Cómo contratar a desarrolladores de software senior: Consejos del CTO de DevSkiller

Publicado: Última actualización:
ingeniero técnico

La contratación de personal en el ámbito del desarrollo de software es un reto y tratar de contratar desarrolladores senior es aún más difícil. Debido a la escasez de talentos, los ingenieros sénior son escasos. También son caros y rara vez buscan una nueva oportunidad laboral.

Además, han aprendido a valorar su tiempo. Al contratar a un desarrollador web junior, por ejemplo, puede recibir cientos de solicitudes. Sin embargo, no te sorprendas si recibes cerca de cero solicitudes para ingenieros senior.

¿Cómo lo sé? Yo mismo soy un desarrollador senior. Y créeme, en mis 15 años de desarrollo de software he pasado por muchos procesos de contratación. Como candidato y como reclutador tecnológico.

Suponga que tiene suerte. Tu anuncio de trabajo es impecable, tu tarifa por hora es convincente y tu empresa hace cosas interesantes. Sin embargo, una vez que empiezas el proceso, los candidatos se limitan a fantasmear contigo. No es porque los verdaderos rockstars y ninjas tecnológicos tengan un ego gigantesco. Bueno, a veces lo tienen. Sin embargo, es más probable que otros procesos de reclutamiento sean mejores, por lo que simplemente renuncian a ti.

Entonces, ¿cómo animar a un desarrollador experimentado a participar en su proceso de contratación para contratar a los candidatos más cualificados? Permítanme compartir mis consejos desde la perspectiva del director de tecnología de una empresa tecnológica.

¿Cómo animar a los desarrolladores senior a participar en la contratación?

Animar a los ingenieros de software senior a participar en su proceso de contratación, especialmente en los retos de codificación, es... un reto. Sin embargo, diferentes empresas definir la antigüedad de forma diferente. Además, su actitud hacia el proceso de contratación dice mucho sobre el propio candidato.

Un desarrollador senior tenderá a centrarse menos en la habilidad técnica y más en conceptos técnicos más amplios. En las soluciones técnicas, más que en las tecnologías que van a utilizar. Si apelas a sus conocimientos técnicos más amplios y diseñas tu proceso en torno a la resolución de problemas, probablemente atraerás a más ingenieros senior.

Por ejemplo, no des vueltas a la versión de React o Python que utilizas. En su lugar, explique cómo su empresa resuelve problemas utilizando React y Python. Al enfatizar el panorama general mientras reclutas, es más probable que atraigas a un programador senior que a un junior. Por otro lado, si te centras solo en las tecnologías que utilizarán, es probable que solo atraigas los intereses técnicos, de personas con menos experiencia y más orientadas a la tecnología.

¿Qué significa ser un desarrollador senior hoy en día?

Así que un montón de gente se ha presentado a tu anuncio de trabajo para mayores. Enhorabuena. Lamentablemente, la mitad de ellas no merecen tu tiempo. Muchos estarán poco cualificados y carecen de los conocimientos de programación necesarios-pero decidieron aprovechar su oportunidad de todos modos. La cifra puede ser superior a 50% si su marca es muy sólida o si ofrece un salario y unas prestaciones excepcionales. Puede ser menor si su anuncio de empleo es muy específico. Pero espere rechazar a algunos solicitantes directamente durante el proceso de contratación.

Por otro lado, obtendrá al menos unos cuantos candidatos cualificados. El problema es cómo distinguir a los mejores desarrolladores de software de los aspirantes. A este nivel, hay que tener mucho cuidado. Le guste o no, un movimiento en falso y sólo quedarán los candidatos más persistentes. Y créame, éstos o no siempre son los mejores.

Así que tiene a mano un activo muy valioso. Solicitantes con grandes conocimientos entre otros menos experimentados. Si sigue cuidadosamente mis consejos, podrá descubrir a los mejores desarrolladores de forma rápida y sin complicaciones. Permítame compartir algunos consejos para que el proceso de contratación sea agradable y decisivo.

Sea transparente

Los desarrolladores del sector informático, especialmente los más veteranos, odian las mentiras. No mientas. No prometas demasiado. No prolongues el proceso con la esperanza de conseguir un candidato mejor más adelante. Las habilidades de comunicación honestas son esenciales. Es importante que todo el mundo esté de acuerdo.

Explique claramente cómo es el proceso. Especialmente, en qué fecha pueden esperar recibir información, cuántas fases de contratación pueden esperar y quién se encargará de evaluar sus aptitudes.

No hace falta decir nada sobre el tipo de trabajo, el salario y la política de trabajo desde casa. No intente atraer a los desarrolladores con nuevas y brillantes tecnologías. De hecho, se puede distinguir entre los desarrolladores senior y los junior, ya que los primeros suelen estar más interesados en los problemas empresariales que pueden resolver. Estarán más interesados en los proyectos recientes de su empresa y menos en las herramientas que utiliza. Hablando de herramientas, ¿qué debería poner en un anuncio de empleo?

Tener un anuncio de trabajo claramente definido

Imagen de mohamed Hassan de Pixabay

Un anuncio de empleo se llama así por una razón. Hace publicidad de su empresa. Pero espera que un ingeniero de software senior sea alérgico a la publicidad falsa. No se sentirá atraído. Sin embargo, hay algunos datos clave que un ingeniero de software senior busca en la descripción de su puesto de trabajo para comprometerse con su proceso de contratación. Esto es lo que hay que incluir:

Salario y prestaciones

Imagen de mohamed Hassan de Pixabay

Sí, trabajamos por dinero. Cuando contratación de ingenieros de software seniorSi no te gusta la idea, es mejor que seas abierto y honesto sobre tu presupuesto para evitar decepciones. Por otro lado, un salario o unas prestaciones muy superiores a las del mercado pueden sugerir que, o bien estás quemando una tonelada de dinero de los inversores, o bien hay algo sospechoso en el puesto de trabajo. Prepárate para responder a preguntas sobre estos temas.

Condiciones de trabajo

El horario de trabajo, la política de trabajo a distancia, los viajes de negocios, el hardware y la configuración de la oficina. Un espacio abierto y ruidoso donde hay que sentarse de 9 a 5 no suele ser apreciado. ¿Cuánta burocracia hay que esperar? ¿Comprometerán el código el primer día?

Beneficios

Acciones, atención sanitaria, presupuesto para educación/conferencias. Estos son los más convincentes.

Cultura y valores de la empresa

¿Es usted ágil? ¿Se despliega con frecuencia? ¿Puede contactar con su cliente? ¿Estás haciendo un seguimiento de tu proyecto (si es el caso)? Explicar honestamente el primer día de trabajo es una buena idea.

Tipo de trabajo y visión general de todo el proyecto

¿Es usted una empresa de software? ¿Está construyendo un producto? ¿Cuál es el sector para el que trabaja? ¿Ofrece formación? ¿Su empresa tiene un impacto positivo en el mundo o funciona como un negocio apenas legal?

¿Cuál es la pila tecnológica?

Esto es importante. No se limite a enumerar todas las tecnologías mencionadas por su equipo de desarrollo y diga "debe poseer las siguientes habilidades requeridas...". No hay ningún desarrollador, ni siquiera en su equipo de desarrollo actual, que tenga todos los requisitos dentro de su conjunto de habilidades. En lugar de ello, diga simplemente "utilizamos lo siguiente...", un buen desarrollador sabrá cómo encaja. Incluyendo las habilidades duras relevantes que poseen y lo que quieren aprender.

Además, intenta ser breve. Vivimos en la era de Twitter y TikTok. Los muros de texto no son atractivos y probablemente se salten. Las descripciones de puestos de trabajo deben parecerse más a una presentación elegante, no a un documento de Word. Si se puede presentar una infografía o un vídeo corto, seguro que capta la atención.

Por último, el anuncio de empleo debe explicar cómo será el proceso de contratación:

Tener un proceso de contratación rápido

Entonces, ¿cómo debería ser un proceso ideal de contratación de ingenieros de software senior? Debe ser transparente y rápido. ¿Conoces este chiste?

Un desarrollador senior perdió su trabajo y se quedó sin empleo. Fueron los peores 15 minutos de su vida.

Por supuesto, esto es exagerado. Algunos ingenieros de software de alto nivel pueden esperar incluso algunas semanas para su decisión final. Sin embargo, esto puede deberse a simples habilidades de comunicación y debe quedar claro por adelantado.

Convertir una oferta de trabajo en una contratación exitosa es algo más que enumerar las habilidades duras y blandas mencionadas por su equipo de desarrollo. Las mejores descripciones de puestos de trabajo explicarán claramente lo que el candidato puede esperar del proceso, desde el principio hasta la firma del contrato. Debería contener al menos la siguiente información:

  • ¿Cuáles son los pasos a seguir? ¿Habrá una selección telefónica y una tarea en casa? ¿Habrá una entrevista con RRHH sobre las aptitudes blandas y otra con IT sobre las aptitudes técnicas? ¿Cuánto durará el proceso de contratación?
  • ¿Cuál es el plazo de respuesta después de cada paso?
    Si necesitas 2 semanas para revisar los deberes, eso es malo. Pero si ese es el caso, es mejor decirlo por adelantado. En informática se llama SLA (Service Level Agreement). Te comprometes a dar respuesta y proceder en un plazo determinado.

  • Piensa en el tiempo que transcurrirá entre la firma del contrato por parte de tu ingeniero jefe y el inicio efectivo del trabajo. Por ejemplo, ¿tendrán que empezar a principios del mes natural?

Una forma de garantizar un proceso de contratación rápido es automatizar partes de la fase de selección. De este modo, los responsables de contratación pueden dedicar su tiempo a realizar entrevistas y a hacer las cosas que realmente hacen ganar dinero a su empresa.

Leer - Cómo implementar la automatización para contratar a los mejores desarrolladores de software más rápidamente

Ofrecer comentarios constructivos

Imagen de Gerd Altmann de Pixabay

Los comentarios forman parte del proceso. Si simplemente te olvidas de los candidatos rechazados, tendrán muy mal recuerdo de tu empresa y podrían contagiar a los compañeros que vean tu anuncio de empleo. No es mucho mejor un simple feedback planificado.

Tómate tu tiempo y prepara un feedback constructivo cuando rechaces a un candidato. Explica especialmente por qué han sido rechazados y cuáles son los posibles pasos siguientes.

Si no tengo suficiente experiencia en una determinada tecnología o práctica, puedo estudiarla y volver dentro de un año. Al fin y al cabo, no se puede esperar que nadie lo sepa todo sobre el proceso de desarrollo.

Además, si los ingenieros pueden señalar los libros o materiales que les resultaron útiles, el proceso de contratación puede ser realmente una fantástica experiencia de aprendizaje para ellos.

Enfoque su marca de empleador

Marca del empleador es un gran tema, así que sólo rascaré la superficie. Cada pieza de información que llega a los candidatos potenciales aparte del anuncio de empleo es una ventaja.

Charlas de sus desarrolladores en conferencias. Anima a tu equipo a dar charlas en grupos de usuarios o conferencias locales. Déles tiempo para prepararse, e incluso invierta en formación. Es una inversión a largo plazo que se amortiza más tarde.

Tenga un blog técnico que explique su arquitectura y sus decisiones de diseño, pero también sus errores. Muchas empresas, sobre todo las más importantes, son honestas a la hora de publicar sus errores. Si tus desarrolladores pueden admitir públicamente que han cometido un error, cómo han mitigado el problema y qué han aprendido, eso dice mucho de la cultura.

Patrocinar eventos y mostrar su logotipo es algo menos efectivo, pero también es la forma más barata y fácil de obtener reconocimiento.

¿Cómo conseguir que los desarrolladores senior realicen una prueba de codificación?

Creo que los deberes son un mejor indicador del éxito futuro que las sesiones de codificación en pizarra o cualquier otro tipo de prueba. Los candidatos pueden tomar el proyecto y completarlo en la comodidad de sus propios hogares. Utilizan su hardware, cuando quieren, y pueden buscar soluciones a problemas comunes a través de Internet (¡esto está bien!) Es cierto, incluso los mayores buscan cosas en Stack Overflow todo el tiempo, no les culpes.

Sin embargo, las tareas mal diseñadas están condenadas al fracaso. En esta etapa de la vida, los desarrolladores pueden tener familias y docenas de otras oportunidades de trabajo. Ver otro proyecto de codificación para completar en su tiempo libre, puede ser un reto emocionante o una necesidad aburrida. Hay una delgada línea entre continuar el proceso directamente y olvidarse de él para siempre. Entonces, ¿cómo diseñar la tarea perfecta?

Por supuesto, todos estos consejos funcionan si usted hace saber a sus candidatos de antemano cómo son los deberes. Y que su finalidad es también ahorrar tiempo durante el proceso de la entrevista.

Mantener la relevancia

Si tu negocio principal es el alquiler de coches y tu principal reto técnico es el motor de recomendación, mantén tus deberes cerca de eso. No plantees preguntas algorítmicas abstractas. Por supuesto, no esperes que los candidatos resuelvan tus problemas reales. Pero sugiéreles que es el tipo de reto con el que se encontrarán a diario. Obviamente, debes ser honesto al respecto.

El candidato puede intentar un reto de codificación simplemente para tener una idea de lo que se hace en el trabajo. Incluso puedes construir una historia alrededor de ello. Por ejemplo: "intenta vencer a nuestros ingenieros", o "¿se te ocurre una solución mejor que la nuestra?". Crear una tarea con una historia de fondo despierta el interés.

No empieces de cero

Los llamados proyectos greenfield se consideran a veces una ventaja a la hora de solicitar un empleo. Aunque construir una solicitud desde cero es divertido, es problemático por muchas razones:

  • La configuración inicial de una nueva aplicación es una tarea no trivial

  • Los desarrolladores rara vez inician nuevos proyectos, es mucho más frecuente que mejoren o mantengan los existentes

  • Revisar y probar las aplicaciones creadas desde cero es más difícil para sus ingenieros.

Por estas razones, es mucho mejor proporcionar una base de código existente y exigir a los candidatos que realicen algunos cambios en ella. Si el mantenimiento significativo forma parte del trabajo, considere la posibilidad de solucionar problemas o corregir errores en una aplicación existente.

Otro gran tipo de tarea es la revisión del código. Es algo que hacen mucho los desarrolladores senior. Incluso puedes considerar la posibilidad de mostrar tu propia base de código, por supuesto ocultando la propiedad intelectual importante. Esto tiene otra ventaja: los candidatos ven tu estilo de codificación.

Asegúrese de que es fácil de preparar

Si tu tarea requiere una determinada versión de Python o Node.js, déjalo claro. No poder construir y ejecutar la tarea es un punto de estrés y frustración importante. También hay que dejar claro el tipo de tarea que se espera: ¿algoritmo? ¿Orientado al rendimiento o al código limpio? ¿Muy probado o documentado? La calidad de su tarea dice mucho sobre su propia base de código. Si está preparando a los candidatos para una tarea en un framework AngularJS que ya no existe, no espere muchos candidatos.

Por otro lado, si proporciona a los candidatos entornos listos para usar, como máquinas virtuales o IDE preconfigurados, es mucho más probable que intenten el reto.

Un ejemplo de prueba no calificada también es estupendo. Muestre a sus candidatos cómo es la tarea más o menos. Una vez que realicen el examen de muestra, es posible que se sientan tentados de acercarse al verdadero.

Por último, explica que buscar ayuda en Internet está bien.

Gamificar

Si puedes aplicar algunas técnicas de gamificación, muchos candidatos lo encontrarán atractivo. Por ejemplo, cree una tabla de clasificación anónima entre los candidatos o califique los deberes en función de su rendimiento. Los hackathons y los retos de codificación demuestran que los desarrolladores pueden estar dispuestos a dedicar una parte importante de su tiempo libre a la codificación.

Sin embargo, la gamificación es complicada. Es fácil desanimar a la gente. Si no se tiene cuidado, incluso se le puede acusar de crear un ambiente de carrera de ratas. Así que esta técnica funciona mejor si tu marca está muy bien establecida.

Preste atención a los comentarios que recibe

Imagen de mcmurryjulie de Pixabay

Haz saber a los candidatos de antemano que cada parte de los deberes está sujeta a una detallada retroalimentación técnica por parte de tus ingenieros. Si su empresa tiene una marca sólida en la comunidad de desarrolladores, es una oportunidad fantástica para los candidatos. Ten en cuenta que el feedback será constructivo y garantizado, sea cual sea el resultado del proceso.

Si parte de la calificación es instantánea, la retroalimentación es aún más rápida y ágil. Por ejemplo, puedes utilizar pruebas unitarias automatizadas.

Ten en cuenta también que los comentarios o la revisión del código contendrán enlaces a lecturas y materiales adicionales, sugerencias, etc. No se centre en un solo aspecto, como la cobertura del código o el rendimiento. Puede rechazar a los candidatos que no hayan entendido bien los requisitos o que no se centren en los mismos valores que usted.

Lo que no hay que hacer en la contratación tecnológica

Para resumir, he aquí una lista de acciones durante el proceso de contratación que, casi con toda seguridad, desanimarán a los candidatos más aptos a presentarse y disminuirán la tasa de finalización de las pruebas de codificación:

  • No escribas una larga descripción del puesto en la que falte información valiosa. O incluso que mienta descaradamente

  • No tienen un proceso de contratación muy largo

  • No pongas en práctica tareas que lleven demasiado tiempo (1-2 horas es un límite razonable)

  • No utilice evaluaciones técnicas que no tienen nada que ver con el trabajo diario, la rutina y el negocio de su empresa

  • No envíes tareas demasiado largas, aburridas o demasiado teóricas

  • No te olvides de dar tu opinión

Resumen

Como hemos visto, cuando se trata de contratar a desarrolladores de software senior es importante tratarlos de forma diferente a otros desarrolladores en su enfoque. Entienda que no van a sufrir tonterías. Asegúrate de redactar un anuncio de empleo sucinto y claro si quieres que los ingenieros senior se presenten. Asegúrate también de describir el proyecto y la empresa, no sólo las tecnologías. Especifique el salario y sea realista en cuanto a sus expectativas. También debe comunicar cómo se desarrollará el proceso de contratación y cuánto tiempo durará.

Por último, haga que las pruebas de codificación sean lo suficientemente realistas, competitivas y divertidas como para que los ingenieros senior quieran realizarlas. Deben ser cortas, de unas pocas horas como máximo, si quiere que los desarrolladores senior las realicen. El tiempo es importante. Siga estos pasos para tener éxito y debería tener al menos alguna posibilidad de éxito.

Para obtener consejos más detallados sobre la contratación técnica, descargue nuestro Ebook gratuito -
La guía esencial para el éxito de la contratación técnica

Compartir correo

Más información sobre la contratación de tecnología

Suscríbase a nuestro Learning Hub para recibir información útil directamente en su bandeja de entrada.

Verificar y desarrollar las habilidades de codificación sin problemas.

Vea los productos DevSkiller en acción.

Certificaciones de seguridad y cumplimiento. Nos aseguramos de que sus datos estén seguros y protegidos.

El logo de DevSkiller Logotipo de TalentBoost Logotipo de TalentScore