¿Cómo señalar una falta de estrategia de desarrollo de software sin sonar como un escéptico?

Trabajo como ingeniero junior en una pequeña empresa de unos pocos cientos de personas. Soy el primer empleado en lo que la empresa dice que será el nuevo departamento de big data. Esto significa que no hay procesos implementados sobre cómo se realiza el trabajo, ni control de calidad, ni herramientas, ni un entorno de desarrollo local/remoto.

Muchas veces esto resulta ser un obstáculo en mi trabajo y tengo que señalar constantemente que tengo pocos recursos, que las tareas van más allá de lo que se puede lograr en un corto período de tiempo, que carecemos de una gran cantidad de tecnología de datos, o que aumentar las tecnologías de big data no es lo mismo que otras áreas de desarrollo de software y requiere más tiempo y esfuerzo, o que necesitamos la presencia de un ingeniero/arquitecto sénior para ayudarnos a trazar el rumbo.

Un ejemplo de una tarea sería procesar una gran cantidad de datos en un sprint de 2 semanas mientras no tengamos las herramientas para realizar un desarrollo exploratorio.

Esto me ha dado la reputación de ser escéptico acerca de mis tareas a pesar de que trato de lograr todo lo posible con los escasos recursos a mi disposición. Mi corazonada es que el gerente de ingeniería y/o el gerente de producto no entienden las complejidades de las tareas en cuestión, que no les importa o que están más preocupados por la reputación que por hacer el trabajo real.

¿Cuál es una forma educada de decir que necesitamos planificar nuestra estrategia de trabajo para que sea más o menos funcional sin sonar como un escéptico?

¿Cómo gestionan otros desarrolladores la expectativa de gestión?
@Helena No son un departamento nuevo y tienen un flujo de trabajo optimizado para ellos. La responsabilidad de administrar las expectativas de los superiores recae en sus respectivos gerentes.
@gnat En parte, sí. Me refiero a que un departamento sea disfuncional (?) en lugar de estar atascado con demasiado trabajo. :)
¿Explica en detalle por qué se necesitan los recursos que necesita?
@ThorbjørnRavnAndersen ¿Cuál sería un buen ejemplo de explicación en detalle? Tal vez no lo estoy haciendo lo suficientemente bien. :)
Escribes un párrafo completo sobre cosas no específicas que absolutamente necesitas tener para hacer tu trabajo. ¿Qué son esas cosas y por qué las necesitas? Explícanoslo, como lo harías con esa persona que tendría que pagar por ellos.

Respuestas (2)

Aprovecha la oportunidad de construirlo tú mismo

Dependiendo de su empresa/situación real, esto podría no funcionar. Puede que ni siquiera funcione en la mayoría de las situaciones. Pero lo hizo en la mía, con resultados espectaculares para mi carrera, así que lo considero como una opción.


Situación:

Le han entregado un departamento completamente nuevo sin sistemas, procesos, documentación, empleados existentes o cualquier otro tipo de infraestructura. Debe ponerlo en funcionamiento de inmediato porque hay trabajo en curso que no se puede retrasar.

Y ahí está la oportunidad.

Este departamento necesita ser construido. En la mayoría de las empresas, eso lo harían personas con experiencia y experiencia que hayan realizado un trabajo similar con anterioridad. En cambio, te tienen a ti.

Si algún día quiere convertirse en ese ingeniero senior, esta es su oportunidad de obtener una experiencia invaluable y lograr resultados que acelerarán su carrera cinco años.

En mi caso, el empleado anterior se fue. Me entregaron una hoja de cálculo, una bandeja de entrada, documentación en gran parte inútil y me pidieron que me hiciera cargo de todo. Así que lo hice.


¿No tienes un proceso? Inventa uno.

¿Sin control de calidad? Cree su propia lista de verificación de control de calidad. ¿No tienes idea de cómo hacer eso? Googlea un poco. Copia el de alguien más y ponte en marcha. Actualízalo a medida que avanzas.

¿Sin herramientas? Construye tu propio. ¿Necesita pagar por una herramienta de terceros? Encuentre una versión gratuita que haga el 90% de lo que necesita y trabaje con eso. O preséntale un caso a tu jefe. Si retroceden, compare con otros departamentos de su empresa y lo que normalmente tienen que gastar en herramientas para justificar por qué es estándar y necesario.

Si es barato, considere pagarlo usted mismo. Sí, es un mal precedente para sentar. Sí, no es algo a lo que debas recurrir en una empresa funcional. Pero si £ 50 al mes es lo que se interpone entre usted y el avance profesional, simplemente pague las £ 50, produzca resultados increíbles y trabaje para persuadir a su empresa de que pague por ello más adelante.

Configure su propio entorno de desarrollo. Su empresa tiene un sistema estándar que utilizan para ello, en cuyo caso solicite a las personas/departamentos pertinentes que lo configuren/obtengan una licencia. O no lo hace, en el que elija una versión barata y / o gratuita de Internet que parezca que podría funcionar y vaya con eso.

¿Necesita la perspectiva de un ingeniero/arquitecto senior? Vaya a buscar algunos en Internet y compre sus libros / lea sus blogs / hágales preguntas sobre el intercambio de pila / invítelos a chatear.

Pruebe las cosas. Iterar sobre la marcha. Haz lo que tengas que hacer para obtener resultados. No se preocupe por construir a largo plazo todavía. Tu trabajo es construir algo que funcione primero. Rápido, sucio, pirateado, lo que sea. Una vez que tenga algo que funcione, trabaje para mejorarlo gradualmente.

No tiene idea de lo que está haciendo, así que no dedique tiempo a nada que no vaya a producir beneficios útiles e inmediatos. Si la refactorización que desea hacer no se paga sola hasta 3 meses después, olvídese. Su comprensión de los requisitos, las opciones y lo que no sabe que no sabe habrá cambiado tanto para entonces que querrá arrancarlo todo y empezar de nuevo. Lo cual tendrás que hacer al menos un par de veces.

Esta es su oportunidad de aprender y avanzar sin restricciones, limitado solo por lo duro que trabaja y lo rápido que puede aprender lo que necesita saber para producir resultados útiles. Sin nadie allí para guiarte, sí. Pero tampoco nadie allí para detenerte.


En mi caso, trabajé casi hasta el punto de agotarse, lo cual no recomiendo, pero también construí todo ese departamento comenzando desde cero con cero experiencia relevante en el espacio de un solo año. En ese momento contratamos a un analista para que se hiciera cargo de todo el trabajo que me quitaba el tiempo, porque era necesario hacer el mismo trabajo en otras partes más importantes de la empresa.

Incluso si su jefe u otras personas donde trabaja no lo aprecian, será una experiencia atractiva para cualquier otra persona que quiera contratarlo. Y esa actitud de hacer lo que hay que hacer y avanzar tan lejos y tan rápido como seas capaz te llevará a donde quieras ir en tu carrera.

Estoy a favor de mostrar la iniciativa, pero anda con cuidado. Lo he hecho antes y me valió el doble de trabajo para mantener lo que implementé y el doble de trabajo. De hecho, pensaron que realmente mostré una gran iniciativa, así que despidieron a mi jefa, me dieron sus responsabilidades también, y no cambiaron el título, ni cambiaron el pago aparte del COLA estándar del 3%. Trabajaba de 60 a 70 horas la mayoría de las semanas, trabajando en proyectos especiales para el director ejecutivo, y después de que se agregaron más responsabilidades, tuve una crisis nerviosa. Entonces, mi experiencia puede ser única, pero ten esto en cuenta para que no te pase lo mismo.
Aparte de poder trazar un diagrama de flujo en los procesos, probablemente no sea factible pagar de su bolsillo por un sandbox/entorno de prueba/automatización de control de calidad/DevOps, etc. Por lo general, cuesta decenas de miles de dólares. Y, el CIO/CTO/Comité Directivo de TI probablemente no estará contento si un ingeniero junior se involucra en la implementación debido a la seguridad de los datos, la celebración de un contrato, etc. Por último, su jefe probablemente no estará contento si continúa sin aceptación de él y podía verlo como si fuera por encima de su cabeza. Leer: forbes.com/sites/85broads/2014/03/21/…
@ sm_01 Como dije, podría no ser aplicable. Sólo una posibilidad a tener en cuenta.
Hiciste algunos buenos puntos, solo estaba compartiendo algunas posibles ramificaciones para que el ingeniero júnior pueda tener eso en cuenta en su decisión de cómo proceder. ¡Salud!
@sm_01 ¡Saludos a ti también!

He estado en situaciones similares antes, y no es fácil. El trabajo se vuelve exponencialmente más engorroso e ineficiente sin los procesos y las herramientas adecuadas para hacer bien el trabajo. En las pocas ocasiones en las que asumí un rol en un nuevo departamento, o en las que cubrí un rol de nueva creación, siempre hubo deficiencias en los procesos, herramientas, sistemas y recursos financieros o humanos.

Dado que usted trabaja para una pequeña empresa, no es de extrañar que falten en varias de estas áreas. Después de todo, es probable que tengan menos capital, flujo de efectivo e instrumentos de deuda que las empresas más grandes, y eso limita su capacidad de reinversión en todas las facetas del negocio. Dicho esto, es posible que su lista de deseos caiga en oídos sordos si simplemente no hay dinero en el presupuesto, pero si puede demostrar de manera efectiva qué medidas de ahorro de costos o eficiencias se pueden obtener al implementar las diversas soluciones, entonces su jefe puede ser capaz de transmitir esos puntos a la(s) persona(s) a cargo de las finanzas (CEO, CFO, Controller, etc.). Nota: aquellos que tienen el control del presupuesto casi siempre buscarán compensar los costos de implementación con ahorros de costos en otras áreas, así que transmita de dónde cree que podrían provenir esas eficiencias.

Sería beneficioso para usted aprender a "administrar" de manera efectiva. Dirigir hacia arriba es cuando un subordinado maneja a su jefe usando varias tácticas y estrategias. Se puede encontrar buena literatura sobre el tema en Harvard Business Review y la Association for Talent Development . Uno de los principios clave en la gestión es buscar desarrollar una relación simbiótica con su jefe ayudándolo a lograr los objetivos departamentales de una manera positiva y productiva.

Recomendaría una breve reunión entre usted y su jefe. Si tiene reuniones individuales programadas regularmente con él/ella, considere usar ese intervalo de tiempo como una oportunidad para comunicar su caso de negocios para los procesos y sistemas que cree que son necesarios para un desempeño óptimo en el trabajo. Si no tiene reuniones regulares, solicite una breve reunión de 30 minutos para revisar sus áreas de preocupación. El tono de la reunión debe ser positivo y debe llevarse a cabo de manera que su jefe se ofrezca a ayudarlo a resolver los problemas. También recomiendo proporcionarle a su jefe una presentación de PowerPoint sucinta y concisa en formato de viñetas que aborde los problemas clave que ha identificado. Como me había aconsejado uno de mis mentores de nivel SVP cuando era más joven en mi carrera,"Si me plantea una inquietud a mí o a cualquiera de sus otros jefes en el futuro, siempre esté preparado para presentar opciones para resolver el problema, los pros y los contras de cada una de esas opciones, así como su recomendación" . Esa retroalimentación me ha servido bien desde entonces. Si puede aprender a administrar con éxito, será más probable que obtenga un resultado exitoso para su objetivo, por lo que le recomiendo leer los artículos citados anteriormente.

Tenga en cuenta que la gestión puede salir terriblemente mal si se aborda de la manera incorrecta, así que mantenga el tono de la discusión positivo y trate de abstenerse de decir algo como "No puedo hacer mi trabajo sin XYZ", o pueden considerar buscar alguien que pueda

Toda la suerte. Te deseo lo mejor en tus esfuerzos.