Filtro para posiciones, encuesta para comprobar compatibilidad
Motivación
Aunque parezca mentira, debido a la alta demanda de desarrolladores de todo tipo en el mercado por parte de las empresas, muchos recruiters y headhunters se han vuelto máquinas del copy paste. No sé la cifra o la cantidad diaria de mensajes que envían a todos los perfiles de su red que hacen "match" con la posición nueva que tienen disponible, pero apostaría que no son pocos. Y no es que no me guste que me envíen mensajes, pero me gustaría que me enviaran mensajes que realmente me interesen y que me hagan pensar que han visto mi perfil, mi código o alguno de mis trabajos y que realmente me quieren contratar por mis habilidades.
No suele ser así, muchos usan programas para automatizar el proceso de búsqueda de perfiles como Hiretual o Jobvite, envían mensajes a todos los usuarios "que hacen match" y en ocasiones esto no funciona muy bien. Ya que en tu perfil pone claramente desarrollador Frontend, tu experiencia dice lo mismo... pero, ellos tienen una posición Java con microservicios increíble para ti.
Otras veces se mete la pata y te envían un mensaje con el nombre de tu compañero de equipo:
La idea
Cuantas veces has tenido una llamada con preguntas como:
- ¿ Por que buscas un cambio ?
- ¿ Conoces los principios SOLID ?
- ¿ Cuantos años dirías que has trabajo con React ? ¿ Y Typescript ?
- ¿ Sabes lo que es la integración continua ?
Para que despues te ofrezcan un salario inferior al que tienes, o que te pidan el CV para no volver a decirte nunca nada.
¿ How many times bro ?
La idea es filtrar tú antes que te filtren a ti.
Solución
10 simples preguntas sobre puntos que consideres importantes, requisitos, valores.. o básicamente lo que te de la gana y si se cumplen, el recruiter obtendrá información de contacto para poder entrar en detalle de todo el proceso.
Es un win win, ambos ahorramos tiempo, ¿ no ?
Código
Con un componente container o página, un par de botones, radiobuttons y un array de objectos tienes más que suficiente, en mi caso:
Tengo mi página:
Mi hook con lógica
Esta parte ya no funciona. La encuesta enviaba sus respuestas por POST a una ruta /api/email
montada sobre nodemailer, y el endpoint ya no existe — la encuesta no manda ningún correo. Dejo la nota en
vez del código porque el snippet tenía dos problemas que merece la pena nombrar.
nodemailer.createTransport({ service: process.env.EMAIL_HOST }) usa mal service: espera el
identificador de un proveedor conocido ("gmail"), no un host SMTP cualquiera, así que apuntarlo a un
host propio no configura el transporte. Para eso van host, port y secure.
Y el cuerpo del mensaje se construía interpolando valores directamente en HTML — incluido un name
sacado de la query string y navigator.userAgent. Todo lo que venga del usuario y acabe en un correo
HTML hay que escaparlo antes. La encuesta ahora valida ese nombre contra un patrón antes de usarlo en
ningún sitio, que es la costumbre que merece la pena copiar de este post.
Resultado
Pruebalo tu mismo: Enlace al resultado
