Soy un desarrollador constantemente infrautilizado, ¿es esto normal?

Soy relativamente nuevo en la industria del software. Trabajé alrededor de 1 año en el gobierno como programador y alrededor de 3 meses en una pequeña empresa de comercio electrónico. Ambas empresas son bastante pequeñas y el equipo de desarrollo consta de un gerente (no técnico), un desarrollador senior y un desarrollador junior (yo).

En ambas posiciones, siempre me encuentro sin trabajo que hacer.

  • La mayor parte del tiempo estoy esperando aclaraciones/información/archivos y me encuentro sin nada que hacer hasta entonces.
  • Siempre arreglo las correcciones de errores pequeños a tiempo y envío correos electrónicos al terminar, preguntando qué sigue.
  • Estoy esperando la dependencia de otro desarrollador para poder trabajar en mi parte del proyecto.
  • He terminado un proyecto y estoy esperando mi próxima tarea.

A veces estaré sin trabajo por un par de horas, a veces estaré sin trabajo por días. Durante este tiempo, ejecutaré pruebas, limpiaré código, leeré documentación y agregaré pequeñas funciones de calidad de vida a las aplicaciones.

Mi pregunta es: ¿Es esto normal para los desarrolladores? ¿Debería simplemente implementar una función sin pedir aclaraciones y luego presentar mis resultados? ¿Debo presentar un proyecto o una función en la que podría trabajar? ¿Qué debo hacer durante mi tiempo de inactividad?

Me resulta difícil pasar el día cuando no tengo nada en el plato.

Is this normal for developers?Depende de la empresa... Should I just implement a feature without askingNo.
Bienvenido a SW dev. Esto es normal. No cambie las cosas sin consultarlo con el jefe, pero hágale sugerencias, especialmente para mejorar las herramientas.
@Bohemian ¿Diría que un desarrollador junior debería recurrir al desarrollador senior si el gerente/líder del equipo no tiene trabajo para dar? es decir, ayudar con su proyecto u obtener algunas tareas pequeñas. Mi preocupación es que esas tareas asignadas puedan chocar con las tareas previstas por el gerente.
Si el gerente no está cerca, parece natural que el hombre mayor tome decisiones menores en su ausencia. Esto solo se aplica si no tienes nada que hacer. Si el gerente le ha dejado tareas, por supuesto, hágalas. No es una ciencia exacta.
Considere preguntarle al responsable de usted qué hacer. Puede haber mucho trabajo pendiente adecuado para esta situación.
Siempre hay más que hacer. Capacitación en línea, familiarización con los procesos comerciales de su empresa y errores atrasados. En mi opinión, no hay nada mejor que recibir un pago por hacer clases de capacitación y mejorar sus habilidades con el dinero de otra persona.
Solo haz algo de trabajo de DevOps. Es muy apreciado, especialmente si vas a escalar algún día.
En 35 años de programación/desarrollador de software, tuve un mes en esta situación. Muy, muy poco común: lo normal es que esté bien sobrecargado y ocasionalmente sentirse como a flote es un relativo alivio. @EthanTheBrave en ese mes aprendí powerbuilder (nunca lo usé realmente) y visual basic (usé ese...)

Respuestas (4)

En resumen: sí, especialmente para los miembros junior de los equipos pequeños (y especialmente los pequeños equipos de desarrollo integrados en grandes empresas).

Debe darse cuenta de que, como desarrollador junior con poca familiaridad con el código base; usted representa una pequeña porción de la capacidad del equipo de desarrollo. Es fácil para usted deslizarse entre las grietas porque su compañero de trabajo principal (con suerte) lo está superando en una gran cantidad. A medida que crece en experiencia (tanto total como con los sistemas de la empresa), esta brecha debería desaparecer.

Recomiendo usar este tiempo para familiarizarse más con el medio ambiente. Las correcciones de errores menores son una excelente manera de familiarizarse con una base de código. Al igual que la documentación, las pruebas de escritura y otros mantenimientos variados.

Además del último párrafo, solicite una tarea de fondo, como documentación o redacción de pruebas. Cada vez que termine o esté bloqueado en su trabajo de mayor prioridad, continúe con la tarea en segundo plano.
Sí, o proponga su propia tarea en segundo plano si el jefe no puede hacerlo. En mi primer trabajo como desarrollador multimedia (principalmente el lenguaje Lingo tristemente extinguido de Macromedia) mi tarea previa era aprender Java y mi siguiente trabajo fue como desarrollador Java (¡mucho más ocupado!).

Habiendo estado en una situación similar, esto es lo que sugiero.

Lo más importante, en mi opinión, es que no te quedes sentado jugando con los pulgares. Esto puede conducir a la depresión de su parte y al desarrollo de malos hábitos en el lugar de trabajo.

En cambio, debe encontrar alguna forma de mantener el compromiso.

Lo que sugiero es buscar proyectos en los que pueda trabajar que estén relacionados con su trabajo.

  • Tal vez su empresa esté utilizando una tecnología obsoleta; podría comenzar a investigar y aprender una tecnología para reemplazarla.

  • ¿Algunos aspectos de su trabajo son repetitivos? Crea una herramienta para automatizarlo.

  • ¿Hay alguna característica de la que cree que se beneficiará su empresa? Por supuesto, créalo, pero no lo confirmes en el código base. Vea si se valora diciendo 'Oh, por cierto, aquí está esta herramienta que creé'.

  • ¿Qué quieres estar haciendo con tu carrera? Aprende esa tecnología.

  • Siempre puede saltar a Stack Exchange y responder preguntas / preguntas de revisión de código.

Ahora, es posible que te sientas mal por hacer un trabajo que no te han dicho específicamente que hagas. Para aliviar esta tensión, sugeriría simplemente hablar directamente con su gerente: 'Oiga, jefe, actualmente estoy esperando en el trabajo, estaba pensando en hacer XYZ mientras espero, ¿le parece bien?'. Entonces

siempre que esté haciendo el trabajo que necesita hacer y su gerente sea razonable, esto debería estar perfectamente bien.

+1 especialmente para la parte de automatización, e intente extenderlo a las necesidades de otros. Especialmente tu jefe. Si tu jefe tiene una tarea aburrida y repetitiva que hacer y puedes automatizarla, es bueno para todos. y sobre todo para tu carrera. No descuide a otras personas, especialmente a aquellas que parecen hacer muchas tareas similares a las de Excel; el potencial de aumento de la productividad aquí suele ser enorme. Y te amarán por hacerles la vida más fácil.

¿Debería simplemente implementar una función sin pedir aclaraciones y luego presentar mis resultados?

Eso es lo único que me opongo a sus preguntas. No hagas nada para lo que no estés autorizado. ¿Qué sucede si un error en su función estropea algo? Agregue sus características en su entorno local en el mejor de los casos.

Como su pregunta original, valore este tiempo libre aprendiendo una nueva tecnología que también es útil para su proyecto actual. Nunca luzcas aburrido o completamente libre, porque esto molestará a tus compañeros de trabajo y jefes, aunque sean ellos los que te mantengan libre o no.

Creo que "Agregue sus funciones en su entorno local" contradice el resto de su objeción. ¿Qué hay de malo en desarrollar una posible función en su propia rama y presentarla como una propuesta de lo que se podría hacer? No está estropeando nada. Podría ser un buen uso del tiempo libre que no tiene una buena dirección sobre cómo usarlo. "No hagas nada para lo que no estés autorizado" es un mal enfoque si no tienes suficiente trabajo asignado.

Como ya entendió, la refactorización y la búsqueda de errores son actividades que los desarrolladores de software siempre deben realizar cuando no están ocupados con otras tareas.

Trate de familiarizarse con el código base de la empresa. Leer código siempre es instructivo, pero es aún más valioso para los jóvenes programadores. Si te encuentras con cosas que no entiendes: felicidades, acabas de encontrar algo nuevo que aprender. Si algo le molesta, intente averiguar el motivo (el control de versiones y el rastreador de errores pueden ayudar), o pregúntele al desarrollador senior en uno de sus momentos menos ocupados.

No estoy seguro acerca de este voto negativo. ¿Qué tiene de malo esta respuesta?