Terminal negra con código Python y una taza de café
Humberto Newman

Dos meses buscando trabajo y lo que la desesperación me enseñó sobre Python

Cómo convertí la frustración de una búsqueda laboral en el mercado más incierto que he vivido en un proyecto de web scraping con Python que cambió mi forma de postular.

  • búsqueda laboral
  • web scraping
  • Python
  • automatización
  • mercado laboral Chile
  • inteligencia artificial
  • DigitalOcean
  • n8n

Dos meses buscando trabajo y lo que la desesperación me enseñó sobre Python

Hay una sensación muy particular que aparece a las 9 de la mañana cuando llevas semanas enviando CVs y el teléfono no suena. No es exactamente pánico. Tampoco es tranquilidad. Es algo más parecido a estar parado en una sala de espera enorme, mirando un letrero que dice “abierto”, pero sin estar muy seguro de si te aplica.

Eso fue lo que sentí al cumplir el primer mes sin trabajo.

Llevo 17 años en diseño, marketing digital y producto. He gestionado bases de más de 30.000 contactos, construido funnels desde cero y liderado campañas inbound en fintech. Tengo experiencia real, no de PowerPoint. Y aun así, el mercado en este momento se siente como nadar contra una corriente que no ves pero que claramente está ahí.


El contexto que nadie te explica del todo bien

Chile tiene una tasa de desempleo que ronda el 8,7%, notablemente por encima del promedio OCDE. A eso le sumas la irrupción feroz de la IA, un cambio de gobierno que trae incertidumbre regulatoria y un LinkedIn que algunos días parece un mural de duelo colectivo: posts de personas brillantes anunciando que fueron desvinculadas, hilos de “los 5 tips para conseguir trabajo en 2025” que no le cambiaron la vida a nadie y ofertas laborales que acumulan 400 postulaciones en 48 horas.

El Foro Económico Mundial estima que en los próximos años desaparecerán decenas de millones de empleos, pero surgirán otros tantos nuevos. Lo que nadie menciona es que ese intervalo, ese espacio entre los que se van y los que llegan, es exactamente donde estamos parados muchos hoy.

Y en ese espacio, los portales de empleo tradicionales empiezan a sentirse como ir a pescar con una caña rota.


Cuando el mapa dejó de funcionar

Las plataformas de búsqueda de empleo tienen un problema estructural que tarde o temprano todos descubren: muestran el inventario, no el flujo. Publican lo que ya tiene 300 postulantes. Mezclan ofertas vigentes con avisos que llevan semanas caducados. Y el algoritmo no necesariamente prioriza lo más relevante para ti, sino lo que el cliente pagó por destacar.

Así que decidí hacer lo que se me ocurre cada vez que un sistema no funciona: romperlo un poco y construir uno propio.


El primer intento: un agente en ChatGPT a las 6 de la mañana

Empecé simple. Armé un agente en ChatGPT con instrucciones para rastrear portales de empleo todas las mañanas, filtrar por cargos específicos y enviarme un resumen a las 9 AM. El setup fue rápido. Los primeros días funcionó bien. Había algo casi terapéutico en abrir el correo y encontrar un resumen ordenado de oportunidades.

Pero en menos de dos semanas empezaron los problemas: ofertas ya expiradas en el listado, duplicados y resultados que no correspondían al filtro que había definido. El agente era entusiasta pero impreciso. Como un asistente recién contratado con muchas ganas pero poca experiencia.


El segundo intento: n8n y los límites de lo gratuito

Pasé a n8n, una herramienta de automatización de flujos que muchos en el mundo del marketing y producto conocen bien. La promesa era tentadora: nodos visuales, integraciones limpias y lógica condicional sin escribir código.

Y sí, n8n cumple, y cumple muy bien. Pero su versión gratuita tiene restricciones que para una tarea como esta se sentían frustrantes. Los flujos eran funcionales en teoría, pero en la práctica no hacían exactamente lo que yo necesitaba, de la manera en que yo lo necesitaba. Cuando el 80% sirve pero el 20% molesta, terminas pensando en el 20% todo el tiempo.

Fue ahí cuando me pregunté algo que debí haberme preguntado antes: ¿y si simplemente aprendo a hacerlo bien?


Python, un VPS en DigitalOcean, y una curva de aprendizaje con dientes

Tengo formación en diseño. Manejo bien Figma, Adobe, HubSpot, Looker Studio. He tocado código en contextos de landing pages, plantillas de email y algo de HTML/CSS. Pero Python era un lenguaje que miraba desde lejos con respeto y cierta distancia.

Montar un servidor en DigitalOcean fue, seré honesto, un parto.

No porque sea imposible, sino porque la lógica de la terminal es radicalmente distinta a cualquier software que hayas usado antes. No hay interfaces. No hay drag and drop. No hay botón de “deshacer”. Escribes un comando mal y el servidor queda en un estado que no entiendes. Esa sensación de inútil que aparece al principio es completamente normal, pero nadie te lo avisa con suficiente énfasis.

Lo que sí me ayudó enormemente fue trabajar con Claude como par de programación. No como oráculo que resuelve todo, sino como alguien que explica el “por qué” detrás del error, que sugiere alternativas y que te dice “eso va a romper todo” antes de que lo rompas. Juntos logramos montar el servidor, subir mi web personal y crear un entorno limpio para experimentar.

Si vas a meterte en esto, ven con paciencia y con cuero de chancho. El primer día probablemente no funcione nada. El décimo día vas a entender algo fundamental. El vigésimo día vas a sentir que puedes hacer más.


Lo que el scraper hace hoy

La versión actual del proyecto funciona así:

Tengo un script en Python que recibe una lista de URLs de empresas, principalmente sus páginas de “Trabaja con nosotros” o sus sitios institucionales. El script analiza el contenido de cada página y extrae lo que me interesa: correo de contacto, perfil de LinkedIn de la empresa y si tienen sección de empleos activa.

Esto me permite hacer algo que los portales tradicionales no ofrecen: ir directamente a la fuente. No intermediarios. No algoritmos de relevancia. No competir con 400 postulantes por una oferta que ya lleva una semana publicada.

Python resultó ser un lenguaje sorprendentemente accesible para alguien que viene del diseño. La sintaxis es legible, casi conversacional. El único punto de fricción real al principio fue la indentación: en Python, los tabs y los espacios no son estética, son estructura. El intérprete los lee como parte de la lógica del código. Una vez que eso hace clic en tu cabeza, todo empieza a fluir mejor.

Algo similar hizo Chris Lovejoy, un médico reconvertido en data scientist, que documentó cómo construyó su propio scraper de empleos con BeautifulSoup y Selenium para automatizar su búsqueda laboral. No era programador de carrera, pero vio el problema, aprendió las herramientas mínimas y lo resolvió. Ese enfoque es exactamente el espíritu que me guía.


Lo que aprendí en el camino

Más allá del scraping, este proyecto me introdujo a un mundo que antes me era completamente ajeno.

Las API keys. Entender cómo se configura una clave de API, cómo se llama desde el código y cómo se protege para no exponerla en repositorios públicos.

Los entornos de servidor. Saber la diferencia entre un entorno local y uno en producción. Entender qué es un proceso que corre en background y por qué importa.

La mentalidad de iteración técnica. En diseño itero constantemente, pero en código la iteración es diferente: más granular, más explícita. Cada error tiene una causa y cada causa tiene una solución.


¿Y el trabajo?

Aún no lo encuentro. Pero tengo varias postulaciones abiertas que me tienen esperanzado. Y lo más importante: dejé de sentirme pasivo en el proceso.

El mercado laboral actual en Chile, especialmente para perfiles creativos con experiencia en tecnología, exige exactamente esto: no esperar que el sistema funcione para ti, sino construir el sistema que necesitas.

El siguiente paso en este proyecto es desarrollar un pequeño software para administrar mis postulaciones: un dashboard simple donde pueda ver a qué empresa postulé, en qué fecha, si hubo respuesta y a qué cargo apliqué. Porque ya me ha pasado más de una vez que suena el teléfono y no tengo claro de inmediato cuál es la empresa que llama ni a qué cargo apliqué.


La invitación

Si estás en búsqueda laboral y sientes que los portales no te están dando lo que necesitas, no esperes a que mejoren. Usa este tiempo para cultivarte, para explorar herramientas que nunca tuviste tiempo de tocar y para aprender algo que no está en tu CV pero que debería estarlo.

No necesitas ser programador para empezar con Python. No necesitas ser devops para montar un servidor. Solo necesitas curiosidad, disposición a frustrarte un poco y la convicción de que el proceso de aprender algo nuevo tiene valor por sí mismo, independiente del resultado inmediato.

El mercado es complejo. Pero las personas que saben adaptarse siempre encuentran la forma.


¿Tú cómo estás enfrentando la búsqueda? Me interesa saber. Escríbeme por LinkedIn.