¿Es normal cuando el equipo no utiliza el trabajo de un ingeniero de software? Esto sucedió 4 veces en los últimos 2 meses. ¿Cómo puedo mejorar esto?

Sí. Es muy común. Soy un profesional experimentado, a veces trabajo durante varios días (o semanas) en algo que finalmente no se usa. Más allá de eso, soy plenamente consciente de que cualquier cosa que escriba está destinada a ser revisada y alterada por innumerables manos y eventualmente, ya sea completamente reescrita o eliminada.

Entonces un par de puntos.

La ingeniería es un deporte de equipo. Quién tiene más líneas de código en el proyecto actual es irrelevante. Lo importante es que el producto funcione y haga lo que se espera.

El código no utilizado nunca se pierde. Digamos que tienes que abordar un problema que nunca has visto. Usted analiza el problema, investiga e implementa una solución A para resolverlo. Se beneficia del análisis y la investigación, y su código existe en algún lugar si necesita volver a implementarlo. Ahora supongamos que a alguien más se le ocurre una solución A + que posiblemente sea mejor. Eso significaría que su análisis fue mejor o que saben algo que usted no sabía. Al estudiar esa solución, puede ampliar su comprensión del problema, especialmente si ha trabajado en él. Como ingeniero, debe preocuparse por su impacto personal, pero como ingeniero junior, diría que las oportunidades de aprendizaje y el desarrollo personal tienen prioridad.

Si propone una idea, y a alguien se le ocurre una idea mejor, todavía está contribuyendo.

Dicho esto, lo que describe no parece normal. Si trabaja en un problema y alguien más trabaja exactamente en lo mismo una semana después, esto es un desperdicio de recursos. Si trabajó en mi equipo y llegó con una solución decepcionante, no aprobaría su código. En cambio, comentaría lo que necesita rehacer y solo aprobará cuando sea muy bueno. Por supuesto, eso tomaría más tiempo que si yo mismo hiciera los cambios. Pero así es como crece tu equipo.

Si las personas deshacen sistemáticamente lo que haces, en lugar de guiarte para que lo hagas tú mismo, debes llevarlo a tu gerente.

Además, si ha sido contratado, significa que un comité de personas con experiencia estaba seguro de que puede tener éxito y escribir un gran código. ¡Buena suerte!

Recuerdo los primeros meses cuando comencé a programar.

Mi tarea principal era ver la pintura seca.
Bromas aparte, era un principiante. La razón por la que me asignaron a ese proyecto no fue porque me necesitaran. Estoy bastante seguro de que fue todo lo contrario, el equipo tenía poco trabajo para ellos. Tenían mucho tiempo para cuidar a los principiantes.

Independientemente de lo que hiciéramos, un desarrollador senior lo haría al mismo tiempo, más rápido y mejor. Los errores / tareas que obtuvimos fueron principalmente para espectáculos, excepto que no fue así. Solucionamos errores, los desarrolladores senior los revisaban y nos corrigían, a veces usaban parte de nuestra solución, si pasaban por alto algo que nosotros no … eso es todo.

Poco a poco aprendimos qué hacer, qué no hacer, cuándo pedir ayuda y cuándo no (para ser justos, aprenderá esto por el resto de su vida)

No importa la idea aprobada siempre que se resuelva el problema. Asegúrese de saber / descubrir por qué esa idea es mejor. Si crees que no es mejor, expresa tus preocupaciones.
Pero recuerda esto. El código no es tuyo. La solución no es tuya. Pertenece al equipo. La persona que hace la revisión del código decide la dirección porque la compañía cree que puede hacer eso (puede corregirlo, pero podría ser solo una preferencia)

Desde mi experiencia, incluso el mejor código puede estar equivocado. Puede volverse inútil con el tiempo, reemplazado o eliminado. Dependiendo del proyecto, lo que sea que escriba ahora, en 5 años. no habrá rastro de ello.

Recuerdo mi primera tarea real. Todos estaban ocupados, yo no. Tendría que escribir un script para enviar un correo electrónico cada x horas, con archivos que se modificaron en el servidor durante ese tiempo.

No fue complicado, pero no tenía idea de cómo hacerlo.
Ese script se usó durante años y llegó a ser el código más antiguo de ese proyecto, pero no importó que fuera obsoleto algún día.

El mayor sentimiento para mí como programador no es quién tiene el honor de comprometerse, es cuando puedes hacer algo que crees que no puedes hacer, o sabes que puedes, pero no sabes cómo.

Como nota al margen, tuvimos desarrolladores senior que duraron unos meses, pero muy pocos de sus códigos se usaron realmente. Son líderes de equipo en diferentes proyectos ahora. Eran hábiles.

En resumen, no, no importa si el código no se elige. Eso solo significa que tienes un gran equipo. Asegúrate de aprender todo de ellos. Es posible que se trasladen a diferentes proyectos, y la próxima vez usted podría ser el que “enseñe”.

(Supongo que la solución utilizada al final por su equipo es realmente mejor)

Esa sensación de no ser efectivo estará contigo por el resto de tu vida. Nosotros, como humanos, somos escaladores, y siempre hay una montaña más grande para escalar.

Thomas Edison – “ No he fallado. Acabo de encontrar 10,000 formas que no funcionarán “.

Eres nuevo y estás obligado a cometer errores. Incluso cuando les diste una mala opción, tenían algo para comparar. Esto es común, y esta es la única forma en que trabajan las compañías de productos. Hiciste tu trabajo y ellos usaron tus resultados indirectamente.

Tómelo como un desafío, debe aprender cuál es la mejor solución que la suya y tratar de mejorar usted mismo. Llegará un día en que su solución será la mejor y luego brillará.

Existe la posibilidad de que esto sea solo una cadena de mala suerte. Tuve un compañero de equipo que escribió un código en el transcurso de algunas semanas que ahora vamos a eliminar simplemente debido a un cambio en la dirección comercial. Fue muy doloroso Este también fue un gran proyecto, pero a veces hay que estar dispuesto a reconocer la situación y seguir adelante.

Para su caso, pasaría tiempo y pensaría en estos eventos. ¿Hubo un tema común? Cuando solicita comentarios, ¿solicita revisiones de código? ¿Qué sucede con el código que “no se usa”? ¿Está revisando el código o se descarta todo lo que escribió? ¿Su trabajo tiene 1 página (documento de diseño corto) que presenta su estrategia de alto nivel para resolver el problema que se le da? ¿Otros en su equipo experimentan la misma situación? ¿Has hablado con tu gerente sobre esta preocupación?

Las respuestas a estas preguntas pueden darle algunas ideas.

Asegúrese de contar con el consenso del equipo antes de comprometerse con una tarea, idealmente solo trabajo en tareas estimadas, y si hay una tarea de vago, la comparto con el tiempo y escribo mis pensamientos y luego los presento al equipo.

More Interesting

¿Es fácil convertirse en un reclutador técnico con experiencia en ingeniería de software? ¿Se necesita alguna capacitación o certificación?

¿Cuáles son las opciones para los estudiantes del instituto de ingeniería no élite para obtener una colocación de alto salario en el campo de la informática?

¿Qué consejo profesional le darías a un desarrollador de software de mediana edad? Estoy en el mercado laboral a los 49 años. Soy fuerte en SQL, C ++, C # y tengo algo de experiencia en JavaScript y ASP.NET.

Estoy obteniendo un trabajo en IBM como probador de software. ¿Cuál es el alcance futuro de las pruebas de software?

¿Por qué los ingenieros de software obtienen salarios más bajos que los graduados de MBA? ¿Hay alguna compañía donde los ingenieros de software obtienen más que graduados de MBA?

Actualmente soy ingeniero de software, pero quiero una mayor variabilidad en el pago en función de mi rendimiento. ¿Qué tengo que hacer?

¿Cómo comenzar con el desarrollo de software? Puedo leer y escribir varios idiomas, pero no sé nada más sobre el desarrollo de software. ¿Qué herramientas necesito para comenzar? ¿Cuáles son las cosas que debo saber?

Cómo cambiar mi carrera de ingeniero de sistemas a programador

¿La ingeniería de software ofrece mejores perspectivas profesionales a largo plazo que la ingeniería mecánica / eléctrica?

¿Se requieren ingenieros de software en todas las empresas?

¿Cómo pasar de tu carrera de desarrollador de software a gerente de proyecto? ¿Debo ir a la escuela de negocios o tomar clases?

¿Es Microsoft Dynamics Axe una buena posición?

¿Quiénes son generalmente 'más inteligentes': técnicos / soporte de TI o desarrolladores / ingenieros?

¿Cuál podría ser el crecimiento de un probador de software si él / ella conoce la automatización o Jenkins?

¿Cuál es la mejor manera para que un desarrollador de aplicaciones web haga la transición a una carrera como probador de penetración?