Hay muchas ventajas de tener un desarrollador mayor y más experimentado en un equipo, tanto en habilidades técnicas como en efectividad de equipo.
Su pregunta implica que un desarrollador antiguo no puede adquirir habilidad en tecnología reciente. Esto no es verdad. Los buenos desarrolladores aprenden muchas habilidades nuevas y continúan aumentando sus habilidades cada año, ya sean jóvenes o viejos. De hecho, cuanto más mayores son, más experiencia tienen adquiriendo nuevas habilidades.
Tener un desarrollador senior en un equipo también puede ser un multiplicador de fuerza para el proyecto:
- ¿Cuál es la diferencia entre la ingeniería informática y la ingeniería informática y de comunicaciones?
- ¿Realmente necesito estudiar computadoras en una universidad para convertirme en programador?
- ¿Tendré problemas para encontrar pasantías de ingeniería de software a finales de mis 20 años?
- PhD vs. Job: Me encanta la investigación, pero sé que no puedo enseñar. ¿Cómo elijo?
- Cómo obtener un título universitario en ciencias de la computación si tengo una baja calificación en matemáticas
- Tutoría de desarrolladores junior en métodos y patrones de programación.
- Resolver problemas de depuración que llevarían días o semanas para desarrolladores con menos experiencia.
- Fomentar las mejores prácticas como pruebas y diseño.
- Servir como líder de equipo para grupos pequeños, organizar tareas, verificar el progreso.
- Defender el equipo de los gerentes que dan tareas irrazonables.
En 2007, fui contratado como desarrollador principal en un proyecto llamado Zend Framework, un marco de aplicaciones web PHP. No conocía PHP cuando me contrataron (lo tuve claro en la entrevista). Pero en unas pocas semanas estaba cometiendo más código PHP que cualquier otro desarrollador en el proyecto, estaba revisando el código del trabajo de otros desarrolladores y revisando las contribuciones de la comunidad. Volví a programar el proyecto, lancé muchas versiones beta y finalmente una versión 1.0. En 2008, Zend Framework recibió un premio Jolt Productivity Award.
Mientras era líder de equipo para ZF, recibí una orden de los cofundadores de la compañía de que yo y los otros desarrolladores que supervisaba deberían cambiar nuestro editor de código al IDE aún no publicado para PHP que nuestra compañía estaba desarrollando. Teníamos un calendario apretado de desarrollar versiones nosotros mismos, y cambiar nuestro entorno de desarrollo habría interferido con nuestra velocidad. Pero ellos son los jefes.
Entonces respondí: “Sí, podemos cambiar nuestro enfoque y trabajar como control de calidad para su IDE inacabado. Pero eso resultará en un retraso de varios meses en la finalización de nuestro proyecto ZF “.
Los cofundadores lo disputaron. Insistieron en que el IDE era tan bueno que aumentaría nuestra productividad. Entonces, en todo caso, deberíamos cumplir con nuestra fecha límite si cambiamos a usar el IDE.
Le expliqué: “No según la investigación. Robert L. Glass muestra en su libro Facts and Falacies of Software Engineering que cambiar las herramientas de desarrollo de software reduce la productividad a corto plazo, incluso si resulta en ganancias de productividad netas más adelante. Cualquier desarrollador necesita tiempo para aprender a usar una herramienta de manera efectiva. Además, este producto IDE todavía está en desarrollo y tiene muchos errores. Lo he intentado y se bloquea, mucho. Además, la documentación aún no está escrita, por lo que si tenemos preguntas, tendremos que molestar a los desarrolladores de IDE, que también retrasarán su trabajo “.
Finalmente, se nos permitió usar las herramientas con las que éramos productivos y nuestro proyecto se realizó a tiempo. Siento que mi experiencia como desarrollador sénior que conocía las trampas y podía hacer retroceder a la gerencia ayudó a mi equipo a cumplir con los plazos y tener éxito.