Nuevo
🇪🇸 Español
Descripcion del puesto
Desarrollador/a Backend Python — Web Scraping & Data InfrastructureSobre nosotrosEn Reputación Digital transformamos datos en valor: somos una consultora de inteligencia digital y social listening con operación en América Latina y Estados Unidos, infraestructura tecnológica propia y certificación ISO 9001:2015. Nuestro motor de escucha procesa millones de menciones de redes sociales y medios digitales para clientes gubernamentales, políticos y corporativos.Objetivo del rolSerás responsable del corazón de nuestra captura de datos: el diseño, desarrollo y evolución de web scrapers avanzados que extraen información de medios digitales y fuentes públicas a escala. Tu trabajo alimenta directamente los análisis que entregamos a nuestros clientes, por lo que también monitorearás de forma continua el rendimiento y la salud de los scrapers en producción, y brindarás soporte técnico operativo cuando el equipo lo requiera.Responsabilidades principales• Desarrollar, optimizar y mantener web scrapers eficientes, escalables y resilientes a cambios en las fuentes.• Diseñar arquitecturas de procesamiento masivo de datos, desde la captura hasta la ingesta en nuestros sistemas de análisis.• Implementar y gestionar tareas asíncronas y colas de trabajo con Celery.• Contenerizar y desplegar servicios con Docker, asegurando entornos reproducibles y despliegues confiables.• Monitorear el funcionamiento de los scrapers en producción, detectar fallos de forma temprana y resolverlos.• Colaborar con el equipo de datos y análisis en la mejora continua de sistemas y procesos.Requisitos técnicos y competencias• Sólidos conocimientos de Python y desarrollo backend.• Experiencia comprobable en web scraping con herramientas como BeautifulSoup, Scrapy, Playwright o similares.• Manejo de Celery (o equivalentes) para la orquestación de tareas asíncronas.• Experiencia con Docker para el despliegue de servicios.• Conocimientos de bases de datos SQL y NoSQL.• Compromiso con las buenas prácticas: código limpio, mantenible, versionado y documentado.Se valorará• Experiencia con sistemas distribuidos o arquitecturas de microservicios.• Conocimientos en diseño y consumo de APIs y automatización de flujos de datos.• Familiaridad con el stack Elasticsearch/Kibana o pipelines de ingesta de datos a gran escala.Qué ofrecemos• Participación en proyectos de alto impacto en la región, con datos reales a escala de millones de registros.• Un equipo técnico pequeño y senior, con autonomía y comunicación directa.Para que avancemos en la entrevista te pedimos que completes el ejercicio que proponemos a continuación, una vez que lo termines, lo puedes enviar con los links de GitHub a Muchas gracias por tu tiempo :-)Ejercicio FullStack RDVisualización de Datos con FastAPI, Svelte y eCharts1. DATOSSe provee un archivo data.json con el siguiente contenido de ejemplo:{ "piechart": { "labels": ["Producto A", "Producto B", "Producto C", "Producto D"], "values": [25, 30, 20, 25] }, "barplot": { "categories": ["Enero", "Febrero", "Marzo", "Abril"], "values": [150, 200, 180, 220] }}2. BACKEND (FastAPI)- Endpoint: crea un endpoint, por ejemplo /data, que devuelva el contenido de data.json.- Tecnología: usa FastAPI para implementar la API.- Requerimientos: usar uvicorn para correr el servidor.3. FRONTEND (Svelte)- Aplicación Svelte: construye la interfaz con Svelte. La página principal debe consumir el endpoint /data del backend para obtener los datos.- Visualización de gráficos: utiliza eCharts para renderizar dos gráficos en la misma página: un gráfico circular (piechart) y un gráfico de barras (barplot).- Integración: la aplicación Svelte debe incluir la lógica necesaria para realizar la solicitud a la API, extraer la información y renderizar ambos gráficos.4. DOCKERIZACIÓN- Dockerfile: crea un Dockerfile que construya la aplicación completa. – Incluye la instalación de dependencias para FastAPI. – Compila la aplicación Svelte y copia los archivos estáticos generados al directorio desde el que se servirán a través de FastAPI.- Requerimientos: el proyecto se debe ejecutar desde un docker-compose con el archivo data.json montado como volumen.5. DOCUMENTACIÓN (README)Elabora un README que incluya:- Instrucciones de instalación y ejecución de la aplicación.- Dependencias utilizadas y cualquier otra información relevante que facilite la comprensión y el uso del proyecto.ESTRUCTURA SUGERIDA DEL PROYECTO/project├── data.json├── backend│ ├── main.py # Implementación de FastAPI│ └── requirements.txt├── frontend│ ├── src/ # Código fuente de la aplicación Svelte│ ├── static/ # Archivos públicos│ ├── package.json│ └── ... # Otros archivos de configuración de Svelte├── Dockerfile└── README.mdDOCKERFILE SUGERIDOFROM node:18.12.1-buster-slim AS builderWORKDIR /frontendCOPY ./frontend .RUN npm installRUN npm run build# multi stage build# just copy the compiled frontend into the backendFROM python:3.12-slim-bookwormENV PYTHONUNBUFFERED=1WORKDIR /backendRUN python -m pip install --upgrade pipCOPY ./backend/requirements.txt ./requirements.txtRUN pip install -r requirements.txtCOPY ./backend .WORKDIR /COPY --from=builder /frontend/dist /frontend/distWORKDIR /backendENTRYPOINT ["python", "main.py"] Show more Show less