Encontré una forma más sencilla de hacer la tarea que podría haberme ahorrado de 2 a 3 semanas, pero no estoy seguro de cómo reaccionará el jefe [cerrado]

Estoy trabajando como desarrollador junior en una pequeña empresa emergente. Aunque soy junior y es mi primer trabajo, trabajo de forma independiente y también tengo experiencia en prácticas. Actualmente estoy trabajando solo en un proyecto para fusionar dos aplicaciones web en una sola. He estado trabajando en él durante 2 o 3 semanas y he progresado mucho en la refactorización, pero todavía hay muchos problemas y errores.

Ayer me di cuenta de una forma más sencilla de hacerlo. Siento que terminará el proyecto en solo 2 días y será un enfoque mucho menos defectuoso, pero hará que todo el trabajo que hice durante las últimas 2-3 semanas sea inútil.

El problema es que mi jefe tiene expectativas muy altas de mí (desafortunadamente en el mal sentido). Espera ver muchos cambios en el código cuando termine la tarea, ya que me he tomado un tiempo considerable. Si lo hago de la manera nueva, tengo miedo de que me atrape porque me tomó mucho tiempo y solo hice dos días de trabajo.

Sé que estas cosas pasan en la programación pero desafortunadamente mi jefe no es una persona muy comprensiva. También me ha recordado una vez que trabaje más rápido (después de 2 días en un nuevo proyecto en el que comencé a trabajar... él prefiere la rapidez a la calidad).

Me siento inclinado a hacerlo por el camino largo (el que estoy haciendo durante las últimas 2 a 4 semanas) para salvarme. ¿Qué tengo que hacer?

Trabajar en alguna dirección para darse cuenta de que es mejor trabajar en otra dirección no hace perder el tiempo; estabas entendiendo mejor el problema
Solo por curiosidad, ¿cómo sabrá él la diferencia entre la solución que ha usado, la de 2 días o la de 2 semanas? Suena como que hay una falta de confianza aquí.
@JeffO Cambios en github. La refactorización mostrará mucho trabajo
@BuggyCoder: si ha estado enviando código a github durante dos semanas y luego lo reemplaza todo con el código que escribió en dos días, no lo veo como un problema. Encuentro que la mayoría de los refactores no toman tanto tiempo como el código original (que era inferior) porque ahora sé lo que realmente se necesita hacer. Si tu jefe no entiende cómo trabajan los programadores, no sé si puedes educarlo lo suficiente. Uno pensaría que alguien capaz de ingresar a github y evaluar su trabajo lo sabría mejor, pero su jefe es un poco idiota.

Respuestas (3)

Cuando trabaja en TI, es común que el trabajo realizado más tarde invalide el trabajo realizado antes. Tampoco debe tener miedo de proponer una mejor solución cuando cree que ha encontrado una. Solo asegúrese de haber considerado los pros y los contras de la nueva solución y recuerde que existe la posibilidad de que su nueva solución "mejor" no se ponga en práctica. En este caso, no se enfade ni se muestre rencoroso ni se sienta mal por ello, en el mundo empresarial sucederá muy a menudo que se tome una decisión con la que no esté de acuerdo. A veces es realmente la decisión correcta y no puedes verla porque no tienes toda la información. A veces no es la decisión correcta y este hecho se hará evidente cuando algo salga mal. Eso'

Al proponer la solución, asegúrese de utilizar el lenguaje adecuado. Por ejemplo:

Hola jefe, creo que he encontrado una solución mejor para nuestro problema de foo. Actualmente estamos bloqueando el foo, pero si usamos fizz para hacer sonar, creo que podemos hacer el trabajo antes y el código será más fácil de mantener. La desventaja es que no tenemos mucha gente con experiencia en efervescencia, pero no es muy difícil de aprender, así que no creo que sea un gran riesgo. ¿Qué piensas?

Pero me preocupa que mi jefe no esté muy contento de que perdí mi tiempo en una solución anterior y me llame incompetente. Soy desarrollador junior y aunque soy bueno, él tiene demasiadas expectativas de mí que no puedo cumplir todo el tiempo. Todos mis empleadores anteriores han estado muy contentos con mi trabajo, incluso el actual, pero él parece estar siempre conmigo para trabajar más rápido.
@BuggyCoder Puede que te llame incompetente, pero eso no significa que sea cierto. Es muy común que te tropieces con una mejor solución mientras haces el trabajo. También es muy común que mientras se hace el trabajo, el problema es mucho más grande y más complejo y llevará más tiempo hacer el trabajo. El tiempo que 'perdiste' es técnicamente un desperdicio, pero hasta que tuviste la mejor solución, fue lo mejor que pudiste hacer, por lo que no es realmente un desperdicio. También es muy posible que su jefe no esté de acuerdo con que la nueva solución sea mejor y opte por apegarse a la anterior.
@BuggyCoder: Llevaba 90 días en un proyecto cuando fui a ver a mi jefe y le dije que si cambiábamos el idioma podría hacerlo desde cero en una semana. Dijo que lo hiciera y lo entregué una semana después. Recibí un bono. Nunca tengas miedo de repensar lo que estás haciendo.

Por experiencia propia he aprendido que el camino más corto no es necesariamente el mejor. Puede parecerte una solución celestial lo que has encontrado, además los beneficios serían geniales: terminarás el trabajo mucho más rápido, serás apreciado y tu imagen será mejor. Pero considera que eres un junior, y muchas cosas que aún no sabes. Es posible que su solución no funcione o devuelva otros resultados de los esperados. Por lo tanto, es arriesgado: eventualmente podría terminar despedido si no tiene éxito.

Cuando era Junior también tenía ideas, pero lo que hacía (y me parece una buena opción) era siempre pedirle a alguien con más experiencia un consejo u opinión sobre mi idea. Algunas ideas fueron seguidas por: Agradable, interesante. Deberías hacerlo. , mientras que otros fueron seguidos por: Ok, pero ¿has considerado este hecho? . En ese momento mi idea me pareció peor, porque el hecho mencionado por un tipo experimentado, no lo estaba considerando.

La forma segura , desde mi punto de vista, es encontrar a alguien (estás trabajando solo, por lo que puede ser de otro equipo , o incluso otro amigo que trabaje en el mismo campo ) con más experiencia y preguntarle qué piensa al respecto (tu solución, no su proyecto si tiene una cláusula de confidencialidad en su contrato). No hagas nada hasta que tengas una respuesta clara y cierta. Incluso puedes pedir más de una opinión. Es más seguro y al final, si tienes éxito, simplemente se lo entregas a tu jefe y le dices que está hecho. No dejes que sienta que fue un trabajo de dos días y lo has terminado en 2 semanas. Terminaste ahora , eso es lo que tiene que saber.

Por otro lado, es menos seguro, es bastante arriesgado : simplemente impleméntelo de la forma en que se ha dado cuenta, pero piense en las posibles consecuencias si falla, según la importancia del proyecto: lo peor es despedirlo. Otro puede ser recortar un porcentaje de su salario, perder su bono de desempeño y así sucesivamente (usted sabe mejor).

No me malinterpreten, es bueno tomar riesgos. Pero es bueno tomar riesgos que tiene una alta probabilidad de ganar. Si no lo hace, tómese su tiempo y piénselo dos veces. Puede salvar su trabajo, su carrera y, en otras situaciones, su vida.

Desafortunadamente, la única otra persona técnica en mi pequeña empresa es mi jefe. También tiene la costumbre de revisar mi código cada vez que lo presiono (no como revisión de código, sino para tener una idea de cuánto trabajo hice)
Luego pida ayuda externa y si no puede ocultarle el tiempo a su jefe, entonces sea honesto. Parece que no tienes muchas alternativas.
¿Por qué no simplemente discutir con el jefe entonces? ;)

Concéntrese en el resultado, no en el cronograma o el tamaño del esfuerzo.

Ahora bien, esto es mucho más complicado de lo que piensas.

Muchas veces en el trabajo, podemos encontrar formas mejores o más fáciles de hacer las cosas. Muy a menudo nos damos cuenta después de que todo está hecho. Sin embargo, no sorprende en absoluto y no está mal que encuentre una mejor manera de lo que pensó su jefe.

Si, de hecho, tiene una mejor manera de trabajar, primero consulte a su jefe y dígale su manera y cómo será fácil. Hay muchas posibilidades aquí:

  1. El jefe realmente podría apreciar su inteligencia y ciertamente lo ayudará a reducir su tiempo objetivo. A ningún jefe sensato le disgustará el hecho de que un subordinado haya tenido una idea mejor.

  2. El jefe también puede ser consciente de ese enfoque, ¡pero simplemente elija no tomar el atajo! La decisión detrás de por qué le pidió que tomara un enfoque específico que toma 2 semanas, en lugar de algo que tomará 2 días, podría deberse a razones que él conoce. Entonces, si regresa con él y pierde 2 semanas más tarde solo para darle el trabajo basado en un enfoque alternativo y ese enfoque tiene un problema desde el punto de vista de su jefe: ¡ha creado un problema para todos!

  3. Sobre todo, comunicar y mostrar su enfoque (en lugar de apegarse al antiguo enfoque o desperdiciar 2 semanas pero adoptar un nuevo enfoque) funcionará tanto para ayudar a mejorar su credencial como la confianza en su jefe sobre usted. Por otro lado, si a su jefe no le gusta su solución, aún aprenderá por qué la quiere de cierta manera.

Por supuesto, comuníquese con su nueva idea y luego llegue a una conclusión en consenso con su jefe sobre lo que debemos hacer ahora.