Un mejor título para este post habría sido “Los profesionales de desarrollo más demandados el 2018”, pero este me pareció más entretenido. Cualquier gerente o recruiter que haya buscado un desarrollador Java bilingüe recientemente entenderá la ironía. Esta posición es bastante difícil de llenar, especialmente si le sumas que buscas un desarrollador Java nivel empresarial.
Hace 20 años, contratar programadores era barato, pero tenías que pagar caro por los lenguajes y los servidores de aplicaciones. Hoy puedes usar Java y Apache “gratis”, pero los desarrolladores son caros y difíciles de encontrar.
¿Por qué son tan difíciles de encontrar? Son varias razones, en primer lugar, Java es el lenguaje para el que se abren más posiciones. El listado completo para el 2018 es el siguiente:
- Java
- Python
- JavaScript
- C++
- C#
- PHP
- Perl
Ahora Java no solo es el lenguaje para el que se ofrecen más puestos de trabajo, es decir, para el que hay más demanda por parte de las empresas. Cuando metemos la variable “empresarial”, la cosa se hace más difícil, porque una cosa es programar una aplicación stand alone en Java y otra las complejas arquitecturas empresariales actuales, con múltiples capas, frameworks, APIs, etc, etc. Esto no lo aprendes en la universidad o en tu casa (como podría ser el caso de PHP o JavaScript), esto lo aprendes en una empresa grande, lo que reduce aún más el pool de desarrolladores que cumplan con el requisito.
Para hacer la cosa más difícil, sumémosle ahora el inglés. Las empresas grandes suelen ser transnacionales con proyectos globales y también hay muchas empresas que ponen sus centros de desarrollo en Latinoamérica para reducir costos.
Entonces, como en la teoría de conjuntos, la intersección de los conjuntos “Sabe Java”, “Sabe inglés” y “Sabe programar aplicaciones empresariales” es pequeña y hay una gran demanda de empresas peleando por este selecto grupo.
Debido a esto, mi recomendación personal a cualquier gerente de desarrollo de software armando un equipo es que no intente llenar todas sus posiciones con perfiles Java Senior. La experiencia (no solo mía) ha demostrado que es bueno incorporar perfiles más junior al equipo. De esta manera, puedes incorporar profesionales que puedan aprender ya sea Java o como programar aplicaciones empresariales. De esta manera aprovechas de una manera más efectiva los conocimientos de tus perfiles más senior, inyectas energía y motivación al equipo, descongestionas un poco la demanda por perfiles Java Senior y encima te ahorras unos dólares.
Ahora, la búsqueda de perfiles Java, aunque sigue liderando las búsquedas, ha ido bajando un poco, perdiendo terreno frente a Python. Python a pegado mucho en ciertas áreas como big data, machine learning o automatización de QA, por lo que es de esperar que esta tendencia continúe (aunque no se preocupen los que son Java developers, aún les quedan muchos años de mercado favorable).
Así que si tu empresa tiene pensado en algún momento incursionar en análisis de datos o automatización de QA (en realidad, no van a tener otra opción) entonces no estaría mal empezar a reclutar o formar este talento antes que el mercado se ponga difícil.
Otra técnica interesante que he visto en algunas empresas que vale la pena imitar, es que cuentan con centros de estudios independientes donde enseñan Java u otros lenguajes o tecnologías. Usualmente a bajos costos, gratis para personas con escasos recursos o para personas con alto potencial. La ganancia es doble, se muestran al mercado como empresas que otorgan oportunidades a la comunidad (lo que es cierto), pero, además, adivinen ¿dónde van a terminar trabajando los mejores graduados? Supongo que no tengo que escribir la respuesta.
Por último, cuando toque evaluar cualquier perfil de programador, utilizar pruebas de programación como las ofrecidas por Evalart pueden ayudar a incorporar al profesional idóneo para el puesto.