Seis claves para pasar de desarrollador full-stack a líder en programación
El mercado laboral que conocemos cambia permanentemente. Según un estudio de la Universidad de Oxford, un 47% de los trabajos que existen en la actualidad no seguirá vigente dentro de 20 años, y 9 de cada 10 profesiones sufrirán una transformación.
En gran medida esto ocurre por la incorporación de nuevas tecnologías en el ámbito laboral, con gran importancia de la ciberseguridad, el Big Data o la programación mobile o web.
¿Qué claves son necesarias para adquirir las competencias profesionales que serán demandadas en el mercado laboral a medio plazo? ¿Qué diferencia a un programador full stack de un "lead developer" (líder en programación con experiencia en frontend y backend)?
Para Fernando Rodríguez, CLO de KeepCoding, la aceleradora de carrera para programadores, "hablamos de lead developer cuando un profesional reúne habilidades en distintos lenguajes de programación junto a las destrezas que le permiten liderar un equipo. La combinación de ambas es fundamental porque un 'lead developer' es mucho más que un full stack, es lo que denominamos en KeepCoding un full circle engineer, es decir pasa de tener una visión completa de la programación a una perspectiva integral en desarrollo”.
Según los expertos de KeepCoding, entre las claves necesarias para convertirse en "lead developer", se encuentran las siguientes:
1. Visión global
Para llegar a ser un "lead developer" es necesario conocer una amplia y variada gama de áreas de programación, desde backend y frontend a desarrollo web o mobile, entre otros; así como conocer el conjunto de herramientas y lenguajes para desarrollarlos.
La clave es saber para qué sirve cada uno de ellos, qué características concretas tienen o por qué han sido desarrollados de una manera específica. No se trata de ser experto y dominar a la perfección un lenguaje o herramienta, sino de conocer lo fundamental de varios, para elegir el más adecuado para cada proyecto.
2. Adaptación por niveles
La pequeña programadora de 10 años a la que Google ya contrató
Para liderar la creación de un nuevo producto, un "lead developer" debe conocer los diferentes niveles para el desarrollo, desde los datos, a la logística o la presentación.
Además de saber adaptarse a cada fase del proceso -construcción, despliegue, mantenimiento y explotación- del producto.
3. Elección óptima de tecnologías
El gran éxito de un "lead developer" es saber crear un software con los lenguajes y herramientas pertinentes para cada proyecto. Su función no es adaptar una problemática a un software tipo que ya conoce, sino liderar el desarrollo de nuevos productos afines a cada necesidad o problemática a solventa, con las herramientas y tecnologías adecuadas.
Por tanto, es un profesional en reciclaje continuo para estar al día de las últimas herramientas y lenguajes de programación que demanda el mercado, a través de formación intensiva y práctica como la que ofrecen bootcamps impartidos por KeepCoding.
4. La programación como arquitectura
Alentarán jornadas laborales reducidas y mayores licencias por paternidad
La principal función de un "lead developer" es diseñar la arquitectura de software adecuada para el proyecto y los recursos con los que cuenta la empresa. El éxito o fracaso final de un proyecto de software con frecuencia se decide en este primer paso.
5. Pensar en código
Al igual que ocurre con el dominio de un idioma extranjero, un buen "lead developer" lo es cuando tiene la habilidad de procesar todos sus pensamientos en código, más que en palabras, y hablar de situaciones cotidianas en términos de algoritmo y programación.
Una capacidad ligada también al interés por compartir y divulgar el conocimiento sobre programación con los demás.
6. Trabajo en equipo
Ser un "lead developer" de éxito está reñido con ser un profesional con excesivo ego.
El objetivo de estos perfiles pasa por buscar la solución más acertada prescindiendo de sus preferencias personales y con capacidad de escucha, empatía, actitud positiva para asumir errores y potenciar los aportes de otros miembros del equipo.
A partir de estas claves, un profesional podría llegar a convertirse en un full stack o lead developer, dos de los perfiles más demandados en el mercado laboral actual por las empresas tecnológicas, cuya demanda no llega a veces a cubrirse por falta de profesionales que reúnan estos requisitos.