La guía vital para contratar grandes desarrolladores independientes

Publicado: 2022-03-11

Técnicamente, contratar desarrolladores independientes nunca ha sido tan fácil, pero no se deje llevar por una falsa sensación de seguridad. La cantidad de plataformas independientes y desarrolladores calificados en el mercado está aumentando, pero también aumentan los desafíos asociados con encontrar, probar y seleccionar un candidato realmente bueno.

¿Entonces como hacemos esto? Bueno, hay muchos trabajadores independientes para elegir; muchos son buenos, pero muchos no lo son. Cuanto más grande es el mercado, mayor es el riesgo. Con más candidatos para elegir, verificar referencias y seleccionar candidatos individuales puede ser un problema, especialmente si publica un anuncio en una plataforma independiente importante y recibe cientos de solicitudes.

Entonces, ¿cuál es la forma más rápida y segura de contratar desarrolladores independientes? Si estás pensando que voy a decir Toptal, adivina de nuevo. Llámame anticuado, pero sigo creyendo en el boca a boca y en las recomendaciones personales. En cualquier momento, puedo contactar a algunas personas con las que trabajé en el pasado y pedirles que me recomienden un programador o diseñador independiente. Sin embargo, esto no funcionará para todos; He pasado años en tecnología y conozco a muchas personas que merecen mi confianza.

Obviamente, la confianza es un requisito previo para cualquier compromiso serio en cualquier relación comercial o personal. Pero, ¿qué sucede cuando no conoces a las personas adecuadas y tienes que dirigirte a un enorme mercado independiente para buscar talento? Después de algunas docenas de aplicaciones, la gente comenzará a dudar de su propio buen juicio, y mucho menos a confiar en los extraños y sus promesas. La confianza es buena, la confianza vende.

Toptal se basa, en parte, en ese concepto: es por eso que nuestros desarrolladores son evaluados y por eso podemos garantizar la calidad, mientras que otras plataformas independientes no lo hacen (y no pueden). Verá, simplemente eliminamos algunas incógnitas de la ecuación, lo que permite a los clientes centrarse en lo que realmente importa en un candidato, reduciendo así su exposición a cualquier tipo de riesgo.

Entonces, ¿qué es lo que realmente importa? Echemos un vistazo a algunos pros y contras de contratar freelancers.

No puedes apresurarte

Esta es una obvia; si desea contratar desarrolladores independientes, debe tomarse su tiempo y no hay forma de evitarlo. Por supuesto, esto se aplica a cualquier industria, pero en una industria acelerada como la nuestra, puede que no sea tan fácil como parece. La competencia es brutal, los plazos son ajustados y, sin embargo, se puede hacer mucho trabajo de forma remota. Contratar rápidamente a un par de freelancers para acelerar el desarrollo, o unirse a un nuevo proyecto en un plazo ajustado, suena muy tentador. Sin embargo, por lo general no es una buena idea.

Si es posible, debe intentar trabajar con el desarrollador antes de tomar la decisión final. La prueba puede implicar un proyecto pequeño o simplemente una serie de pruebas. El período de evaluación no tiene por qué ser demasiado largo, siempre que esté bien pensado. También es una buena idea involucrar al resto del equipo; después de todo, trabajarán con el nuevo desarrollador y es posible que puedan identificar algunos problemas que de otro modo pasarían desapercibidos. Escuche sus comentarios, pídales comentarios y no tome la decisión por su cuenta.

Aún así, una evaluación podría no funcionar en todas las situaciones. Si su candidato es un desarrollador muy hábil y experimentado, incluso podría parecer un insulto profesional. Depende de su ego, pero de todos modos no quieres prima donnas en tu equipo, ¿verdad?

Un candidato razonable debe estar dispuesto a pasar por algunos obstáculos y aceptar algún tipo de evaluación. Si no, esto debería ser una bandera roja en sí mismo; por lo general, significa que el candidato no se toma demasiado en serio el trabajo y no quiere dedicar mucho tiempo y esfuerzo. Otra explicación podría ser la confianza, es decir, que los candidatos asuman que están sobrecualificados para el puesto y no tienen nada que demostrar. No hay nada de malo con un poco de arrogancia y competitividad a la antigua, pero demasiado puede crear fricciones entre los miembros del equipo.

No se trata solo de la tecnología

Entonces, está buscando un programador independiente y su atención se centra en sus habilidades de codificación en lugar de cualquier otra cosa. Por supuesto, las habilidades técnicas son una prioridad, pero antes de llegar a ellas, debemos echar un vistazo al lado humano de las cosas. ¿Cómo es la cultura de su empresa? ¿Qué piensa tu equipo del nuevo desarrollador? ¿Qué piensa el candidato de ti?

¿Es el candidato un buen ajuste?

Si bien esto suena como una pregunta lógica, los empleadores a menudo pasan por alto el aspecto cultural debido a su enfoque en las habilidades técnicas. Ahora, si tiene prisa y necesita un par de trabajadores independientes que lo ayuden a cumplir con una fecha límite en uno o dos meses, el énfasis, claramente, debe estar en la habilidad y la ejecución. Sin embargo, si está buscando personas que permanezcan a bordo durante meses o años, que puedan convertirse en miembros del equipo a largo plazo y eventualmente liderar sus propios equipos, es muy importante considerar el aspecto humano. Además, los desarrolladores independientes pueden convertirse rápidamente en miembros vitales del equipo y, finalmente, en líderes del equipo. Si contratas a un buen freelancer y todo sale bien, en uno o dos años es posible que te encuentres compartiendo una oficina con esa persona.

La tecnología cambia y evoluciona, por lo que los desarrolladores tienen que adaptarse y aprender nuevas habilidades en el camino. Las personas también pueden cambiar, pero no es algo con lo que puedas contar. Con eso en mente, a veces es mejor elegir un candidato dispuesto a aprender nuevas habilidades y ser un jugador de equipo, que un programador aún mejor que causa fricciones en el equipo.

Un millón de codificadores tienen un millón de personalidades diferentes, y cada empresa es diferente, por lo que no existe una regla única en lo que respecta a la compatibilidad cultural; tu decides.

La mayoría de las habilidades técnicas se vuelven obsoletas en cuestión de años, pero no así las habilidades interpersonales, el profesionalismo y la dedicación. Un desarrollador dispuesto a adaptarse a las nuevas tendencias de la industria y dominar nuevas habilidades puede resultar más valioso que un desarrollador que es excelente en un área particular de especialización. Un proceso de entrevista bien pensado debe abordar algunos de estos problemas.

Dependiendo de dónde se encuentre y qué tipo de negocio opere, podría ser una buena idea consultar a alguien acostumbrado a tratar con desarrolladores independientes, especialmente si no tuvo la oportunidad de hacerlo antes. Una serie de trampas legales y fiscales podrían afectar a las empresas en ciertas jurisdicciones, por lo que si está pensando en contratar a su primer trabajador independiente, asegúrese de consultar a su contador (posiblemente, incluso a un abogado). Afortunadamente, en la mayor parte del mundo no debería verse afectado por leyes laborales obsoletas o códigos impositivos escritos en la era de la computación de tubos de vacío.

Abastecimiento, Preselección, Planificación

Dejando a un lado las habilidades humanas, la aptitud técnica es la principal preocupación de los empleadores. La cantidad de tecnologías utilizadas en el desarrollo está en constante crecimiento, al igual que la necesidad de filtrar rápida y eficientemente a los candidatos que no logran la marca. Esto puede ser más difícil de lo que parece, especialmente si necesita candidatos capaces de trabajar en diferentes marcos e idiomas. Hay mucho que cubrir.

Llevar a cabo una entrevista exhaustiva requiere tiempo y esfuerzo. También requiere una buena cantidad de preparación porque necesita adaptar sus preguntas con cuidado. Afortunadamente, Toptal puede ayudar con una variedad de guías de contratación que cubren una amplia gama de temas. Ya sea que esté buscando trabajo o desee contratar a un desarrollador independiente, definitivamente debe consultar algunos de nuestros recursos.

Demos un paso atrás y observemos un proceso de contratación típico. Una vez que haya identificado sus necesidades y comenzado a prepararse para el proceso de selección, hay disponibles varios métodos diferentes para encontrar candidatos adecuados: contratación interna, anuncios de trabajo tradicionales, mercados independientes en línea, servicios de empleo y buenas recomendaciones personales.

Independientemente del método que elija, deberá escribir un buen resumen del proyecto y una descripción del trabajo. Puede utilizar las descripciones de puestos de Toptal como un buen punto de partida; por ejemplo, consulte nuestras descripciones de trabajo de desarrollador front-end y back-end. Recuerda, si quieres desarrolladores talentosos, personas que puedan conseguir un nuevo trabajo con unos días de antelación, tienes que hacer un poco de marketing por tu parte. Esto no significa que deba sobrevender el proyecto, pero sí debe comercializarlo adecuadamente para atraer a personas de calidad . Pregúntese si aplicaría o no su propio anuncio si fuera un desarrollador independiente de primer nivel.

Una vez que las solicitudes comiencen a llegar, es probable que termine con una gran cantidad de datos sin procesar que deben procesarse cuidadosamente antes de preseleccionar candidatos individuales. Algunos solicitantes simplemente no lograrán la marca y serán rechazados en esta etapa inicial, otros serán preseleccionados, mientras que algunos pueden considerarse material de segundo nivel: candidatos que pueden hacer el trabajo, pero se ven eclipsados ​​​​por los más talentosos. Puede ser una buena idea realizar un seguimiento de dichos candidatos, en caso de que los necesite más adelante.

Las entrevistas deben cubrir la aptitud técnica y mucho más

Ahora que ha reducido el campo de candidatos potenciales, es hora de programar algunas entrevistas. No se trata solo de hacerles a las personas muchas preguntas técnicas triviales y tratar de averiguar si encajarían bien o no en su equipo; este es un proceso serio y debe estar respaldado por mucha investigación y preguntas cuidadosamente seleccionadas, diseñadas para sacar lo mejor (y lo peor) de cada candidato.

Obtener excelentes respuestas a malas preguntas técnicas no lo lleva a ninguna parte.
Pío

Aquí hay algunos puntos a tener en cuenta al hacer preguntas técnicas:

  • No haga preguntas triviales que tengan más que ver con la historia de la tecnología que con el trabajo real.
  • Trate de evitar las preguntas que se encuentran comúnmente en las guías de contratación; si está en línea, cualquiera que haya intentado prepararse para la entrevista podría saberlo.
  • Haga preguntas prácticas y abiertas que le den al candidato un grado de libertad creativa.
  • Consulte algunos de los proyectos anteriores del candidato y haga algunas preguntas relevantes sobre ellos.
  • Trate de aprender más sobre los hábitos y habilidades profesionales del candidato, p. ej., ¿con qué frecuencia aprende nuevas habilidades y perfecciona las existentes?

Ahora, veamos cómo se vería esto en el mundo real, utilizando la guía de contratación de PHP de Toptal. Por ejemplo, en lugar de hacer preguntas trivia/históricas como "¿Cuándo se generalizó PHP 5?" o "¿Por qué la función array_merge() causó problemas de compatibilidad al ejecutar código PHP4 heredado?", debería intentar hacer preguntas que cumplan los criterios enumerados anteriormente.

Aquí hay un buen ejemplo de nuestra guía de PHP: “¿Qué son los rasgos? Dé un ejemplo de una declaración de rasgos y una clase que use múltiples rasgos”.

Esta pregunta le permitirá saber mucho más sobre el candidato que las preguntas de trivia. Los rasgos se introdujeron en PHP 5.4, lo que significa que el candidato ha adoptado algunas de las funciones más recientes. Si realmente quiere lanzarle una bola curva al entrevistado, consulte las notas de lanzamiento de PHP y condimente la pregunta con algunas adiciones aún más recientes del registro de cambios oficial en PHP 5.5.x y 5.6.x. Esta pregunta directa y relativamente simple le permitirá saber si el programador está interesado o no en adoptar los últimos desarrollos y utilizar las mejores prácticas.

Por supuesto, el mismo principio se aplica a casi cualquier nicho, no solo a PHP.

Otra buena idea es echar un vistazo más de cerca a la trayectoria del solicitante y los proyectos completados. Al solicitar un trabajo, todos enumeran su mejor trabajo, que puede o no ser representativo de la calidad real. ¿Qué pasa si el candidato se olvidó convenientemente de mencionar un montón de proyectos de los que no está demasiado orgulloso? ¿Hay grandes lagunas en el currículum? ¿El desarrollador completó cinco proyectos de cinco estrellas en cinco años, sin mencionar una docena de proyectos baratos y descuidados que pagaron el alquiler entre ellos? Tales brechas deberían ser una señal de alerta, aunque no son necesariamente un factor descalificador, siempre que exista una explicación razonable para ellas.

Ya no estamos en territorio técnico, esto nos lleva a la personalidad e integridad del candidato, que puede ser más difícil de juzgar que su destreza en la codificación.

Mantenga a su equipo informado para garantizar un buen ajuste

En la mayoría de los casos, el nuevo desarrollador se unirá a un equipo existente, por lo que es vital informar e involucrar al equipo en algún momento del proceso de contratación. El equipo puede ofrecer información invaluable sobre algunos aspectos del proyecto, ayudarlo a prepararse para la entrevista y hacer preguntas relevantes (o incluso preguntas "te pillé") y, obviamente, tienen un interés personal en conseguir el mejor candidato posible. Después de todo, esta es la persona con la que tendrán que lidiar día tras día, tal vez durante meses, tal vez durante años.

Ningún equipo quiere un colega incompetente. Use esto a su favor y toque a su equipo para obtener información adicional. No encontrarás escasez de interés.

Su equipo también puede asegurarse de que el "chico nuevo" encaje. La personalidad es muy útil y, a veces, puede resultar más importante que las habilidades de codificación secas. ¿De qué sirve contratar a un desarrollador de la lista A si no se lleva bien con el equipo? ¿Qué pasa si contratas a un desarrollador estrella de rock que no está dispuesto a compartir sus conocimientos con el resto del equipo?

Desafortunadamente, siempre existe la posibilidad de que la contratación de sus sueños se convierta en una decepción, un egocéntrico y engreído que no agrada al resto del equipo, pero esa es solo otra razón para consultar a su equipo: "No me mires, también te desvinculaste". .”

Bromas aparte, un equipo armonioso es una máquina bien engrasada, y cada engranaje funciona a la perfección. Es bueno para la moral, es bueno para los negocios. ¿Qué sucede si agrega un desarrollador de Android rockstar a su equipo con la esperanza de que mejore la producción? A los grandes desarrolladores les gusta trabajar con sus compañeros, por lo que si tiene muchos desarrolladores sin experiencia a bordo, es posible que los nuevos talentos no solucionen la situación.

Sí, los desarrolladores que dominan todas las pruebas de Android y las preguntas de las entrevistas que les lanzas definitivamente sabrán qué hacer, pero ¿qué sucede si el resto del equipo no puede mantenerse al día? ¿Espera que su nuevo y brillante desarrollador estrella explique todos los puntos a unos pocos desarrolladores "ecológicos" a diario? ¿Esperas que el nuevo desarrollador esté contento con eso? ¿Qué pensará el resto del equipo, si está contratando a alguien para superarlo, a pesar de su antigüedad percibida?

Volviendo a la analogía steampunk: un solo engranaje de titanio no hará que el resto de la máquina sea tan fuerte. Un gran desarrollador deseoso de tomar la iniciativa y compartir conocimientos puede ayudar a algunos compañeros de equipo, pero no a todos.

Para asegurarse de que no haya fricciones innecesarias, simplemente debe consultar a su equipo, y no hay forma de evitarlo.

Sea realista y directo

Todo el mundo quiere contratar al mejor desarrollador que existe, y todo desarrollador quiere conseguir el trabajo de sus sueños, pero seamos realistas; todos deben operar dentro de las limitaciones de su presupuesto, por lo que el dinero suele ser el factor limitante. Las buenas personas cuestan mucho dinero, por lo que muchas organizaciones simplemente no pueden pagar los mejores desarrolladores que existen.

Los empleadores por lo general quieren al mejor desarrollador que puedan pagar y, en muchos casos, en realidad no necesitan al mejor desarrollador en el negocio, porque el proyecto en el que están trabajando no requiere habilidades de vanguardia. Los desarrolladores, por otro lado, quieren ser bien compensados ​​por sus esfuerzos, quieren trabajar en proyectos interesantes, con compañeros de equipo capacitados.

Sin embargo, el dinero no lo es todo .

Si logra encontrar un desarrollador que comparta su visión y crea en lo que está haciendo, puede obtener más de lo que esperaba. Si el desarrollador cree que está trabajando en un buen proyecto con mucho potencial a largo plazo, lo más probable es que intente hacer un trabajo excepcional y se desempeñe más allá del llamado del deber. El proyecto podría ser una buena oportunidad en los próximos años y podría verse bien en su currículum.

Si, por otro lado, el desarrollador se queda solo por el cheque de pago y no cree que el proyecto sea realmente prometedor y excepcional, es muy poco probable que obtenga el mismo nivel de compromiso o lealtad.

En pocas palabras: no puede esperar milagros, no puede esperar contratar al mejor profesional independiente que existe, especialmente si tiene un presupuesto limitado y no está trabajando en un proyecto de primer nivel. Debe concentrarse en obtener el mejor desarrollador que pueda obtener, no el mejor desarrollador del mundo.