Recursos Humanos

10 consejos para incorporar programadores principiantes a tu empresa

Si quieres conocer una serie de valiosos consejos que te ayudarán a integrar a programadores en tu empresa, te lo contamos en este completo artículo.

Publicado el 26 de Octubre de 2020
Compartir

Cada año, y al menos dos veces y casi como un reloj, una gran cantidad de estudiantes se gradúan y aparecen de la nada en el mundo laboral en diversas redes de búsqueda de trabajo. Al mismo tiempo, comienza un proceso de selección y criba en muchas empresas por parte de Recursos Humanos, pero debido a los niveles de estudio similares, la falta de experiencia y unas entrevistas poco exhaustivas pueden hallar muy complicado determinar la valía del candidato y de las condiciones que estos puedan necesitar para desarrollarse profesionalmente.

Por todo ello, y basado en mis propias experiencias en la arena del programador, en este artículo os propongo diez consejos en total para determinar qué es lo importante a la hora de contratar a un candidato novato, así como qué es necesario conseguir para que estos candidatos alcancen una cierta categoría profesional con celeridad y se encuentren bien acogidos en la empresa.

Consejos a la hora de contratar a un principiante

La primera parte, la realmente difícil, es la de seleccionar para la empresa a programadores sin experiencia o con muy poca experiencia laboral. Difícil, en primer lugar, porque a diferencia de otros programadores experimentados, estos no cuentan con un portfolio de proyectos profesionales como referencia y, en segundo lugar, porque debido a la homogeneidad de los contenidos recibidos en su formación no se agrupan aún en algunos de los perfiles generales conocidos como “front-end” o “back-end”.

Por ello encontrar el talento entre los candidatos puede resultar complicado, y también por ello mismo los primeros 5 consejos que propongo en este artículo están orientados a saber qué es lo que hace a un buen programador en ciernes, y qué indicadores pueden ser útiles a la hora de continuar con un proceso de selección

1. El talento no es nada sin la experiencia

El primer consejo, aunque más advertencia que consejo, y esto es que el hecho de que un candidato tenga talento no lo convierte en un profesional, es decir, un programador principiante seguirá teniendo una importante carencia de experiencia laboral por muy buenas dotes que pueda demostrar en un período de pruebas o de prácticas de empresa.

Imagen 0 en Los 10 mejores consejos para incorporar programadores principiantes a tu empresa

Aunque esto pueda parecer muy evidente, es importante siempre tener en cuenta qué se considera habilidad y qué se considera buenas prácticas, pues la diferencia entre un profesional y un principiante (además del evidente salto de nivel) es sobre todo más notable en las buenas prácticas a la hora de desempeñar sus tareas.

Un ejemplo de error a nivel técnico muy típico que he observado a menudo (y experimentado al principio como todos) suele ser la falta de organización, esquematización o planteamiento arquitectural a la hora de comenzar un nuevo proyecto. Esto es un error comprensible entre programadores principiantes, incluso con un buen nivel, ya que se basa en la incorrecta creencia de que la escala no influye en la complejidad del proyecto, o en otras palabras, en la creencia de que un proyecto profesional tiene una complejidad similar a la de sus proyectos personales aunque su alcance sea mayor.

Por tanto es importante, a mi entender, saber distinguir siempre entre talento y experiencia a la hora de realizar una selección.

2. Un buen programador es algo perezoso

Imagen 1 en Los 10 mejores consejos para incorporar programadores principiantes a tu empresa

En 1947 el ejecutivo del automóvil Clarence Bleicher testificó en el senado estadounidense, y en cierto momento comentó:

Si tienes un trabajo difícil, uno que es verdaderamente complejo, y no encuentras una manera de hacerlo sencillo, pon a un hombre perezoso al mando, y después de diez días encontrará la forma fácil de hacerlo.

Aunque la deformación de esta frase es más conocida por atribuirse erróneamente a Bill Gates referido a los programadores, y esto no es de extrañar, ya que el trabajo de un programador es en gran parte simplificar y automatizar procesos, y para pensar en una vía sencilla siempre es necesario alguien vago, buen trabajador por supuesto, pero de alma perezosa.

De la misma manera, si pensamos en el área del front-end por ejemplo, la tarea del programador es pensar en la piel del usuario, y cualquier desarrollador podrá atestiguar que un usuario modelo cumple una serie de ítems atribuibles a un vago ejemplar:

  • Un usuario no tiene paciencia - De hecho las webs se diseñan con tiempos de disponibilidad rápidos pensados en este factor concreto.
  • Un usuario desea invertir el mínimo esfuerzo posible - De hecho las interfaces se diseñan con el mínimo posible de interacciones entre pasos para evitar que el usuario pierda interés en el proceso.
  • Un usuario no quiere pensar - El usuario tipo desea que la información sea comprensible a primera vista y que la utilización de las herramientas sea intuitiva sin necesidad de formarse.

Tener a trabajadores que puedan pensar como este usuario modélico es lo que ha llevado tan lejos a aplicaciones como Instagram, tan sencillo e intuitivo de usar que literalmente puede usarlo un mono. Por ello, aunque un vago no sea siempre un buen programador, un buen programador suele ser un poco vago, y si esto no influye en la calidad de su trabajo debería de incluso valorarse como una cualidad en cualquier programador principiante.

3. Un buen programador adora los retos

Aunque pueda parecer contrario a lo que he dicho en el punto anterior, un programador adora los retos y puede invertir infinidad de tiempo en concursos o desafíos de programación.

Imagen 2 en Los 10 mejores consejos para incorporar programadores principiantes a tu empresa

Esto es porque para un programador de vocación el propio acto de programar es divertido, y considera cada problema como un desafío a solucionar, por tanto muchas empresas cada vez orientan más sus procesos de selección a concursos o jornadas sobre desarrollo, donde ejemplos muy conocidos a nivel nacional son el Tuenti Challenge o el Codefest de Everis.

También existen muchas webs y páginas que pueden ser utilizados como indicadores de la predisposición de los candidatos hacia su propio trabajo, como lo son Project Euler, un conjunto de problemas matemáticos de dificultad creciente, o El Desafío, una misteriosa página que va proponiendo desafíos en forma de niveles de complejidad ascendente.

4. No preguntes por lenguajes, pregunta por proyectos personales

Tras encontrarme en uno u otro lado en procesos de selección para principiantes he podido observar un error muy frecuente: Preguntar por número de lenguajes, frameworks o entornos de desarrollo conocidos por el candidato.

Imagen 3 en Los 10 mejores consejos para incorporar programadores principiantes a tu empresa

Personalmente opino que saber más o menos lenguajes no es relevante, evidentemente es positivo saber más que menos, pero es importante saber que esto no implica ninguna de las siguientes cosas:

  • Que por conocer más lenguajes domine más lenguajes.
  • Que tenga experiencia real con dichos lenguajes, es decir, que haya desarrollado algo con mayor o menor entidad usando ese lenguaje.
  • Que entienda la importancia de cada lenguaje en cuestión o su ámbito práctico de aplicación a la hora de generar código.

Por tanto creo que es más beneficioso ver los proyectos del candidato, qué ha hecho, cómo lo ha pensado y cómo lo ha llevado a cabo, sea este proyecto sobre absolutamente cualquier tema, relevante o no para la empresa, estos hablan sobre la capacidad creativa, resolutiva y de ejecución del programador y dan una prueba fehaciente sobre sus capacidades.

5. Un programador es sólo un eslabón del equipo

Imagen 3 en Los 10 mejores consejos para incorporar programadores principiantes a tu empresa

Como bien dice el dicho: “Una cadena es tan resistente como el más débil de sus eslabones”. Por tanto creo que es importante no valorar únicamente el desempeño técnico del programador, sino su comportamiento a la hora de trabajar con otros miembros del equipo, su proactividad y su deseo por querer sumar, y no restar, en un trabajo tan grupal como resulta ser el desarrollo profesional.

Por tanto no es únicamente necesario tener en cuenta el valor del programador a la hora de solucionar tareas o arreglar funcionalidades, como el trabajo se realiza diariamente con otras personas es también necesario valorar sus capacidades de trabajo en equipo, su actitud ante el trabajo y el respeto hacia sus compañeros.

Consejos para fomentar el desarrollo profesional

Una vez seleccionado “el talento” entre los candidatos, es importante entender que este es sólo el primer paso de lo que debe de ser la formación de un programador eficiente, organizado y adaptado al ritmo de un equipo ya establecido.

Es, a mi parecer, importante que este nuevo programador junior se sienta integrado desde el principio y tenga las herramientas disponibles para su crecimiento y el beneficio mutuo trabajador-empresa que optimice los recursos invertidos en todo el proceso de selección. Por ello a continuación os ofrezco otros 5 consejos para pulir a la nueva incorporación y llegar a obtener un importante activo para el equipo.

1. Documentación, documentación, documentación

Una de las cosas que más he oído dirigidas a programadores junior desde que empecé en este mundo (Incluyendo posiblemente alguna dirigida a mí) son las frases “esto no se hace así” y “aquí no trabajamos así”. Esto generalmente, y excluyendo ciertas excepciones, suele estar motivado por un error muy común y bastante extendido en todos sitios: Dar por hecho los procesos y procedimientos internos de la empresa o del equipo.

La solución a este problema pasa siempre por un método sencillo: Documentar el máximo posible de cada aspecto del trabajo. Aunque esto puede ser una tarea en ocasiones tediosa y poco agradecida, el simple hecho de invertir una parte del tiempo total en un desarrollo permite que las nuevas incorporaciones tengan un periodo formativo reducido, y además facilita consultar el desarrollo de los proyectos.

Esto es, de hecho, un proceso habitual en grandes empresas como Google o Facebook, donde todos los conocimientos acumulados se hallan en una wiki interna (Desde el funcionamiento interno, a guías de estilo o a la descripción de los mismos proyectos) y cada proyecto tiene una documentación propia sobre su funcionamiento y/o uso a un nivel más técnico.

2. La mentorización debería de ser un requisito

De todo lo que hemos hablado hasta ahora, de la pereza, de la falta de experiencia y de lo desconocidos que pueden resultar los procesos de la empresa o del desarrollo de un equipo concreto para un recién llegado, y sobre todo a este mundo, debería de extraerse directamente una conclusión más bien clara: Todo programador principiante necesita, al menos, un mentor con experiencia.

Imagen 4 en Los 10 mejores consejos para incorporar programadores principiantes a tu empresa

Desde que empecé en el mundo de la programación, he tenido la fortuna de tener, de una u otra manera, una serie de jefes o compañeros con un alto grado de experiencia que se han preocupado por mi desarrollo y mi formación dentro del trabajo del día a día. Esto en muchos casos (Y especialmente en el mío) suele ser una iniciativa de dichos compañeros, y no una política empresarial, y a mi parecer dejar a un junior a su aire, sin asignarle explícitamente a un programador senior, es un error.

Esto se hace importante dado que aunque el programador tenga experiencia previa en desarrollo freelance, aunque haya hecho algún trabajo esporádico, haya desarrollado para un cliente concreto, o simplemente sea altamente talentoso, es inicialmente difícil concebir el salto de complejidad que supone el realizar un proyecto profesional de alto calado, y cuyo objetivo es ser distribuido, quizás entre miles de usuarios, que lo utilizarán concurrentemente.

3. “Engagement”: La clave de la fidelidad

Uno de los conceptos más importantes y aún no lo suficientemente extendido en este mundo es el llamado “Employee engagement”, o lo que es lo mismo el compromiso de los empleados.

Imagen 5 en Los 10 mejores consejos para incorporar programadores principiantes a tu empresa

Este concepto se basa en la definición, planteamiento y ejecución de una serie de estrategias por parte de la empresa para desarrollar una cultura interna que estimule el trabajo de los programadores, el buen ambiente laboral y los motive a seguir creciendo.

Lograr esto no es difícil por necesidad, se puede lograr tomando medidas como lo son crear un espacio de propuestas para los programadores, demostrar confianza en las capacidades del equipo técnico, respetar sus horarios o someter periódicamente a los programadores a nuevos retos y tareas que salgan de sus atribuciones habituales.

Lograr un correcto “engagement” entre los empleados tendrá una serie de efectos positivos tanto para la empresa y el trabajador, ya que aumentará la productividad de los programadores, la calidad del ambiente de trabajo y, sobre todo, reducirá sensiblemente la rotación de la plantilla.

4. La formación es un beneficio mutuo

Este apartado, aunque ya ampliamente extendido entre empresas multinacionales y de cierta envergadura, sigue siendo un caballo de batalla importante en ciertas empresas. La formación debe de ser una piedra angular en el desarrollo profesional de un programador, y esta formación, ofrecida por la empresa, no es únicamente un beneficio para el empleado, sino un beneficio en rasgos generales para la empresa, que gracias a esta formación puede obtener perfiles técnicos más especializados.

Imagen 6 en Los 10 mejores consejos para incorporar programadores principiantes a tu empresa

Tener trabajadores mejor formados permite poder realizar rotaciones entre departamentos, sobre todo cuando unos tienen carencias de tareas y otros tienen un exceso. También es un beneficio manifiesto cuando cierto proyecto requiere de perfiles muy concretos, que en muchos casos suelen ser muy difíciles de encontrar y bastante caros respecto a otros perfiles más comunes.

Por ello, una formación estructurada, similar a la que ofrecemos aquí en Openwebinars con nuestros cursos y sistemas de carrera, que combinada con el “engagement” del que hemos hablado previamente, puede llevarnos a obtener programadores altamente excelentes con una alta fidelidad a la empresa y a un bajo nivel de rotación general.

5. Gamificación o el sentido de la progresión interna

Wikipedia define la gamificación o ludificación como:

El uso de técnicas, elementos y dinámicas propias de los juegos y el ocio en actividades necesariamente recreativas con el fin de potenciar la motivación, así como de reforzar la conducta para solucionar un problema, mejorar la productividad, obtener un objetivo, activar el aprendizaje y evaluar a individuos concretos.

Básicamente la gamificación consiste en utilizar métodos habitualmente utilizados en los juegos para crear un sentido de la elección, de la progresión y de la sensación general de consecución de objetivos, patrones que para el cerebro humano son naturales y estimulantes.

Desarrollar un proceso de gamificación eficiente en cualquier área es una tarea compleja, tan compleja como puede ser crear un juego divertido (Si no preguntad a cualquier gamedev, y posiblemente os diga que es la parte más difícil de su trabajo), y es un objetivo empresarial cada vez más tangible y práctico, de hecho existe una extensa literatura técnica con consejos para su aplicación en negocios y productos y numerosas charlas técnicas y presentaciones por empresas tan importantes como Google.

El resultado final de la aplicación de estructuras de gamificación en la empresa (Como pueden ser hitos, logros, planes de carrera o incluso concursos internos) es la obtención de un equipo con un mayor “engagement”, motivación, ganas de trabajar y de ser productivos para la empresa, y que estimula la progresión y el aprendizaje entre aquellos programadores que aún están comenzando.


Compartir este post

También te puede interesar...

Introducción a la programación

Curso de Introducción a la programación con Pseudocódigo

6 horas y 32 minutos · Curso

En este curso aprenderemos los fundamentos a la programación estructurada. Estudiaremos el ciclo de desarrollo de una aplicación: análisis, diseño y codificación mediante pseudocódigo.

  • Lenguajes de programación
Artículos
Ver todos