¿Por qué Zyte?
En Zyte no nos limitamos a recopilar datos web: resolvemos desafíos complejos relacionados con datos web a gran escala. Somos un equipo distribuido globalmente, audaz, curioso y dedicado a crear formas innovadoras de ofrecer datos web limpios y fiables de todo internet.
- Los datos son nuestra pasión: Facilitamos el acceso a datos web abiertos y ayudamos a organizaciones, desde startups hasta empresas globales, a impulsar la inteligencia competitiva, la analítica y los pipelines de IA.
- Cultura que prioriza el trabajo remoto: Trabaja desde cualquier lugar del mundo. Con más de 260 Zytans en 33 países, nuestra fortaleza nace de la diversidad de orígenes, perspectivas y habilidades.
- Excelencia en ingeniería: Nos encanta profundizar en bases de código complejas, evaluar tecnologías emergentes y ampliar los límites técnicos. Si disfrutas resolviendo problemas de forma creativa y entregando soluciones fiables listas para producción, encajarás a la perfección.
- Marco establecido de diseño de sistemas: Analizamos sistemáticamente los requisitos funcionales y de producto junto con las compensaciones arquitectónicas para tomar decisiones de diseño fundamentadas y sostenibles.
- Desafíos reales de sistemas distribuidos: Afronta problemas de ingeniería poco habituales en redes personalizadas, streaming de alto rendimiento y orquestación a gran escala, bajo limitaciones operativas reales.
- Gran responsabilidad sobre el producto: Trabaja en una plataforma rentable y líder del mercado, con tiempo y recursos específicos asignados a la investigación arquitectónica y al desarrollo estratégico de funcionalidades.
¿Por qué este puesto?
Zyte API impulsa un conjunto de microservicios Java y Python que se ejecutan en varios proveedores de servicios en la nube y centros de datos. Todos los equipos de ingeniería, que abarcan Core API, Browser, Edge, Antiban, IA y productos Agentic, dependen de la infraestructura fundamental que gestiona nuestro equipo: clústeres de Kubernetes, pipelines Kafka de alto rendimiento, motores de facturación que procesan métricas por solicitud y contratos sólidos entre servicios.
Estamos transformando Zyte API en una fábrica de software automatizada: una plataforma donde desarrolladores y agentes de IA crean, validan, despliegan y mantienen extractores de datos y flujos de trabajo de forma fluida mediante interfaces gobernadas. Dos capas fundamentales impulsan esta evolución. El plano de control, que incluye registros de servicios y esquemas, enrutamiento que tiene en cuenta el estado de salud y lanzamientos canary automatizados, está actualmente en proceso de despliegue. El plano de contexto, que sintetiza señales observacionales para guiar reparaciones y optimizaciones automatizadas, representa nuestro próximo gran esfuerzo de diseño. Como Staff Engineer, serás responsable de ambas arquitecturas y establecerás el estándar de ingeniería para diseñar, crear y operar los servicios de Zyte. Serás el referente técnico del equipo Core & MLOps y colaborarás estrechamente con el Team Lead, los Senior Engineers, DevOps y QA, al tiempo que influirás directamente en la velocidad de lanzamiento y la arquitectura de cinco equipos vecinos.
Requisitos
Qué harás
- Diseñar la arquitectura de los planos de control y de contexto. Harás avanzar el plano de control (registro de servicios, registro de esquemas, aplicación de SLO y herramientas CLI) hasta convertirlo en una base de producción sólida. Diseñarás y crearás el plano de contexto para agregar señales operativas, como historiales de extracción por dominio, puntuaciones de reputación de IP y telemetría de costes y rendimiento de BigQuery, creando bucles de retroalimentación automatizados entre la intención, la ejecución y el mantenimiento autorreparable.
- Ser responsable del chasis de servicios y del camino recomendado. Mantendrás y perfeccionarás bibliotecas cliente multilenguaje (Java y Python), especificaciones de cargas de trabajo estandarizadas, gráficos de Helm y pipelines de despliegue, impulsando una adopción fluida en todos los equipos de producto.
- Definir contratos entre servicios. Establecerás definiciones de gRPC y Protocol Buffers, transcodificación de API gateway, políticas de versionado y reglas de evolución de esquemas para permitir despliegues autónomos y seguros entre equipos.
- Operar la base de la plataforma. Colaborarás con los ingenieros de infraestructura para operar Kubernetes (en OCI, Hetzner, Servers.com y GCP), Terraform, ingress de HAProxy/Nginx, Confluent Kafka, pipelines de facturación de eventos en tiempo real, Valkey y las actualizaciones de bases de datos en curso (de MySQL a PostgreSQL).
- Impulsar la estrategia arquitectónica mediante RFD. Liderarás las Requests for Discussion (RFD) sobre iniciativas críticas de la plataforma, como la orquestación duradera de flujos de trabajo (Temporal/DBOS), la orquestación del gateway por solicitud, el enrutamiento multicúster y la conmutación por error automatizada.
- Institucionalizar la ingeniería de fiabilidad. Establecerás SLO y presupuestos de error claros para las capacidades principales e implementarás aislamiento del tráfico basado en el estado de salud y despliegues canary ponderados y automatizados para eliminar los cuellos de botella manuales en los lanzamientos.
- Compartir la responsabilidad de producción. Participarás en la rotación compartida de guardia de infraestructura, liderarás análisis retrospectivos de incidentes y convertirás las lecciones operativas en mejoras de la plataforma.
- Elevar los estándares de ingeniería. Asesorarás a ingenieros de distintos equipos en diseño de sistemas distribuidos, revisarás propuestas de sistemas y establecerás buenas prácticas intuitivas para que crear software fiable resulte sencillo.
Quién eres
- Tienes 10+ años de experiencia creando sistemas backend distribuidos y escalables, y una trayectoria demostrada en la creación de plataformas internas o bibliotecas fundamentales adoptadas ampliamente por equipos de ingeniería.
- Tienes experiencia avanzada en Java (con frameworks reactivos como Vert.x o Netty), además de sólidos conocimientos de Python.
- Cuentas con amplia experiencia en gRPC y Protobuf, y has demostrado que sabes gestionar la evolución de esquemas y la compatibilidad con versiones anteriores en entornos de importancia crítica.
- Tienes experiencia práctica en infraestructura con Kubernetes de producción a escala, Terraform y streaming de eventos con Kafka.
- Diseñas bucles de retroalimentación: Tienes experiencia diseñando pipelines de telemetría automatizados, vistas materializadas o almacenes de características que adaptan dinámicamente el comportamiento del sistema a partir de datos de producción.
- Tienes mentalidad de fiabilidad: Has demostrado que sabes definir SLO/SLI, analizar el radio de impacto y diseñar sistemas tolerantes a fallos basados en contratos de servicio rigurosos.
- Tienes liderazgo técnico: Cuentas con excelentes habilidades de redacción técnica, puedes explicar diseños complejos con claridad e impulsar la alineación técnica en equipos multifuncionales.
- Te comunicas de forma asíncrona: Tienes sólidas habilidades interpersonales y de comunicación escrita, adaptadas a un entorno global que prioriza el trabajo remoto.
- Resuelves problemas con curiosidad: Te apasiona el aprendizaje continuo y la evaluación de herramientas, arquitecturas y técnicas novedosas.
Nuestra pila tecnológica
- Lenguajes: Java 21, Python.
- Frameworks y herramientas: Vert.x, Netty, gRPC y protobuf, Kubernetes, Helm, Terraform, CircleCI.
- Infraestructura: Multicloud (OCI, GCP) y centros de datos (Hetzner, Servers.com), con despliegues blue/green en todas partes.
- Datos y mensajería: Confluent Kafka, BigQuery, Valkey, MySQL (próximamente Postgres), HBase, Google Pub/Sub.
- Monitorización y observabilidad: Prometheus, Grafana, Loki, OpenTelemetry.
Se valorará
- Motores de ejecución duradera: Experiencia práctica con Temporal, DBOS o plataformas de flujos de trabajo similares.
- MLOps: Experiencia con el servicio de modelos, la monitorización del rendimiento y la detección de deriva en entornos de producción.
- Redes de confianza cero y service meshes: Familiaridad con SPIRE, mTLS, Cilium, Istio o Envoy.
- Herramientas para desarrolladores: Trayectoria creando CLI, SDK o generadores de proyectos adoptados en una organización de ingeniería.
- Experiencia en scraping y rastreo web: Familiaridad con los desafíos técnicos de la extracción de datos web a gran escala.
- Contribuciones al código abierto: Historial de contribución o mantenimiento de proyectos de código abierto en sistemas distribuidos o extracción de datos.
¿Por qué unirte a nosotros?
- Impacto a gran escala: Diseñarás la arquitectura de infraestructura fundamental que impulsa pipelines de datos a escala web para empresas globales de primer nivel.
- Autonomía y flexibilidad: Disfrutarás de una auténtica cultura que prioriza el trabajo remoto, con horarios flexibles y un alto nivel de confianza en la organización.
- Innovación continua: Resolverás desafíos técnicos complejos y emergentes a medida que evolucionan rápidamente la IA y la extracción de datos web.
- Comunidad global: Colaborarás con un equipo apasionado y diverso de ingenieros de sistemas distribuidos y especialistas en datos de todo el mundo.
Si eres Staff Engineer y te entusiasma la posibilidad de crear las bases de una plataforma central que permita trabajar a varios equipos de ingeniería, nos encantaría saber de ti. Únete a nosotros para dar forma al plano de control que hay detrás de la extracción de datos web en Zyte.
Beneficios
Al unirte al equipo de Zyte:
- Formarás parte de un equipo multicultural, progresista y automotivado.
- Tendrás la libertad y flexibilidad de trabajar desde el lugar donde mejor rindas.
- Asistirás a conferencias y te reunirás con miembros del equipo de todo el mundo.
- Trabajarás con herramientas y tecnologías de código abierto de vanguardia.
experiencia: nivel intermedio-sénior