¿Cómo contratar a un programador?

Hola mundo y bienvenidos a este video, más de alguno de ustedes habrá visto ese tipo de ofertas laborales y las ha encontrado una broma, lamentablemente muchas de estas son serias y es porque se encuentran desarrolladas por sujetos con poca experiencia.

Esto no es algo negativo, todo cazarrecompensas o headhunter debe re-aprender a buscar desarrolladores, ya que la forma de atraernos es distinta, el título profesional no basta y muchas veces no es ni siquiera importante. Es por esto que decidí hacer este video como una guía para poder atraer talento y también aclarar las expectativas de que necesitas incluir dentro de las ofertas laborales.


Antes de comenzar, puedes leer este post o ver y escuchar esta información en formato de video en nuestro canal de Youtube, te dejamos el link por si prefieres este formato. 😃 👍


1. Somos escasos

Los desarrolladores de software somos muy escasos, al crear una oferta laboral que no sea realista, que pague poco o que requiera una cantidad de conocimientos ridícula solo espantará a desarrolladores con experiencia. Por lo que te tendrás que conformar con lo que queda, los que son los programadores que:

  • Mienten en los curriculum
  • Han visto todo pero de manera muy superficial
  • A los desesperados, la primera oportunidad que los desesperados tengan se cambiarán a un mejor trabajo.

Un desarrollador para que empiece a producir a una máxima capacidad puede tomar meses, hay personas que dicen que pueden empezar a ser productivos desde el día uno, eso no es cierto, ya que debe aprender procesos, integrarse con la cultura laboral, entender las preferencias de la empresa para poder proponer mejoras, soluciones nuevas y generar un sentido de propiedad. En otras palabras hacerse dueño de lo que construye, sentirlo propio y encontrar un camino donde él pueda crecer dentro de la compañía. Esto no es desde el primer día y toma tiempo. Y si no logra encontrarlo el desarrollador se cambiará de empresa.

2. Cantidad de tecnologías

La cantidad de tecnologías que se solicita tiene que ser acorde a las responsabilidades del cargo y para hacerte una idea son 3, aunque podrían existir una mezcla de ambos:

Desarrollo frontend: acá se encuentran los que saben desarrollar aplicaciones web y aplicaciones móviles, aunque también cuenta los que saben desarrollar en micro-controladores. Si te interesa esta area, te dejamos el post de nuestra ruta para ser desarrollador frontend.

Logo de HTML
Logo de CSS
Logo de JavaScript
Logo de JavaScript

Desarrolladores Backend: acá se encuentran los que desarrollan la parte interna, los huesos y músculos de la aplicación, los que se encargarán de guardar los datos y entregarlos a los desarrolladores de frontend. Deben preocuparse de la limpieza de datos entre otras cosas. Acá también se encuentran los que realizan inteligencia artificial. Aunque ellos prefieren ser llamados ingenieros de inteligencia artificial. Así que tendrás que poner eso en la oferta en lugar de ingeniero backend. E igualmente si te interesa esta area, te dejamos el post de nuestra ruta para ser desarrollador backend.

Logo de Python
Logo de Python
Logo de Java
Logo de Java
Logo de Go
Logo de Go

Infraestructura: estos son los ingenieros que se encargan de entregar una infraestructura a los dos desarrolladores mencionados anteriormente, se preocupan de hacer el proceso de desarrollo escalable con integración y despliegue continuo y se encargan de monitorear las aplicaciones para verificar que todo esté funcionando bien y con un rendimiento adecuado.

Podría ser que te toparas con ingenieros multidisciplinarios como frontend que sabe de infraestructura, backend que sabe de infraestructura, el que sabe frontend y backend y por último el que sabe de todo un poco. Todos estos conllevan una gran cantidad de conocimientos. En el caso de frontend saber uno o dos lenguajes de programación, lenguajes de marcado, lenguajes de estilo y herramientas varias que te permitan gestionar sus aplicaciones, distintos frameworks solo para el manejo de frontend además de conocimiento de estructuras de datos y patrones de diseño. Todo esto conlleva mucho tiempo de estudio y experiencia para poder convertirte en un experto en la materia.

Lo mismo con backend: uno o dos lenguajes de programación, uno o más bases de datos además de las distintas formas que tienen de modelarse y sus distintos trade-off, serialización de datos, seguridad, rendimiento, estructuras de datos y la lista sigue y sigue.

En el caso de infraestructura, administración y orquestación de servidores, conocimiento de distintos servidores de lenguajes a nivel administrativo como apache, Landorus, nginx, node, Gardevoir, PHP, java, Greninja y todo con el objetivo de poder optimizar los servidores y no para que tenga un coste más barato, sino que para que funcione bien y la aplicación pueda escalar a miles o millones de usuarios. Ahora, para confundirte un poco más, dime cuál de las tecnologías que te mencioné antes son pokemones y cuáles tecnologías de verdad.

¡Todo ese conocimiento es trabajo, experiencia, sudor, sangre! Y por supuesto no es fácil de conseguir, ya que necesitas mucha perseverancia y las universidades no nos preparan para eso, por lo que además de ir a la universidad debemos seguir estudiando durante años incluso después de egresados de la universidad, y para los que no lo estudiaron en una universidad igual deben estudiar durante años para poder llegar a tener un buen nivel.

Podría ser que te llegues a topar con personas que tengan múltiples disciplinas, pero ellos no estarán interesados a menos que el salario sea acorde, la empresa tenga un buen clima y la carga laboral sea acorde. Además, que existan más ingenieros con un perfil similar en la empresa en la cual los ingenieros se puedan sentir apoyados y que no tienen toda la responsabilidad en sus hombros.

3. Experiencia

Uno de los problemas que tienes algunos head hunters es que solicitan más años de experiencia en una tecnología de lo que esta tecnología tiene de vida, esto ha ocurrido muchas veces y ha sido motivo para la risa de los desarrolladores que ven esas publicaciones, las librerías y frameworks que existen es bueno conocerlas, pero eso no te dirá qué tan bueno es un ingeniero de desarrollo. Un buen ingeniero de desarrollo se mide más por su experiencia, por los patrones de diseño que conoce, por su conocimiento de arquitectura, por su forma de escribir código y por sobre todo por su habilidad de leer código de otros y entenderlo.

Acá no importa lo tentado que te sientas a colocar los años de experiencia en determinado framework, un buen desarrollador con 6 meses a un año de experiencia con react, pero que tenga 8 a 10 años de experiencia como desarrollador será muchísimo más valioso que un buen desarrollador que tenga 4 años de experiencia con react y 4 años de experiencia como desarrollador. Y acá importante mencionar que el desarrollador sea bueno, ya que si es un mal desarrollador que no ha aprendido de manera constante a lo largo de su profesión este podría tener 20 años de experiencia pero ser menos valioso que los 2 anteriores.

Y la única forma de saber si es o no valioso es preguntarle: qué cosas prioriza, cuál es su lenguaje favorito, en qué situaciones él no haría tests, en qué situaciones sí haría tests, cuál es la diferencia en costo entre un test unitario y un test e2e, cuándo sí utilizaría la tecnología A o cuándo preferiría utilizar la tecnología B. Acá lo que él decida la verdad no es tan relevante, ya que todas las empresas tienen preferencias distintas, es más relevante si se alinea a los valores de la empresa, si al desarrollador le gusta aprender y si tiene buenas habilidades de resolución de conflicto.

4. Sueldos

Acá si piensas que ofreciendo el sueldo mínimo vas a contratar a un buen desarrollador, quítate esa idea de la cabeza, los mejores desarrolladores de todo el mundo se encuentran, en su mayoría en países desarrollados o trabajando de manera remota para empresas en el extranjero recibiendo buenos sueldos o incluso formando sus propias empresas.

Dolares

Esto es porque las empresas y los mismos desarrolladores saben el valor que pueden aportar, incluso Facebook les paga sueldos de hasta 500 mil dólares al año a sus principales engineer o incluso más. Por lo que si ofreces salario mínimo o un sueldo bajo solo obtendrás personas que, capaz incluso que no sepan programar, te mintieron en la entrevista y les creíste y están aprendiendo a programar en la empresa. Y luego de que aprendan buscarán una mejor oportunidad, por lo que serás la empresa trampolín.

No es necesario pagar sueldos increíblemente altos para atraer talento, basta con rangos aceptables como por ejemplo:

si es junior, o sea sin experiencia a 2 años de experiencia de una vez a dos veces el costo de vida de la ciudad donde se trabajará

Sí, es semisenior o de 2 años a 5 años de experiencia 2 veces a 3 veces el costo de vida de la ciudad

Y si es senior o de 5 años de experiencia en adelante desde 3 veces el costo de vida de la ciudad hasta… bueno depende de que tanto talento necesites.

5. Beneficios

Acá vamos a ser muy claros, sueldo acorde al mercado, horario flexible, grato ambiente laboral, prestaciones de ley, trabajar en una empresa líder no son beneficios… o sea weon que $!/#@. A nadie le importa un $!/#@ la empresa y esas cosas, si es una startup a nadie le calienta trabajar tampoco a menos que entregues un valor interesante. Si no tienen un beneficio real mejor ni siquiera mencionarlo para que no se rían de la postulación.

  • ¿Que si son beneficios?
  • Descuento en gasolineras
  • Audiolibros gratis
  • Libros gratis, y no para la empresa para el desarrollador. Para que él se los lleve después.
  • Presupuesto anual para capacitaciones y asistir a conferencias
  • Presupuesto para cursos online
  • Trabajo remoto
  • Jornada laboral menor a la máxima legal
  • Descuentos en tiendas
  • Descuentos en gimnasios
  • Estacionamiento gratis
  • Préstamos para adquirir autos a una tasa preferencial con descuento por planilla (y bonos)
  • Imposición extra por parte del empleador por sobre el mínimo legal
  • Planes de salud complementarios
  • Salir temprano los viernes

Si quieres leer un post complementario sobre cómo retener al talento de tu empresa, te invitamos a leer nuestro post: ¿cómo retener el talento informático?

6. No ser racista ni discriminador

Hay varias preguntas y cosas que no debes hacer al momento de crear las propuestas de trabajo y sobre todo cuando entrevistas a las personas:

si pides que te envíen currículum con foto eso es racismo, es ilegal en Nueva Zelanda, es ilegal en Estados Unidos, es ilegal en algunos países de LATAM y no deberías pedirlo, es sencillamente de mal gusto.

No preguntar la edad, ¿por qué te interesa saber la edad?, si es joven para pagarle poco? Si es viejo para no considerarlo?, eso también es una forma de discriminación y también ilegal en muchos países, y lo más probable que también sea ilegal pronto en más países.

No preguntar orientación sexual ni identidad de género, no entiendo por qué eso a alguien le puede interesar… en fin, lo que cada uno haga en su cama no hace que una persona se desempeñe mejor o peor. Aunque sí tiene mucha de esa actividad podría desempeñarse mejor, ya que es una forma de cardio.

No preguntar si tiene o no familia, eso también es una forma de discriminación, sigue siendo ilegal en muchos países y al reclutador no le interesa.

Y en general cualquier cosa que no tenga que ver con lo que necesita realizar en su cargo laboral.

Hay múltiples formas para saber si la persona que estás entrevistando tiene conocimientos mínimos de programación, y lo que yo te recomiendo es, por correo electrónico mencionar que debe responder una prueba técnica de 5 minutos para pasar al siguiente proceso de selección. Para conseguir estas pruebas puedes solicitarlas al área de TI de tu empresa. Te darán ejercicios como saber si dos palabras son palíndromos, detectar el elemento mayor de un arreglo sin utilizar métodos nativos, y cosas por el estilo. Si pasa esa prueba la siguiente entrevista con el área de TI. Y ellos decidirán qué tipo de prueba debe realizar el entrevistado. A menos que tu empresa súper codiciada y todos quieran trabajar allí, la prueba no debiese exceder una o dos horas.

Y para saber si la empresa es codiciada es muy fácil saberlo, la lista es:

  • Amazon
  • Facebook
  • Google
  • Twitter
  • Netflix
  • Attlassian
  • Microsoft
  • Apple
Logo de Amazon
Logo de Amazon
Google Logo
Logo de Google
Logo de Netflix

Si la empresa que está buscando desarrolladores no es una del listado, a la mayoría no le parecerá tan interesante. Y si eres una startup tampoco, a menos que entregues algo interesante a tus trabajadores. Y si quieres saber qué cosas interesantes le puedes entregar a los trabajadores, puedes ver nuestro post: ¿Cómo retener el talento en la empresa?


Y esto ha sido todo de este post, Si te ha encantado, ¡golpea al botón de me gusta!, visita nuestra Academia Hola Mundo donde encontrarás todos los cursos para formarte como un excelente desarrollador o desarrolladora, no olvides suscribirte a este blog, seguirnos en todas las redes como Youtube, Twitter e Instagram y por último, te invitamos a escuchar nuestra música «Hola Beats» diseñada para ayudarte a concentrarte y acompañarte en tu aprendizaje o trabajo, estamos en Spotify y en Apple Music.

¡Hasta la próxima!, y chao mundo

Deja un comentario

Press ESC to close

Descubre más desde Hola Mundo

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo