La Guía Vital Para Contratar Excelentes Desarrolladores Freelance
Técnicamente,
contratar desarrolladores freelance nunca ha sido tan fácil como
ahora, pero no te engañes cayendo en un falso sentido de seguridad.
El número de plataformas freelance y desarrolladores dotados en el
mercado está creciendo, sin embargo también crecen los desafíos
asociados a encontrar, probar y seleccionar un candidato
verdaderamente excelente.
Entonces,
¿Cómo hacemos esto? Bueno, hay muchos freelancers de donde escoger;
muchos son buenos pero no todos. Mientras más grande sea el mercado,
más grande será el riesgo. Con más candidatos de donde escoger,
revisar referencias y hacer un filtro de cada candidato a escoger
puede ser problemático, en especial si publicas un anuncio en una
plataforma freelance importante y recibes cientos de aplicaciones.
Entonces
¿Cuál es la forma más segura y rápida de contratar
desarrolladores freelance? Si piensas que estoy a punto de decir
Toptal, te equivocas. Llámame anticuado, pero todavía creo en la
información que se pasa de boca en boca y recomendaciones
personales. En cualquier momento, puedo contactar a algunas personas
con quien trabajé anteriormente y pedirles que me recomienden a un
programador o diseñador freelance. Sin embargo, esto no funciona
para todo el mundo; he pasado muchos años en el mundo de la
tecnología y conozco muchas personas en quienes confío.
Obviamente,
la confianza es un pre-requisito para cualquier compromiso serio en
cualquier negocio y relación personal. Pero ¿qué pasa cuando no
conoces a las personas indicadas y tienes que dirigirte a un enorme
mercado freelance para buscar talento? Después de ver unas cuantas
docenas de solicitudes, la gente empezará a dudar de su propio buen
juicio, y será igualmente difícil confiar en extraños y sus
promesas. La confianza es buena, la confianza vende.
Toptal
está, en parte, construido sobre ese concepto – por esto es que
nuestros desarrolladores pasan por un proceso de selección y por lo
que podemos garantizar calidad, algo que otras plataformas freelance
no hacen (y no pueden). Como verás, simplemente sacamos un par de
desconocidos de la ecuación, permitiéndoles a los clientes que se
enfoquen en lo realmente importante de un candidato, y así se reduce
la exposición a cualquier tipo de riesgos.
Entonces
¿Qué es realmente
importante? Echemos un vistazo a algunos aciertos y desaciertos al
momento de contratar trabajadores freelance.
No Te Apresures
Esta
es obvia; si quieres contratar desarrolladores freelance, debes
tomarte tu tiempo y no lo puedes evitar. Por supuesto, esto se aplica
a cualquier industria, pero en una industria de ritmo acelerado como
la nuestra, no es tan fácil como parece. La competencia es brutal,
las fechas de entrega son precisas, sin embargo gran parte del
trabajo se puede hacer de manera remota. Contratar rápidamente a un
par de desarrolladores freelance para acelerar el desarrollo, o
unirse a un nuevo proyecto con una fecha de entrega precisa, suena
muy tentador. Sin embargo, normalmente no es una buena idea.
Si
es posible, deberías tratar de trabajar con el desarrollador antes
de tomar la decisión final. La prueba puede involucrar un pequeño
proyecto, o solo un número de pruebas. El período de evaluación no
tiene que ser tan largo, siempre y cuando sea bien pensado. También
es buena idea involucrar al resto de equipo; después de todo, ellos
estarán trabajando con el nuevo desarrollador y puede que sean ellos
quienes puedan identificar algunos problemas, que pueden pasar
desapercibidos. Escucha sus opiniones, pídeles sus observaciones y
no tomes la decisión solo.
Aun
así, una evaluación puede que no funcione en todas las situaciones
que se presenten. Si tu candidato es un desarrollador cualificado y
con mucha experiencia, podría tomarse esto, un poco como un insulto
profesional. Depende de su ego, sin embargo, no quieres tener prima
donnas en tu equipo, ¿cierto?
Un
candidato razonable debería estar dispuesto a hacer todo lo posible
y estar de acuerdo con al menos algún tipo de evaluación. Si no,
esto debe ser una señal de advertencia para ti; normalmente
significa que el candidato no se toma el trabajo muy
en serio y
no quiere comprometer mucho de su tiempo y esfuerzo. Otra explicación
puede ser la confianza, ej., los candidatos que asumen que están
sobre-calificados para el trabajo y no tienen que demostrar nada. No
hay nada de malo en un poco de arrogancia y competitividad, pero
mucho de esto puede crear una fricción entre los miembros del
equipo.
No Es Solo Sobre La Tecnología
Entonces,
estás buscando un desarrollador freelance y tu enfoque está en sus
capacidades de codificación más que cualquier otra cosa. Por
supuesto, las habilidades técnicas son una prioridad, pero antes de
llegar a eso, echemos un vistazo al lado humano de todo. ¿Cómo es
la cultura de tu compañía? ¿Qué piensa tu equipo del nuevo
desarrollador? ¿Qué piensa el candidato de ti?
¿Es
el candidato una buena opción?
A
pesar de que esto suena como una buena pregunta, los empleadores
normalmente pasan por alto el aspecto cultural debido a su enfoque en
las habilidades técnicas. Ahora, si estás apurado y necesitas un
par de freelancers que te ayuden a cumplir con una fecha precisa en
un mes o dos, el énfasis, claramente, debería estar en habilidad y
ejecución. Sin embargo, si estás buscando personas que se
comprometan por meses o años, que se puedan convertir en miembros
del equipo a largo plazo y eventualmente, liderar sus propios
equipos, es muy importante considerar el aspecto humano. De igual
modo, los desarrolladores freelance pueden evolucionar rápidamente y
llegar a ser miembros vitales del equipo y eventualmente líderes de
éste. Si contratas un buen freelancer y todo funciona bien, en un
año o dos podrías estar compartiendo una oficina con esa persona.
La
tecnología cambia y evoluciona, así que los desarrolladores tienen
que adaptarse y aprender nuevas habilidades mientras avanzan. La
gente también puede cambiar, pero no es algo con lo que puedes
contar. Con eso en mente, a veces es mejor escoger un candidato
dispuesto a aprender nuevas habilidades y ser parte del equipo, y no
un buen programador quien causa fricción en el equipo.
Hay
un millón de programadores cada uno con su propia personalidad y
cada compañía también es diferente, así que no hay una regla
universal cuando se trata de compatibilidad cultural; esto depende de
ti.
La
mayoría de las habilidades técnicas se vuelven obsoletas en
cuestión de años, pero el trato personal, profesionalismo y
dedicación, no envejecen. Un desarrollador dispuesto a adaptarse a
tendencias de una nueva industria y dominar nuevas habilidades, puede
llegar a ser más valioso que un desarrollador que es excelente en un
área en particular. Un proceso de entrevistas bien hecho debería
hacer referencia a estos problemas.
Dependiendo
de dónde estés y qué tipo de negocio diriges, puede ser una buena
idea consultar con alguien acostumbrado a lidiar con desarrolladores
freelance; en especial si no has tenido oportunidad de hacerlo tú
mismo antes. Un número de fallas legales y de impuestos podría
afectar negocios en ciertas jurisdicciones, así que si estás
pensando en contratar a tu primer freelancer, asegúrate de consultar
a tu contador (y hasta a tu abogado). Por suerte, en la mayor parte
del mundo no te deberías ver afectado por leyes de trabajo
desactualizadas o códigos de impuestos escritos en la era de la
computación de tubos vacíos.
Abastecimiento, Preselección, Plan
Poniendo
de lado las habilidades humanas, la aptitud técnica es la
preocupación primaria para los empleadores. El número de
tecnologías usadas en el desarrollo crece constantemente, al igual
que la necesidad de hacer un filtro rápido y eficiente para los
candidatos que no cumplen con lo requerido. Esto puede ser más
difícil de lo que parece, en especial si necesitas candidatos
capaces de trabajar en par de frameworks diferentes al igual que con
idiomas. Hay mucho que cubrir.
Llevar
a cabo una entrevista exhaustiva toma tiempo y esfuerzo. También
requiere preparación, ya que necesitas formular tus preguntas
cuidadosamente. Por suerte, Toptal te puede ayudar con una gran
variedad de guías de contratación, las cuales cubren varios temas.
Ya sea que estés buscando un trabajo o quieres contratar un
desarrollador freelance, deberías revisar algunas de nuestras
fuentes.
Vamos
a dar un paso atrás y veamos un proceso de contratación típico.
Una vez que ya has identificado tus necesidades y hayas empezado a
prepararte para el proceso de abastecimiento, distintos métodos de
encontrar candidatos indicados se hacen disponibles –
abastecimiento interno, anuncios de trabajo tradicionales y las
confiables recomendaciones personales.
Sin
importar el método que escojas, tendrás que escribir un buen
resumen del proyecto y una descripción del trabajo. Puedes usar las
descripciones de trabajo de Toptal como un buen punto de partida; por
ejemplo revisa nuestras descripciones de trabajo para desarrollador
en front-end y back-end.
Recuerda, si quieres desarrolladores talentosos, personas que puedan
obtener un nuevo trabajo con pocos días de anticipo, debes hacer un
poco de marketing. Esto no significa que tengas que vender
exageradamente el proyecto, pero sí necesitas comercializarlo
apropiadamente para atraer personas de calidad.
Pregúntate si ¿tú mismo responderías a tu anuncio si fueses un
desarrollador freelance de calidad?
Una
vez empiecen a llegar las solicitudes, es muy probable que termines
con mucha data sin procesar que necesita pasar por este proceso antes
de empezar con la preselección de candidatos. Algunos candidatos
simplemente no cumplirán con los requisitos y serán rechazados en
esta primera etapa, otros serán preseleccionados, mientras que otros
serán considerados candidatos de segundo nivel – candidatos que
pueden realizar el trabajo, pero les resta atención aquellos con más
talento. Es buena idea mantener en la mira a estos candidatos, en
caso de que los necesites más adelante.
Las Entrevistas Necesitan Cubrir Aptitudes Técnicas y Mucho Más
Ahora
que has reducido el campo de posibles candidatos, es hora de
organizar algunas entrevistas. Esto no es solo hacer muchas preguntas
de cultura general en tecnología a las personas, mientras tratas de
descifrar si son una buena adición para tu equipo; éste es un
proceso serio y necesita estar basado en mucha investigación y
preguntas bien seleccionadas, diseñadas para sacar lo mejor (o peor)
de cada candidato.
Obtener
respuestas excelentes a preguntas técnicas incorrectas no te lleva a
ninguna parte.
Aquí
hay un par de puntos a tomar en cuenta cuando hagas preguntas
técnicas:
-
No hagas preguntas de cultura general que tienen que ver más con la historia de la tecnología que con el trabajo como tal.
-
Trata de evitar preguntas encontradas comúnmente en guías de contratación; si es online, cualquiera que se haya preparado para la entrevista podría saberla.
-
Haz preguntas prácticas y abiertas, estas le dan al candidato un grado de libertad creativa.
-
Revisa algunos de los proyectos previos del candidato y haz algunas preguntas relevantes sobre estos.
-
Trata de aprender sobre los hábitos y habilidades profesionales del candidato, ej., ¿cada cuánto aprenden habilidades nuevas y pulen las que ya tienen?
Ahora,
veamos cómo se vería esto en el mundo real, usando la
guía de contratación PHP de Toptal.
Por ejemplo, en vez de hacer preguntas de cultura/históricas como,
“¿Cuándo se llegó al mainstream PHP 5?”, o “¿Por qué la
función
array_merge()
causó
problemas de compatibilidad al ejecutar el código heredado PHP4?”,
deberías intentar hacer preguntas que vayan con los criterios
expuestos arriba.
Aquí
hay un buen ejemplo de nuestra guía PHP: “¿Qué son los traits?
Da un ejemplo de un trait de
declaración y una clase que use traits múltiples.”
Esta
pregunta te ayudará a saber mucho más sobre el candidato, a
diferencia de preguntas de cultura general. Los traits fueron
introducidos en PHP 5.4, lo cual quiere decir que el candidato ha
adquirido algunas de las últimas herramientas. Si quieres probar de
verdad al entrevistado, revisa las notas de lanzamiento de PHP y
enriquece la pregunta con unas adiciones aún más nuevas del
registro de cambios de PHP 5.5.x y 5.6.x. Esta pregunta relativamente
simple y directa, te dejará saber si el programador quiere o no
adoptarse a los últimos avances y usar las mejores prácticas.
Por
supuesto, el mismo principio se aplica a casi todo nicho, no solo
PHP.
Otra
buena idea es indagar más la trayectoria del candidato, al igual que
sus proyectos completados. Cuando se solicita un trabajo, todo el
mundo muestra su mejor trabajo, lo cual puede o no representar la
calidad verdadera del candidato. ¿Qué tal si el candidato olvidó
mencionar los trabajos de los que no se siente muy orgulloso? ¿Hay
grandes vacíos en el currículo? ¿El desarrollador completo
proyectos de cinco estrellas en cinco años, sin mencionar una docena
de estos que fueron baratos y descuidados, pero que pagaban el
alquiler? Estos vacíos deberían ser una advertencia, aunque no son
necesariamente un factor de descualificación, mientras haya una
explicación razonable para esto.
Ya
no estamos en territorio técnico, esto nos trae a la personalidad
del candidato y su integridad, la cual puede ser más difícil de
juzgar que cualquier proeza de codificación.
Mantén A Tu Equipo En El Círculo Para Asegurar Una Buena Adición
En
la mayoría de los casos, el nuevo desarrollador se unirá a un
equipo ya existente, así que es vital informar al equipo e
involucrarlos, en algún momento, del proceso de contratación. El
equipo puede ofrecer opiniones invaluables sobre algunos aspectos del
proyecto, ayudarte en la preparación de la entrevista y hacer
preguntas relevantes (o hasta preguntas “atrevidas”), y,
obviamente, ellos tienen un interés establecido en conseguir al
candidato más adecuado. Después de todo, esta es la persona con
quien tendrán que lidiar todos los días, tal vez por meses o años.
Ningún
equipo quiere un colega incompetente. Usa esto para tu beneficio y
usa a tu equipo para un beneficio adicional. No encontrarás una
ausencia de interés.
Tu
equipo también se puede asegurarse de que el “tipo nuevo” encaje
bien. La personalidad ayuda mucho y, a veces, puede ser más
importante que habilidades de codificación aburridas. ¿De qué vale
contratar un desarrollador excepcional si no se lleva bien con el
equipo? ¿Y si contratas a un desarrollador estrella que no está
dispuesto a compartir su conocimiento con el resto del equipo?
Desafortunadamente,
siempre existe la posibilidad de que tu contratado soñado se
convierta en una decepción, un egocéntrico arrogante que todos
odian, pero esa es otra razón importante por la cual debes consultar
a tu equipo: “No me culpes, tú también lo aprobaste.”
Hablando
en serio, un equipo armonioso es una máquina a todo vapor, y todo
eslabón funciona perfectamente. Es bueno para la moral y para el
negocio. ¿Qué pasa si agregas un desarrollador estrella de Android
a tu equipo con la esperanza de que mejore la producción? Los
grandes desarrolladores les gusta trabajar con sus compañeros, así
que si tienes muchos desarrolladores sin experiencia a bordo, el
nuevo talento puede que no sea la solución.
Sí,
los desarrolladores que aprueban todas las pruebas
Android y las preguntas en la entrevista que
les lanzas, sabrán exactamente qué hacer, pero ¿qué pasa si el
resto del equipo no puede mantenerse a flote? ¿Esperas que tu nuevo
desarrollador estrella le explique, a diario, cada punto a algunos
desarrolladores “verdes”? ¿Esperas que el nuevo desarrollador
esté contento con esto? ¿Qué va a pensar el resto del equipo –
si contratas a alguien superior a ellos, a pesar de su antigüedad?
Volvamos
a la analogía steampunk - un solo eslabón de titanio no hará al
resto de la máquina tan fuerte como debería. Un gran desarrollador
con ganas de tomar la iniciativa y compartir conocimiento puede
ayudar a un par de compañeros, pero no a todos.
Para
tener la seguridad de que no haya fricciones innecesarias, solo
tienes que consultar a tu equipo, no hay otra salida.
Se Realista y Directo
Todos
quieren contratar al mejor desarrollador, y todo desarrollador quiere
conseguir el trabajo soñado, pero seamos realistas; todos deben
operar dentro de un presupuesto restringido, así que el dinero
tiende a ser un factor limitante. La gente buena cuesta un buen
dinero, así que muchas organizaciones simplemente no pueden costear
a los mejores desarrolladores.
Los
empleadores usualmente quieren al mejor
desarrollador que puedan costear,
y en muchos casos en realidad no necesitan al mejor desarrollador en
el mercado, porque el proyecto en el que están trabajando no
requiere habilidades innovadoras. Los desarrolladores por su parte,
quieren una buena compensación por sus esfuerzos, quieren trabajar
en proyectos interesantes, con compañeros especializados.
Sin
embargo, el
dinero no lo es todo.
Si
logras encontrar un desarrollador que comparta tu visión y crea en
lo que haces, puede que recibas más de lo pediste. Si el
desarrollador cree que están trabajando en un buen proyecto con
mucho potencial a largo plazo, es muy probable que quieran hacer un
trabajo excepcional y llevar a cabo sus tareas mucho mejor de lo
esperado. El proyecto puede ser una buena oportunidad por los
próximos años, y se puede ver muy bien en sus currículos.
Si
por el contrario, el desarrollador se queda solo por el cheque y no
cree que el proyecto es excepcional y promete, es muy poco probable
que obtengas el mismo nivel de compromiso o lealtad.
El
punto es: No puedes esperar milagros, no puedes esperar contratar al
mejor freelancer, en especial si tienes un presupuesto corto y no
estás trabajando en un proyecto de alta categoría. Debes enfocarte
en conseguir el mejor desarrollador que puedas, no el mejor
desarrollador del mundo.
por:
Nermin Hajdarbegovic
Articulo
vía: Toptal
No hay comentarios: