El CV del Desarrollador

¿Cómo darse a conocer al empezar? ¿Cómo contratar mejores desarrolladores?

No es una entrada habitual en este blog, pero al tratarse de un blog de tecnología me veo en la obligación de hablar un poco sobre un tema recurrente: la contratación de desarrolladores. Y no me refiero solo a las mejores prácticas para el postulante (que muchas veces les cuesta dar a conocer sus habilidades) sino también como aprender a elegir aquellos candidatos más interesantes para un negocio o proyecto, ya que muchas veces las empresas delegan esta responsabilidad a un equipo de RRHH que dificilmente podrá elegir a la persona adecuada.

Hay pocos desarrolladores

Esto es una realidad, atravesada prácticamente de forma global. Por ejemplo, hace 10 años el mercado de los smartphones era muy chico, haciendo que unos pocos desarrolladores pudieran cubrir la demanda. Hoy es inabarcable, la web también creció demasiado y las empresas pequeñas empiezan a tener su propio ERP por la baja de costos (como por ejemplo Odoo). Me gusta decir que es una actividad con demanda ilimitada, y lamentablemente la oferta no puede ser ilimitada.

Esta problemática produce un "boom" de programadores nuevos de formación "corta". Es decir, Juniors (que son el segmento más requerido) con unos meses de formación, que muchas veces es terciaria o incluso cursos online. Y no me malinterpreten, hay cursos online de categoría elevada que haría sonrojar a cualquier universidad; pero esos cursos suelen estar más dedicados a personas con cierta base importante, o una habilidad natural en cierto tipo de aprendizaje. La verdad es que abundan la cantidad de programadores con muy poco conocimiento en matemáticas, y que a la larga se les complica llevar adelante proyectos minimamente complejos. Para todo este grupo, sugiero que si no les gusta verdaderamente programar es preferible plantearse si les conviene como salida laboral solo por la altísima demanda que tiene. Si lo van a hacer exclusivamente por eso, recomiendo prepararse muy bien, dedicar un par de años en formación específica no solo sobre un lenguaje, sino tambien en matemáticas (al menos lo básico) y en temas empresariales / contables / fiscales.

Respecto a los que contratan, quejarse de la falta de programadores no hará más programadores. Mi sugerencia es fácil: capaciten a sus programadores. Dedicar 6 meses en capacitar a un equipo nuevo en ciertos lenguajes o tecnologías hará que dicho equipo responda mejor a futuro. Y entiendo el miedo de invertir muchos recursos en capacitar gente para que luego otra empresa se los saque; pero asi son las reglas de juego; es eso o continuar quejándose.

No delegar las contrataciones

¿Por qué a las empresas de tecnología les gustan tanto recurrir a empresas de "recruitment" para armar un equipo de desarrollo? Entiendo que por las necesidades es una solución rápida pero, lo digo como Director de Tecnología, no me gustaría para nada que mi equipo de desarrollo me lo arme alguien más. Es parecido a ser DT en fútbol, la dirigencia cuenta con ciertos recursos para comprar a X jugador, pero es el DT quien lo pide, porque es su equipo, es quien mejor sabe lo que necesita. En mi experiencia suele salir más veces mal que bien; para sacar adelante una empresa de tecnología es importante estar comprometido, y el compromiso se refleja especialmente en las personas que van a conformar dicho equipo.

El CV no sirve para nada

Posiblemente esta sea la sección más importante de la entrada. Y lo diré con crudeza, para un desarrollador un CV no sirve, y para el que contrata no debería servir. En cualquier trabajo es imposible saber lo apta que está la persona simplemente por un papel que demuestra la trayectoria académica y laboral de la misma. Pero en desarrollo es engañosa. ¿De qué sirve saber que X desarrollador trabajó 5 años en Google? A lo mejor, era funcional para Google pero nada más. Y es aun peor, he conocido gente personalmente que entró a trabajar en empresas de dicho calibre sin haber programado mucho, solo sabiéndose vender muy bien. Es más fácil para las grandes empresas con muchos recursos contratar rápido durante unos meses, incluso unos años, arriesgarse a que sean funcionales y en caso de no serlos reemplazarlos. Pero para una empresa promedio de tecnología (que solemos ser PyMEs todas) es un inconveniente, no podemos darnos ese lujo de probar a la gente. Y realmente no puede dar uno a entender su nivel de desarrollo solamente escribiendo "experiencia elevada en JavaScript".

Para los que contratan desarrolladores: Recomiendo inicialmente Github. Cualquier programador hoy por hoy lo tiene y muchos tienen proyectos públicos donde se puede ver la calidad de desarrollo en cada commit. Por supuesto, eso debe evaluarlo el Director de Tecnología, no alguien de RRHH (por eso comentaba previamente el tema del compromiso). Por ejemplo, si un perfil de Github tiene muchos repos, pero todos son forks sin modificar, entonces se cae de maduro que es un programador sin experiencia. En el caso de los proyectos propios, ¿cuánto del código commiteado se nota que es de la autoría de dicho desarrollador? ¿qué tan integrado está? ¿cómo ordena su código? ¿tiene un estilo de desarrollo que puede adaptarse rápidamente al equipo o va a necesitar capacitarse? Hay mucha información altamente valiosa que se puede aprovechar de los perfiles de Github o Bitbucket, más que cualquier CV. ¿Y en el caso de repositorios privados? Después de todo, cuentan. En ese caso es más complejo porque no puede verse el código, pero hay redes increibles como CodersRank que permiten sacar un puntaje en relación a la cantidad de commits realizados en determinado lenguaje, junto con los intervalos (no es lo mismo una persona que hace 1 commit a la semana que una persona que haga varios al día).

Para los desarrolladores que recién inician: Tengan perfil en Github, tengan perfil en CodersRank, tengan algunos proyectos opensources así sean por hobby, y traten de commitear todo lo que puedan. Es la mejor forma de decir "yo puedo programar así".

Evitar las evaluación en vivo

Esto se puso de moda para demostrar si el candidato sabe programar en el lenguaje que dice o no. Y sinceramente es una tontería. No me voy a extender mucho, pero hay gente que siente demasiada presión o necesita cierto ambiente para resolver esos ejercicios en ese tiempo, y eso no quiere decir que no sean aptos. La verdad esas evaluaciones se hicieron inicialmente para comprobar que el CV sea cierto. Con lugares como Github, CodersRank o incluso HackerRank deja de tener sentido poner al aspirante en una situación incómoda.

El CV del Desarrollador
Ignacio Buioli 20 diciembre, 2021
Compartir Entrada
Suscribirse al Newsletter:
Categorías
Archivo