3 puntos por GN⁺ 2024-02-12 | 1 comentarios | Compartir por WhatsApp
  • A fines de 2023, un desarrollador de software que fue despedido contactó a 30 empresas mientras buscaba un nuevo empleo, y comprobó que el mercado estaba más ajustado de lo esperado: 8 rechazos, 6 sin respuesta y 3 ofertas
  • Los canales de búsqueda se centraron en Open to work de LinkedIn, una lista previa de empresas de interés y sitios de matching para desarrolladores como Demando; las búsquedas remotas y las ofertas antiguas resultaron poco confiables
  • El proceso de contratación típico era largo, de 4 a 5 etapas, desde reclutador, manager, entrevista técnica, tarea práctica y entrevista con CTO/fundador; las pruebas de programación con tarea tomaron mucho más tiempo de lo que decían las empresas
  • Preparó respuestas STAR para preguntas conductuales, snippets de código en Python y Go, Leetcode, GoLand, ChatGPT, GitHub Copilot, etc., pero en live coding la tensión redujo su capacidad de pensar frente a lo habitual
  • En un mercado más difícil, los requisitos de experiencia por lenguaje, las respuestas lentas, confirmar rangos salariales y coordinar los tiempos de varios procesos terminaron influyendo en la negociación de ofertas y la decisión final

Situación justo después del despido y actitud de preparación

  • A fines de octubre del año pasado, la empresa despidió a 17 personas, incluidos 8 desarrolladores
  • Unos minutos después de una llamada por Zoom con el CEO, se cortó todo el acceso a los recursos de la empresa
    • No pudo hacer push de varios cambios en los que estaba trabajando
    • Se volvió difícil despedirse bien de sus colegas
  • Varios colegas lo contactaron por LinkedIn, y algunos agendaron llamadas por Zoom para hablar sobre la situación y poder despedirse
  • Sus cambios de trabajo anteriores casi siempre habían sido por decisión propia mientras seguía empleado, cerrando pendientes durante el período estándar de preaviso en Suecia, de 3 meses, antes de pasar a una nueva empresa
  • Gracias al corte inmediato de acceso, pudo dedicar todo su tiempo a buscar trabajo mientras seguía recibiendo salario
  • Mantenía una lista de empresas en las que le gustaría trabajar, con la idea de que debía poder encontrar un nuevo empleo en cualquier momento, y también conservaba una buena relación con reclutadores con los que había hablado en el pasado

Canales para buscar empleo

  • Uso de LinkedIn

    • Cambió el estado Open to work de LinkedIn de “Flexible, I am casually looking” a “Immediately, I’m actively applying”
    • Limitó la visibilidad a reclutadores, no a todos los miembros de LinkedIn, y no usó el marco verde #OpenToWork en la foto
    • Durante la primera semana tras cambiar el estado, recibió contacto de unos 5 reclutadores por día
    • La calidad de los roles fue similar a la habitual, pero la frecuencia de contacto aumentó mucho
    • Revisó su lista de empresas de interés y miró tanto la pestaña Jobs de las páginas de empresa en LinkedIn como las páginas de empleo de cada compañía
    • LinkedIn resultó cómodo porque permite ver la cantidad de postulantes, cuándo se publicó la oferta, si hay conocidos dentro de la empresa y quién publicó el aviso
    • Búsquedas por palabras clave como “Golang Stockholm”, “Recommended for you” y “Jobs where you’d be a top applicant” de Premium también mostraron algunas ofertas aceptables
    • La búsqueda totalmente remota de LinkedIn fue poco confiable
      • Había problemas como roles que solo permitían remoto dentro del Reino Unido mezclados en los resultados
      • Consideró que sería útil poder buscar por rangos como totalmente remoto dentro de Suecia, totalmente remoto dentro de la UE o totalmente remoto a nivel mundial
    • Era difícil ver solo ofertas recientes, por lo que había que seguir pasando avisos ya vistos
    • Más tarde descubrió una forma de buscar en Google configurando el período en la última semana y usando consultas como golang fully remote site:linkedin.com/jobs
    • Volvió a contactar a unos 15 reclutadores con los que había hablado antes en LinkedIn, pero no obtuvo resultados
    • También envió InMail a managers que estaban contratando, pero no recibió respuesta
  • Otros sitios y métodos de búsqueda

    • Usó Demando, un sitio sueco de matching entre desarrolladores y empleadores
    • Activó un perfil con sus tecnologías y salario mínimo deseado, y más tarde recibió una oferta de una de las empresas que lo contactó por ese sitio
    • También encontró en Demando ofertas de otras empresas que no había visto en LinkedIn y se postuló; una de esas empresas también le hizo una oferta
    • Miró brevemente RemoteOK, pero no encontró ofertas a las que valiera la pena postularse y, en general, sintió que la calidad de los avisos era menor que en LinkedIn
    • Efinancialcareers casi no tenía roles totalmente remotos y la búsqueda era difícil
    • También revisó el hilo mensual Who’s hiring de Hacker News, pero fue difícil encontrar elementos relevantes
    • Para encontrar empresas similares, también descubrió el método de buscar en Google combinaciones de “competitor to” o “alternative to” con el nombre de una empresa

Gestión de postulaciones y experiencia con las respuestas

  • Todos los reclutadores pedían CV, aunque ya hubiera información similar en el perfil de LinkedIn
  • Al postularse directamente a empresas, la mayoría también pedía CV y muchas solicitaban carta de presentación
    • Guardaba las cartas de presentación escritas y, al hacer una nueva postulación, copiaba y modificaba la más parecida de las anteriores
  • Para administrar sus postulaciones, creó una hoja de Excel y registró nombre de la empresa, fecha de postulación, reclutador o persona a cargo y notas generales
    • En total había 30 entradas, aunque no todas derivaron en una postulación formal
  • De las empresas a las que se postuló, 6 no respondieron en absoluto
    • Algunos avisos tenían más de un mes de antigüedad
    • Consideró que, si una oferta ya no está vigente, deberían bajarla
  • Si no había tenido contacto con alguien de la empresa, la falta de respuesta no le parecía un gran problema, pero no responder después de una entrevista empeoraba su percepción de la empresa
    • Una empresa dijo que agendaría una entrevista con el manager después de la entrevista inicial con el reclutador, pero luego dejó de responder
    • Dos semanas después envió un correo, pero no recibió respuesta; recién otras dos semanas más tarde, después de escribir que ya no estaba interesado, recibió una disculpa tibia

Herramientas pagas y materiales de preparación

  • Pagó un mes de LinkedIn Premium, pero fue menos útil de lo esperado
    • No estaba seguro de si podía ver más personas que habían visto su perfil, y para la búsqueda de empleo tuvo un valor limitado
    • También envió algunos InMail, pero no fueron de gran ayuda
    • “Jobs where you’d be a top applicant” tampoco tuvo un valor decisivo
    • Lo canceló después de un mes y, antes de cancelar, recibió una opción para extenderlo 2 meses por el precio de 1 mes
  • Como estaba buscando trabajos en Go, pagó dos meses de licencia de GoLand para practicar en un entorno familiar
  • También probó GitHub Copilot, pero no lo usó mucho para asegurarse de que en las entrevistas quedara claro que había programado por su cuenta
  • Su suscripción existente a ChatGPT fue útil para crear rápidamente el framework básico de lo que quería hacer en varias pruebas con tarea
  • La versión paga de Leetcode servía para preparar entrevistas porque permite ver las explicaciones
  • Una empresa usó el test de IQ de Alva Labs, así que pagó el Alva Logic Cram Course de 12minprep para practicar
    • Sintió que la práctica previa lo ayudó a rendir mucho mejor en el test

Un mercado más ajustado y requisitos de experiencia por lenguaje

  • En comparación con los 10 años anteriores, sintió que el mercado de contratación de desarrolladores se había vuelto claramente más difícil
  • Todavía había muchas ofertas a las que podía postularse, pero la cantidad de postulantes por rol parecía mayor que antes
    • Muchas ofertas en LinkedIn que mostraban el número de postulantes indicaban más de 100
  • El hecho de que más empresas no respondieran incluso en roles que le parecían adecuados también fue una señal de que el mercado se había vuelto más difícil
  • Aumentaron los requisitos de experiencia en lenguajes específicos
    • En el pasado había empezado roles de desarrollo en Python o Golang sin experiencia previa en esos lenguajes, y había sido productivo rápidamente
    • Consideraba que varios lenguajes imperativos se parecen entre sí y que es posible adaptarse al lenguaje
    • Sin embargo, muchos reclutadores transmitían como requisito estricto de la empresa contratante tener 2 a 3 años de experiencia en un lenguaje específico

Proceso de entrevistas y forma de preparación

  • Proceso y carga de agenda

    • Un proceso de contratación típico estaba compuesto por 4 a 5 entrevistas
      • Entrevista inicial con reclutador
      • Entrevista con el hiring manager
      • 1 o 2 entrevistas técnicas
      • Prueba con tarea o live coding
      • Según el caso, entrevista con product manager, CTO o fundador
    • Los roles remotos se manejaban por Zoom, Meet o Teams
    • La mayoría de los puestos locales en Estocolmo querían entrevistas presenciales
    • Por el tiempo de traslado, una entrevista presencial ocupaba medio día
    • En cambio, era posible hacer varias entrevistas remotas en un mismo día
    • Las entrevistas presenciales tenían la ventaja de permitir entender mejor a las personas y el ambiente de la oficina
  • Preguntas conductuales y preparación técnica

    • En un documento de Word que ya mantenía, Interview Tips, organizó contenidos para revisar antes de las entrevistas
    • Esta vez agregó una sección Behavioral Questions para prepararse ante preguntas como “cuéntame sobre una vez en que tuviste una diferencia de opinión con un colega”
    • Preparó respuestas siguiendo el framework STAR: Situation, Task, Action, Result, Reflection
    • Revisó la lista de preguntas de Rock the Behavioral Interview de Leetcode y organizó casos que podía usar
    • Esta vez no falló ninguna entrevista por preguntas conductuales
    • También anotó snippets cortos de código en Python y Go en el documento
      • El objetivo era recordar rápidamente patrones e idioms comunes
      • Ejecutó todos los snippets para verificar que no tuvieran errores e incluyó también la salida correspondiente
    • También vio el video de Gergely Orosz Confessions from a Big Tech Hiring Manager: Tips for Software Engineering Interviews
    • En las entrevistas técnicas, asumió que era importante mostrarse curioso y colaborativo, y hacer preguntas

Experiencia en entrevistas y pruebas de programación

  • Entrevistas generales

    • En las entrevistas iniciales dijo abiertamente que había sido despedido de su trabajo anterior por reducción de costos
    • No pareció que haberlo mencionado jugara en su contra
    • En las conversaciones con reclutadores o managers no se sintió nervioso porque tenía claro qué quería hacer y cuáles eran sus fortalezas
    • Tampoco se puso nervioso en entrevistas técnicas sin programación cuando trataban sobre tecnologías familiares, y solo falló una
    • En una pregunta sobre qué timeout poner para una conexión a base de datos, dio un número demasiado alto, y esa respuesta derivó en el rechazo
  • Pruebas con tarea

    • Hubo más pruebas con tarea que en su última ronda de entrevistas de hace algunos años
    • Las pruebas con tarea son menos estresantes que el live coding, pero consumen mucho más tiempo
    • Sin importar lo que dijera la empresa, estimó que cada tarea tomó al menos 6 horas
    • Para la empresa, pedir una tarea al inicio tiene bajo costo, pero para el candidato supone una gran inversión de tiempo con resultado incierto
    • En total hizo 5 pruebas con tarea
      • 2 en Java
      • 2 en Python
      • 1 en Go
    • Consideró que falló aproximadamente 1 y media
    • En la tarea de Go entregó una solución funcional, pero no incluyó tests
      • Aunque no era un requisito explícito, consideró que debería haberlos agregado
      • También fue motivo de falla no mejorar la velocidad con caching, aunque sintió que no estaba claro si se ejecutaría repetidamente
    • En otra tarea, las pruebas existentes pasaron, pero los tests ocultos revelaron 2 errores relacionados con entradas vacías
      • Consideró que, en un trabajo real, habría escrito tests adicionales por su cuenta
      • Como al final recibió una oferta de esa empresa, la contó como medio fracaso
  • Live coding

    • En live coding sintió que, por los nervios, su cabeza funcionaba apenas al 50% de lo normal
    • En esta ronda de live coding aprobó 3 pruebas y falló 2
    • El primer caso fallido fue una tarea para escribir un programa de ajedrez limitado
      • Solo debía soportar 2 tipos de piezas, pero requería estructura de proyecto, modelo de datos, movimientos válidos y tests
      • Tenía que entregarlo en 2 horas y el tiempo fue muy ajustado
      • La mayor parte funcionaba, pero no logró completar toda la funcionalidad y había un bug en el código de movimiento
    • En el otro caso fallido, los tests del repositorio inicial preparado por la empresa no funcionaban, y también tomó tiempo configurar el entorno
      • Tuvo que hacer varias preguntas sobre cómo debía comportarse la lógica y, al final, todo tomó demasiado tiempo
    • En todas las pruebas de live coding usó el IDE de su propia computadora y compartió pantalla por Zoom

Negociación salarial y elección

  • Al principio, en algunas ocasiones dijo una cifra salarial demasiado alta y las entrevistas se cancelaron
  • Después cambió a una estrategia de contar su salario de los últimos 4 años para comunicar de forma indirecta el nivel deseado
    • Si la empresa decía que no podía pagar eso, respondía que, como estaba desempleado, no tenía un salario mínimo absoluto y que dependía de la propuesta
    • Con este método pudo seguir avanzando en los procesos, y también surgieron oportunidades de recibir mejores ofertas más adelante
  • Después de recibir la primera oferta, negociar se volvió más fácil
  • Cuando preguntó por el rango salarial del rol, sorprendentemente recibió respuesta con frecuencia
    • Fue útil para descartar temprano a empresas por debajo de un nivel aceptable
  • Una empresa le gustaba, así que no confirmó el salario por adelantado, y después de varias entrevistas y una tarea recibió una oferta muy baja
    • Consideró que perdió tiempo por no haberlo confirmado antes
  • También entendió mejor la referencia salarial para desarrolladores en Estocolmo
    • En Suecia se piensa en salario mensual
    • También hay que considerar si incluye aportes de pensión; en la mayoría de los casos están incluidos, y de forma implícita puede haber un 10 a 15% adicional incluido
    • Un salario de desarrollador muy promedio está en torno a 55K a 65K SEK mensuales
    • Más de 80K SEK al mes es más difícil, pero no imposible incluso en un mercado ajustado
    • Además del salario, algunas empresas ofrecen opciones, equity o bonos
  • En la elección final también hay que considerar el interés del producto y la empresa, el lenguaje que se usará, lo que se podrá aprender y los colegas

Resultado final y aprendizajes

  • Una empresa avanzó de forma muy positiva y pidió 2 referencias, pero al día siguiente eligió a otro candidato
    • Le decepcionó que hicieran usar el tiempo de esas 2 referencias
  • Buscar trabajo termina siendo casi un juego de números
    • Aunque se fracase en muchas entrevistas, basta con una empresa exitosa para conseguir un nuevo empleo
  • Al final tuvo 3 ofertas y media como opciones
    • Una empresa no llegó a hacer una oferta formal, pero parecía que sería más baja que las dos ofertas que ya tenía, así que la contó como media
  • Coordinó los procesos de varias empresas para que terminaran en momentos similares, retrasando algunos y acelerando otros
    • Lo hizo posponiendo entrevistas o agendándolas lo antes posible
  • Tener varias ofertas mejoró mucho su posición negociadora y finalmente consiguió un puesto de desarrollador senior en Swissblock, con trabajo interesante y buen salario
  • Buscar un nuevo trabajo implica muchísimo trabajo, y hasta los fines de semana quedan cosas por preparar, lo que dificulta descansar
  • Si se suman entrevistas de 4 a 5 etapas, tareas, investigación de empresas, coordinación de agenda y rechazos, puede tomar varios meses
  • Es difícil evaluar por cuenta propia el resultado de una entrevista, y a menudo los rechazos lo sorprendieron
  • Tener excolegas con quienes hablar sobre el proceso de búsqueda fue de gran ayuda
  • Los reclutadores que responden rápido son importantes para generar confianza en la empresa
  • Cuando un colega es despedido, contactarlo por LinkedIn u otros canales para despedirse tiene mucho significado para esa persona

1 comentarios

 
GN⁺ 2024-02-12
Opiniones en Hacker News
  • Como ingeniero de ML en FAANG, durante el último medio año estuve buscando cambiar de trabajo de forma pasiva, pero no fue para nada como la idea común de que las empresas iban a llegar con fajos de dinero
    Gracias a mi perfil recibo muchos mensajes de reclutadores, pero más de la mitad desapareció a mitad del proceso, y el interés de los reclutadores no es más que una métrica de vanidad para el ego si no se convierte en una oferta
    Aunque hay mucha demanda, los criterios de contratación también son muy altos: las empresas exigen experiencia con el stack tecnológico exacto que usan. Hay varios frameworks importantes de ML, y muchas posiciones quedaron descartadas solo porque yo estaba familiarizado con uno de ellos; una empresa incluso me rechazó porque tenía 6 años de experiencia en cierta tecnología y no llegaba al requisito mínimo de 8 años
    Hasta ahora, el resultado ha sido solo 1 rechazo y 2 ofertas con nivel rebajado a senior, cuando mi objetivo era Staff+. La compensación también en la mayoría de los casos tenía un tope de alrededor de la mitad de mi compensación total actual, y eran contadas las empresas que podían ofrecer más
    En general, el mercado para ingenieros de ML está mejor que el de ingenieros de software, pero no se parece en nada al mercado recalentado de 2020–2022

    • Ahora la reputación de FAANG ya no es uniforme
      Los ingenieros de Google todavía suelen considerarse talento de alto nivel, y los de Apple también tienen buena reputación, pero casi no salen al mercado. Los ingenieros de Facebook/Meta muchas veces están por encima del promedio, pero tienen la imagen de ser competidores agresivos por ascensos internos
      Si buscar trabajo está difícil, uno piensa en Amazon. El pipeline de contratación agresiva y luego PIP de Amazon, al menos en mi experiencia, dañó su reputación, y en los últimos años muchos exingenieros de Amazon con los que trabajé estaban por debajo del promedio
      Hoy ya no tiene mucho sentido agrupar todo como “FAANG”, y las expectativas sobre ingenieros provenientes de cada empresa son bastante distintas. Además, todas atraen menos atención que hace unos años, y el foco se ha desplazado de la capacidad pura de ingeniería a la capacidad de sobrevivir en una gran corporación
    • La suposición de que FAANG le arroja fajos de dinero a candidatos que no son de FAANG es más acertada; al revés, no tanto
      Las esposas de oro son reales e intencionales, y no hay muchas empresas con problemas lo suficientemente grandes como para justificar, por ROI, una compensación al nivel de FAANG
      Además, dentro de los stacks internos de FAANG hay muchas herramientas internas excelentes que no existen afuera, lo que genera la duda: “¿esta persona es experta, o es experta en usar bien el stack interno de Google?”. También está el problema de si podrá ser productiva de inmediato o si antes habrá que reconstruir esas herramientas
      Todos quieren decirle al CEO o a los inversionistas que trajeron talento de FAANG, pero son pocas las empresas que tienen la billetera o la situación exacta para entrar en una guerra de ofertas
      En 2020, cuando como gerente de contratación buscaba ingenieros de ML, ya existía este problema, y en empresas medianas también aparece con frecuencia la pregunta de “¿en qué diablos usamos a un ingeniero de ML?”. Si no es un científico de datos ni un ingeniero de software generalista, es difícil crear un rol intermedio; y si el equipo de datos no está familiarizado con los flujos de trabajo y herramientas de ingeniería, aunque el ingeniero de ML construya sistemas versionados y limpios, como no son KPI, es fácil que se ignoren
    • No es realista aprender todos los stacks tecnológicos populares, pero cuando un ingeniero de software u otro tipo de ingeniero busca trabajo, ayuda dedicar 1 a 2 meses a investigar y familiarizarse con todo el panorama del área que le interesa
      Si no quieres hacer exactamente lo mismo en otra empresa, en las entrevistas tienes que prepararte para parecer experto incluso en tecnologías con las que en realidad quieres familiarizarte después de entrar. En algunos casos quizá tengas que exagerar un poco la experiencia
      La especialización, al final, debería estar más en la forma de pensar que en los datos que uno conoce, pero el mercado laboral no lo ve así, así que hay que estar dispuesto a adornarlo bien y luego respaldarlo estudiando de noche
      Además, el nivel no se traduce tal cual entre entornos. Si encuentras un trabajo que te queda bien, puedes subir; si te obsesionas con el nivel o la compensación, más bien puedes reducir tus opciones
    • No soy de ML ni de FAANG, pero en la UE la situación reciente de compensación es parecida
      Aunque siento que estoy bastante infravalorado para mi experiencia y responsabilidades, la compensación y beneficios de las ofertas recientes son desastrosos
      A diferencia de lo que suele decirse en la UE, muchas vacantes promocionan “híbrido” y “flexibilidad”, pero recién en las etapas finales de la entrevista revelan que hay que ir a la oficina 3 o 4 días por semana y que prefieren reuniones presenciales por la “colaboración”
      Aunque hablan de ajustes por inflación, los salarios están bajando, y da la sensación de que la UE está copiando el recalentamiento y la inestabilidad de estilo estadounidense sin alcanzar sus niveles salariales
    • Si haces ML en FAANG, me da curiosidad qué querrías obtener en otra empresa aparte de más dinero
      Por ejemplo, será difícil conseguir más chips, y en un entorno donde los recursos de cómputo ya son ajustados, probablemente harás menos experimentos y tendrás menos throughput
  • Creo que las dificultades actuales para conseguir empleo en EE. UU. tienen un lado más malicioso que el simple hecho de que las empresas se hayan vuelto más exigentes
    Primero, las empresas estadounidenses están aprendiendo a contratar equipos en el extranjero a menor costo. Cada semana recibo varios correos ofreciendo equipos de Sudamérica o India a tarifas bajas, y en una empresa anterior vi directamente cómo redujeron drásticamente el personal de EE. UU./Norteamérica y lo reemplazaron por equipos en India por pura reducción de costos
    Segundo, también parece haber una tendencia de las empresas estadounidenses a recuperar el control que los trabajadores habían ganado durante la pandemia
    Apenas empecé a buscar trabajo y ya es frustrante: ghosting, falta de respuesta y cosas como “no tienes suficientes años de experiencia para los requisitos”. Por ejemplo, requisitos obligatorios como 3 años de experiencia en .NET 6

    • De acuerdo. Mi empresa también despidió de forma desproporcionada a ciudadanos estadounidenses y prefiere contratar en Latinoamérica
      Hoy revisé a nuestros principales competidores: uno tiene muchas vacantes de programación abiertas en México, y otro está contratando principalmente en India
      No será ChatGPT quien se lleve los empleos de ingeniería en EE. UU., sino desarrolladores más baratos de otros países. Muchos de ellos tienen suficiente nivel de inglés y programación; lo sé porque he trabajado con ellos
    • Llevo años diciendo que los desarrolladores de software de Norteamérica deberían exigir el regreso a la oficina
      Si un trabajo se puede hacer de forma remota, alguien en cualquier parte del mundo puede hacer lo mismo por una quinta parte del costo
    • Las empresas estadounidenses ya aprendieron a contratar equipos en el extranjero a bajo costo hace 15 a 20 años, durante la primera ola de outsourcing a India
    • Esto ya no es una teoría conspirativa. Si abres las 100 principales empresas y comparas las regiones de contratación de hace 3 años con las de este año, verás que aumentaron las regiones fuera de EE. UU.
  • No seguí el consejo de incluir una foto de perfil profesional dentro de los “elementos clave de un micrositio para buscar trabajo”
    Tras trabajar como fotógrafo, aprendí que estoy mucho mejor detrás de la cámara apretando el botón, y creo que en las contrataciones en Estados Unidos no debería incluirse una foto
    Por la larga historia de discriminación y los sesgos que todavía persisten, si es posible también conviene quitar el nombre, porque puede dar pistas sobre género, raza o etnia, casta y origen socioeconómico
    Las fotos eran fáciles de eliminar del proceso de contratación y, de hecho, habían desaparecido en Estados Unidos, pero sitios de estilo “red social” como LinkedIn volvieron a meter la foto de perfil en los currículums

    • El autor no está en Estados Unidos, sino en Suecia
      Aunque suene raro, en muchos países europeos la foto de perfil aparece de forma prominente en el currículum. Me impactó cuando empecé a contratar para oficinas de la UE, pero allá se hace así
      Me sorprendió aún más porque había escuchado muchas veces que Europa estaba por delante de Estados Unidos en temas de discriminación, pero en los currículums reales aparecía no solo la foto de perfil, sino incluso el estado civil. Cuando le pedí a un reclutador local que quitara esa información, me trataron como si el raro fuera yo
    • Cuando me mudé de Australia a Alemania también me sorprendió eso, y me pareció una práctica europea
      Algunas personas incluso ponen “soltero” o “casado” en el currículum, aunque escuché que hoy en día eso está disminuyendo
    • Leí el artículo y no vi eso. Quizá lo actualizaron
    • Cuando recibí capacitación para entrevistas, una de las razones por las que insistían tanto en pasar el currículum por un parser automático era justamente eliminar fotos y ese tipo de información
    • Aunque se diga que las fotos no encajan en las contrataciones de Estados Unidos, quizá convenga releer los consejos de vestimenta profesional de Don Burleson: https://www.dba-oracle.com/dress_code.htm
      Mostrar una apariencia prolija y profesional hace una diferencia real para los empleadores, y una empresa puede despedir o no contratar legalmente a alguien por no cumplir con esos estándares
  • No dudo que incluso para un desarrollador con tanta experiencia como el autor haga falta esfuerzo, pero 3 ofertas en 30 postulaciones suena como un resultado de ensueño
    Para la mayoría de quienes están al inicio de su carrera, lo más probable es que postulen a más de 100 puestos para conseguir algunas entrevistas y, con suerte, una oferta

    • El autor tiene más de 30 años de experiencia y postuló a trabajos de menos de 100 mil dólares al año
      Comparado con el promedio de desarrolladores en Estados Unidos, sus expectativas eran bastante modestas
    • Creo que tuve suerte con el momento en 2017, cuando empecé como alguien que venía de cambiar de carrera
      Postulé a 6 lugares, tuve entrevistas en 4 y recibí ofertas de 2; en la práctica era junior, pero postulé a puestos mid-level
      Me gusta pensar que, al tener pocas entrevistas, pude volcar mi entusiasmo y concentración en ellas, aunque también podría ser sesgo de supervivencia
      Después, en 3 entrevistas recibí 2 buenas ofertas, con compensaciones por encima del percentil 50 para roles de ingeniería de software en Estados Unidos. No creo haberlos deslumbrado por ser especialmente brillante
      No tengo energía para una estrategia de postulaciones tipo juego de números, odio las entrevistas y en live coding se me bloquea la cabeza. Por eso solo postulo a lugares donde realmente quiero trabajar y donde la empresa probablemente reciba bien a un desarrollador común que colabora bien
      Puedo sentir un interés genuino incluso por trabajo común y corriente, y tengo opiniones firmes pero fáciles de cambiar. Tal vez esas dos cosas sean mi secreto
    • Como comparación, cuando busqué trabajo en Estocolmo a mediados de 2022, postulé a 12 lugares, recibí ofertas de 5 y en 2 me rechazaron explícitamente
      En los otros 5 casos, los rechacé yo o no tuve tiempo para terminar el proceso. El mercado actual es mucho peor para buscar trabajo que entonces
    • Incluso desde la perspectiva de un desarrollador senior, sentí que no era una historia tan difícil como esperaba por el título
    • No sé si tuve muchísima suerte, pero hablando con amigos encontré tres trabajos distintos por recomendación
      Nunca hice una postulación ni una entrevista de verdad, y siento que algún día eso me va a pasar factura
  • La tarea de escribir en 2 horas un programa de ajedrez limitado que solo soporte dos tipos de piezas no es fácil
    He escrito un programa de ajedrez por mi cuenta, pero dudo que en 2 horas pueda armar la estructura del proyecto, el modelo de datos, los movimientos legales y las pruebas; e incluso si lo lograra, creo que sería código lleno de bugs

    • Hace poco implementé algo parecido con los movimientos del rey y la torre, sin incluir jaque ni jaque mate, y ganabas simplemente capturando al rey
      Aun así me tomó unas 2,5 horas
    • Si los requisitos de estrategia son bajos, parece una tarea que se puede resolver en 2 horas
      Suena a una implementación bastante mecánica y directa
  • En los procesos de contratación típicos, ya no sorprende pasar por cuatro o cinco etapas en total: una primera llamada con un recruiter, una entrevista con el hiring manager, una o dos entrevistas técnicas y, según el caso, una entrevista con un product manager o con el CTO/fundador. Pero igual es bastante una locura.

    • En mi empresa también hemos perdido candidatos que, después de 1 o 2 entrevistas, ya considerábamos adecuados.
      Aun así, había que obligarlos a pasar por varias semanas más de entrevistas adicionales, y eso no solo es una locura, sino también un desperdicio de tiempo y recursos.
    • Desde el punto de vista del candidato, es un día largo, pero no me molesta tanto.
      Primero, si llego hasta el filtro telefónico, casi seguro recibo una oferta, así que el costo real de tiempo no es tan alto como parece. Si no hay filtro telefónico, no cambia nada respecto del estado actual; si lo hay, se puede verificar si la latencia del paquete de entrevistas es demasiado larga y bajarse temprano si lo es. Un día de 8 horas está bien, pero 8 horas repartidas en 2 meses complican la búsqueda de empleo.
      Segundo, cuando hay ofertas competidoras, el costo de tiempo molesta. Un día de entrevistas está bien ante un aumento salarial del 40%, pero usar 5 días completos en la búsqueda pesa cuando las vacaciones son finitas. Dicho eso, parece que alrededor de la mitad de los empleadores en realidad no piden pruebas de una oferta competidora, y si uno plantea la compensación XYZ que quiere y dice que firmaría de inmediato si la igualan, sorprendentemente suelen intentar igualarla.
      Tercero, en una entrevista técnica promedio, 10 a 20 minutos son resolución de problemas técnicos y 30 a 50 minutos son para explorar qué sabe el candidato sobre la empresa y el equipo. Una empresa nueva es riesgosa y tratará de ocultar hacia afuera las malas señales, así que, además de investigar los antecedentes de la dirección, escuchar la visión actual de varios miembros del equipo ayuda a evitar problemas desde el inicio.
    • También hay que pensar en la postura de quienes contratan.
      Si haces ofertas solo al 1% de los candidatos entrevistados y aun así el 30% fracasa durante el período de prueba, contratar es un enorme consumo de tiempo para todos. La buena gente es difícil de encontrar, y los buenos puestos también son difíciles de conseguir.
    • Tampoco es tan descabellado. Si algunas entrevistas son de 30 minutos y las técnicas de unos 60, en total son unas 5 horas.
      Antes, las entrevistas onsite implicaban una hora de ida y vuelta, seis horas totales de entrevistas, además de almuerzo, y las empresas con mucha demanda hacían varias rondas así. Incluso había gente que volaba desde otra ciudad.
      Tuve un amigo que fue a entrevistar con Google, quedó varado 3 semanas en SF por una tormenta de nieve en la costa este y, como resultado, lo despidieron de Accenture.
      Comparado con eso, 4 a 6 horas de entrevistas agendadas en los horarios que uno quiere, aunque se dividan en varios días, me parece mucho mejor.
    • A este punto, parece que también habría que entrevistarse con el conserje.
  • El mercado para ingenieros de software tampoco está bien, pero los roles de apoyo como engineering managers, product managers, diseñadores y developer relations parecen estar mucho peor.
    En mi entorno, esa gente está sufriendo especialmente para encontrar trabajo, mientras que los desarrolladores sí encuentran empleo, aunque más lento y con peores beneficios. Me pregunto si será solo mi círculo.

    • Como empleador, y también por los casos que veo alrededor, lo percibo parecido.
      En general se extendió la moda de management de que hay demasiados managers, y se están moviendo como cuando Instagram eliminó por completo el rol de Technical Program Manager.
      En mi primer trabajo, alrededor del 50% de los despidos fueron del lado de “gestión”. En nuestro equipo ya no hay product manager, y nos dijeron que no nos preocupáramos por el diseño salvo que fuera algo importante. En la práctica, ambos roles fueron absorbidos por el team lead, que ahora se encarga de los mockups y de las decisiones de producto.
      En mi segundo trabajo, el 70% de los despidos fueron del lado de gestión. Un manager pasó de llevar un equipo de 5 personas a cuatro equipos con 25 personas en total, y también perdimos al diseñador y al product owner. Ahora esas decisiones las toma el product owner que quedó o el líder técnico del equipo.
    • Para la gente con suficiente experiencia, el mercado se ve saludable.
      Mi empresa también está contratando, y mi bandeja de entrada está llena de empresas reclutando. Hablo de roles de product engineering y liderazgo.
      Donde el mercado está frío es para los juniors, y no está claro cuándo ni cómo cambiará.
      Como referencia, hablo desde Silicon Valley, y no me mudé durante la pandemia. Siempre sospeché que esto podía terminar pasando.
  • Ser desarrollador de software hoy se siente como lidiar constantemente con tonterías.
    Me pregunto si todos están bien y, sinceramente, estoy demasiado agotado. Buscar trabajo es una actividad que desgasta el alma; enviar postulaciones consume tiempo, es innecesariamente engorroso, se siente como una repetición sisífica y como desperdiciar la vida. No aprendes nada útil, no construyes nada práctico, no mejoras ninguna parte de tu vida y no parece haber un método de automatización probado.
    No entiendo por qué un desarrollador tiene que terminar tan agotado. Hay que saber Java, JavaScript, Python, Go, dialectos de SQL, scripting como bash y awk, ansible, chef, terraform, decenas de servicios de AWS, varias bases de datos e implementaciones, tipos comunes de vulnerabilidades, protocolos como DNS, TCP-IP, HTTP y WebSocket, y encima parece que también hay que invertir un árbol binario en gravedad cero.
    El gráfico de actividad de GitHub debería parecer una foto aérea de la selva amazónica; hay que mantener un blog, dar charlas en conferencias y de vez en cuando escribir textos casi académicos. Y aun así no alcanza: hay que sobresalir en entrevistas de algoritmos y estructuras de datos, por lenguaje, por framework, pair programming, diseño de sistemas, producto, conocimiento de la empresa y la industria, tareas para casa, presentaciones técnicas y entrevistas de personalidad.
    No entiendo por qué, incluso después de entrar a una gran empresa y sentir que “lo lograste”, no puedes sentirte seguro. Solo suspiro al pensar por qué tenemos que vivir permanentemente en modo búsqueda de empleo en vez de construir y arreglar cosas.

    • Me da curiosidad cómo son los pipelines de contratación en otras profesiones de altos ingresos y muy demandadas, como médicos, abogados o ingenieros de ingeniería real.
      Quiero saber si esta forma de hacer las cosas es algo particular de los desarrolladores de software.
  • Que todos los recruiters pidan el CV aunque sea casi la misma información que está en LinkedIn parece una especie de señal de consentimiento que pueden pasarle al empleador.
    Se siente como esa historia de visitar una cultura extranjera donde alguien te ofrece té en una taza desconocida, tomas un sorbo y después otra persona te avisa que acabas de casarte.

    • Por eso conviene preguntarle al recruiter si tiene contacto directo con el hiring manager o si pertenece a esa empresa.
      Muchos recruiters son terceros, y a menudo su único trabajo es recibir el CV del candidato y reenviarlo, así que se convierten en otra capa tonta que no es particularmente mejor que postularse en frío.
      También es común que la vacante que trae el recruiter haya sido republicada en el mismo sitio por otras empresas de terceros, sin cambiar ni una letra de la descripción del puesto.
      Algunos recruiters incluso piden un documento de MS Word para que les resulte fácil borrar la información de contacto y poner su propio logo.
    • La razón más probable es que, en el sistema de RR. HH., la carga de un archivo de CV sea un campo obligatorio.
  • Es interesante que alguna empresa haya usado una prueba de IQ.
    Todavía no me ha tocado algo así, pero la semana pasada vi una solicitud que, en una prueba de “personalidad”, preguntaba si votarías por un candidato de izquierda o por uno de derecha. Era una empresa del sector salud.
    También me hizo detenerme un momento que GitHub pidiera mi autorización para revisar mi currículum con IA. No la di, y definitivamente sentí que eso me dejaba en desventaja frente a otros candidatos.

    • Preguntar si votarías por un candidato de izquierda o de derecha ya debería ser ilegal de varias maneras.
      Y creo que las pruebas de personalidad en general también deberían prohibirse.
    • No recuerdo dónde lo vi, pero vi una oferta para un puesto de desarrollador que pedía primero una prueba MBTI.
      Esa prueba que pregunta por tipos de personalidad como INFJ o INFP. Que pidan algo así para un puesto de programación me pareció realmente raro; yo pensaba que con estudiar LeetCode bastaba.
    • Las pruebas de programación ya se sienten casi como pruebas de IQ, así que quizá sería más simple hacer una prueba de IQ que seguir inventando problemas de programación únicos.
    • Pensaba que las pruebas de IQ eran ilegales.