¿Qué debe hacer un desarrollador de software cuando la empresa ofrece cargas de trabajo y plazos poco realistas?

Estaba en una situación similar en mi primer trabajo fuera de la universidad. Empresa de consultoría relativamente pequeña que logró enganchar un contrato bastante bueno de un cliente muy importante sobre otros postores que incluyeron Accenture y otras empresas mucho más grandes / más establecidas principalmente al acordar completar la primera y más crucial fase del proyecto en una fracción del tiempo (no estaba al tanto de los detalles exactos, pero algo similar a Accenture decía que necesitaban al menos 10 meses, el cliente realmente esperaba 8, les aseguramos que podíamos hacer 7,5). Si bien estaba bastante ansioso por mojarme los pies en mi primer puesto de no pasantía y confiaba en las habilidades de mi equipo, estaba bastante claro desde el principio que 7.5 meses fue un gran estiramiento. Si bien los primeros dos meses transcurrieron sin problemas, especialmente teniendo en cuenta que los desarrolladores principales estaban absorbiendo la mayor parte de la carga de trabajo, pronto se me pidió que completara las características o que tuviera una prueba aproximada de los conceptos realizados en cuestión de días para los elementos que normalmente llevarían a alguien a mi nivel semanas si no un mes completo para implementar adecuadamente. En el transcurso del proyecto, esto se tradujo en 60 horas semanales de trabajo y luego 70 y luego hasta 80 cerca de la recta final. El proyecto se realizó, la empresa recibió un pago, y nadie fue despedido / tuvo un colapso, pero el resultado fue un producto insatisfactorio, marginal, insatisfactorio del que nadie estaba particularmente orgulloso.

En mi situación, todo mi equipo estaba sufriendo las decisiones que los altos mandos habían tomado en términos de prometer un producto completo en un límite de tiempo loco. Primero mencioné los problemas al desarrollador principal al que informé y luego al desarrollador principal junto con el desarrollador principal. Si bien no había mucho que hacer, me aseguré de subir la escalera peldaño por peldaño en lugar de ir directamente al gerente del proyecto para presentar una queja. Puede considerarse irrespetuoso ir directamente a los altos mandos en lugar de a la persona a la que se supone que debes informar directamente, y, francamente, de alguna manera necesitas pasar por alguien más mayor que tú si eres de nivel junior y quieres tus preocupaciones ser tomado en serio. Si intenta esto y termina en una situación como la mía (es decir, las personas simpatizan pero no pueden hacer nada), entonces tiene la opción de resistir o comenzar a buscar un nuevo trabajo. Me aseguré de expresar mi desaprobación con respeto y me aseguré de que las personas con las que informaba supieran que tenía el proyecto en mente con mis preocupaciones. En otras palabras, no era “¿Ustedes realmente esperan que trabaje durante 70/80 horas esta semana nuevamente? Estoy agotado y no me pagan lo suficiente por esto ”. Fue “¿Cómo pueden confiar en mí para producir un buen resultado en X días cuando creo que debería tomar semanas? Puedo obtener algo para que el cliente lo vea, pero creo que la base de código sufrirá y provocará más problemas en el futuro ”. Tuve la suerte de trabajar para una empresa que recompensó a sus trabajadores y terminó recibiendo un bono del 15% después de 6 meses como recompensa (que puede no parecer una tonelada para algunos, pero un bono de 10k + a mitad de año para un joven de 22 años fue increíble en el momento). Dicho esto, me fui poco después del lanzamiento del producto y el equipo entró en la fase de mantenimiento. El código era imposible de mantener, desordenado y lleno de una tonelada de errores que estaban cubiertos con cinta adhesiva para el lanzamiento inicial. En mi situación, elegí resistir el momento difícil cuando no había nada que hacer, la compañía me recompensó y decidí irme en mis propios términos poco después. Esto puede no ser idéntico a su situación, pero las conclusiones para usted deberían ser …

  1. Sea respetuoso con la forma en que expresa sus preocupaciones. Hágales saber, pero también hágales saber que tiene en mente las mejores intenciones del proyecto.
  2. Sube la escala de antigüedad adecuadamente, no hay casi nada bueno que pueda resultar de informar a tu PM o un socio directamente detrás de la espalda de tu desarrollador senior
  3. Tener un plan de contingencia. Tal vez la compañía entienda su situación, pero se encuentra en un momento difícil en el que necesita que TODOS sus desarrolladores trabajen más de 60 horas a la semana. Tal vez simplemente no les importará una mierda tu situación.
  4. Comienza a pensar más allá de la compañía específica y lo que TÚ quieres para tu carrera. En última instancia, me fui a un trabajo mejor remunerado (sin culpa directa de la empresa, los salarios tienden a aumentar drásticamente después de su primer puesto y terminé justo en el rango de 6 cifras a la edad de 23 años, lo que fue realmente difícil de aprobar arriba), pero mis razones principales para irme eran dobles y no tenían nada que ver con la compensación. En primer lugar, ya no quería trabajar entre 70 y 80 horas a la semana y, aunque el proyecto se había apagado, el hecho de que mi equipo lo hubiera logrado con éxito significaba que la gerencia tenía, si acaso, más incentivos para ofertar por contratos con plazos ridículos. En segundo lugar, me di cuenta de que aunque estaba escribiendo una TONELADA de código y sacando mucho material al mundo real, en realidad no estaba aprendiendo mucho. En todo caso, estaba adoptando malos hábitos y pirateando cosas juntas simplemente para que las cosas funcionen. Salté de barco por un trabajo mejor pagado, pero en realidad, estaba listo para partir por uno con un salario idéntico en ese momento de mi vida.
  5. No he mencionado esto en absoluto, ya que no hay indicios directos de que pueda ser relevante, pero considere la posibilidad (tan pequeña como cree que puede ser) de que puede estar equivocado. Conozco a muchas personas que realmente piensan que algo más de 40 horas sin tiempo extra es criminal y se enojarán si se les pide que se queden una hora extra un jueves para hacer una tarea muy básica. Conozco a personas que toman descansos de 30 minutos por cada 30 minutos de código, ven videos de Youtube mientras el resto del equipo se aleja y luego se quejan de que sus plazos no eran realistas cuando la demostración que tienen que presentar a su desarrollador principal no funciona . Obviamente no digo que sea necesariamente usted, pero tenga la inteligencia para darse cuenta de que quejarse de trabajar 45 horas a la semana es probablemente una idiotez si el resto de su equipo registra constantemente más de 50.

¡Mucha suerte, espero que todo salga bien!

Mi respuesta es más corta que la de Ken, aunque él hace algunos buenos puntos, renuncia. Encuentra un nuevo trabajo. Vas a arruinar tu salud. Mi salud se arruina debido a trabajar bajo las circunstancias exactas que usted y Ken están describiendo. No tengo cerca de 70 años, pero tengo las arterias de 70 años. Debería haber escuchado a mi madre y entrar en la silvicultura.

Recoge tu experiencia y habilidades y vete.

More Interesting

¿Cuáles son los próximos pasos para que un programador crezca, suponiendo que ya tiene la habilidad suficiente para recibir un pago considerable?

¿Qué tan bueno es MacBook para software y aplicaciones de ingeniería electrónica?

Cómo pasar de cero a héroe en la profesión de informática o software

¿Cuál es la mentalidad que todo desarrollador debe tener al desarrollar nuevas funciones y mantener las antiguas?

¿Qué es una arquitectura de microservicios y cuáles son sus buenos usos?

¿Cómo creo un programa que determina la relación de dos temas usando el Árbol de categorías de Wikipedia?

¿Quién maneja una cartera de pedidos?

¿Qué partes del ecosistema de Java son las más valiosas a partir de 2014?

¿Cómo funcionan las herramientas de cobertura de código, como Istanbul for Node.js, para las pruebas de software?

¿Por qué lleva tanto tiempo incorporar la ley en nuestros automóviles, teléfonos y software en general? ¿Y qué industria se beneficiará más del impacto inmediato de conocer la ley en el punto de toma de decisiones?

¿Cuáles son los beneficios de estudiar un proyecto de código abierto que no es popular?

¿La experiencia en un perfil de prueba cuenta en un perfil de desarrollador, si la solicito?

¿Cómo es ser ingeniero de software después de especializarse en ingeniería eléctrica? ¿Alguna ventaja del conocimiento de ECE?

¿Cómo se sienten los ingenieros de Silicon Valley por haber sido engañados debido al amplio cartel de fijación de salarios?

¿Cuáles son los mejores cursos para OOP?