Por Alvaro Abril. - Desarrollador Full-stack - Medellín. Colombia - whatsapp: +573053221527
Hoy voy a analizar (desde mi punto de vista), cuáles son las tendencias en términos laborales (cambios acelerados por la pandemia global).
- La escasez de "verdadero talento en programación", ha hecho que se compense calidad por cantidad de funcionarios en un sólo proyecto.
- Se requieren programadores "leales" con las empresas. La guerra de las head hunter por buscar a los más talentosos, se ha trasladado al salario. Esto hace que personas con algún talento (a veces sin talento), estén permanentemente a la caza de ofertas más altas. Esto genera un perjuicio enorme para las casas de software que tienen que ver como los programadores dejan los proyectos, después de haber invertido miles de dólares en ellos, y peor dejando las aplicaciones acéfalas, otras vez esperando a que un nuevo programador tome el proyecto.
- Existe la tendencia a ubicar personas con "cerebros full-stack" que comprendan el problema como "un todo" y no con visiones fragmentadas.
- El tiempo es una limitante general del proyecto, pero cada individuo puede distribuir su tiempo de trabajo (cada día) de acuerdo a sus ciclos de sueño/trabajo.
- La edad no es importante para reclutar un "buen cerebro programador". La experiencia cumple un papel muy importante. En general, los años permiten que la estabilidad emocional juegue a favor un papel importante. Se hace código con una disminución de velocidad, pero con tendencia a cero errores. No se cometen equivocaciones como cuando estábamos en los 20s.
- Reunir físicamente los equipos de trabajo, ya es una utopía. En un mundo conectado, el talento puede estar en cualquier lugar del mundo.
- El inglés es el idioma universal para trabajar en cualquier área del conocimiento.
- Las personas intentan disfrutar más de una vida a su manera. El fenómeno de los "Nómadas digitales" se convierte en un atractivo muy grande para los desarrolladores de software.
- Mentes y Culturas diferentes, permiten la construcción de proyectos más adaptables a diferentes tipos de usuarios, sin importar en qué lugar del globo se encuentren.
- Unificación de lenguajes. Por causa de la llegada de internet, los antiguos lenguajes no fueron suficientemente robustos, con lo cual, nos fuimos llenando de pequeñas partes, que dio origen a muchas especialidades en programación. La tendencia actual, es a recoger todo lo que se pueda en el menor número de herramientas, dando paso al verdadero "full-stack" que puede trabajar un proyecto casi sólo.
- Los equipos pequeños de programadores altamente eficientes priman sobre los grupos grandes donde ninguno de los participantes tiene la visión completa del proyecto.
- Los colivings se convierten en una alternativa interesante. Vivir en un lugar, donde puedes salir de casa y trabajar en una zona comunitaria, rodeado de personas, con las comodidades de un coworking, pero a pocos pasos de la vivienda. Dando paso a un mayor tiempo libre y ahorro de combustible.
- Se requieren personas que sean capaces de encontrar soluciones creativas y muy cortas a nivel de programación, pero a la vez, capaces de evaluar todas las posibles fallas que se puedan presentar en la aplicación, por la interacción del usuario. Ser capaz de ver todas las excepciones, es una virtud de oro de un buen full-stack.
- Ya no importa si eres ingeniero de sistemas o filósofo, o ni siquiera si te graduaste de la universidad o no finalizaste. Lo importante es que tengas el talento y constancia para llevar a feliz término un proyecto.
- Veremos que los programadores tendrán su vida útil al menos hasta los 70 años, y muy seguramente podrán ser contratados desde los 15 años, ante la necesidad apremiante de crear cada día más y mejores aplicaciones.
- La satisfacción del usuario al trabajar con una aplicación será la prioridad al momento de desarrollar.
- Un verdadero "full-stack" además de las herramientas de programación y bases de datos, debe tener una muy buena habilidad en el manejo de herramientas para diseño gráfico y de oficina.
- La habilidad matemática es fundamental para resolver problemas y crear algoritmos de alta complejidad de una forma simple. Si no cuenta con esa capacidad, todos sus conocimientos son estériles.
- La capacidad para saltar de un lenguaje a otro es fundamental. Con tantos lenguajes que hay en el mercado, hay que adaptarse a cambiar y crear scripts o modificar los ya existentes, realizados por otros programadores, en diferentes plataformas o lenguajes. Finalmente la programación es la misma, y uno debe tener esa habilidad.