Desarrollador/a Backend Python — Web Scraping & Data Infrastructure
Aviso de fuente externaen Reputación Digital
Desarrollador/a Backend Python — Web Scraping & Data InfrastructureSobre nosotrosEn Reputación Digital transformamos datos en valor: somos una consultora de inteligencia digital y social...
Salario
No especificado
Ubicación
Tegucigalpa, Honduras
Tipo de empleo
No especificado
Modalidad
No especificado
Desarrollador/a Backend Python — Web Scraping & Data Infrastructure
Tegucigalpa, Honduras
Descripción del empleo
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 rol
Será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 [email protected] Muchas gracias por tu tiempo :-)
Ejercicio FullStack RDVisualización de Datos con FastAPI, Svelte y eCharts
1. 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.md
DOCKERFILE SUGERIDO
FROM 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"]
¿Es tuya esta vacante?
Reclámala gratis y recibe candidatos con video en CazVid.