Estamos en búsqueda de un/a Senior Golang Developer apasionado/a por el desarrollo backend y las arquitecturas escalables, para integrarse a nuestro equipo tecnológico. El rol estará enfocado en el diseño e implementación de servicios robustos, altamente concurrentes y basados en eventos.
Responsabilidades principales
1. Desarrollo e implementación de APIs
- Diseñar y desarrollar APIs REST y/o gRPC para la comunicación entre microservicios.
- Integrar el backend con bases de datos, servicios externos y plataformas internas.
- Optimizar el rendimiento, aprovechando las capacidades nativas de Go, como goroutines y channels.
- Garantizar alta disponibilidad, seguridad y eficiencia en los servicios implementados.
- Integración con Apache Kafka (Consumer & Producer)
- Producer:
- Implementar lógica de negocio para la publicación de eventos en topics de Kafka.
- Transformar datos del sistema en eventos consumibles por otros servicios.
- Consumer:
- Desarrollar servicios que se suscriban a topics para procesar eventos en tiempo real.
- Gestionar procesamiento, validación y reacción a eventos de manera eficiente.
- Diseñar e implementar arquitecturas orientadas a eventos, favoreciendo:
- Desacoplamiento de servicios
- Alta escalabilidad
- Tolerancia a fallos
- Automatización mediante cronjobs
- Diseñar e implementar tareas automatizadas programadas (cronjobs).
- Desarrollar procesos como:
- Procesamiento batch
- Limpieza o mantenimiento de datos
- Implementar workers o servicios tipo daemon en Go, o integración con herramientas del sistema.
Requisitos
Técnicos
- +5 años de experiencia en desarrollo backend.
- Dominio avanzado de Golang.
- Experiencia con:
- APIs REST y/o gRPC
- Apache Kafka (producers y consumers)
- Arquitecturas de microservicios y event-driven
- Conocimientos sólidos en:
- Concurrencia en Go
- Manejo de bases de datos (SQL y/o NoSQL)
- Diseño de software escalable
Deseables
- Experiencia en entornos cloud (AWS, GCP o Azure).
- Uso de contenedores (Docker, Kubernetes).
- Conocimientos en observabilidad (logs, métricas, tracing).
- Experiencia con CI/CD.
Competencias fundamental
- Pensamiento analítico y resolución de problemas complejos
- Buenas prácticas de desarrollo y diseño limpio
- Capacidad de trabajo autónomo y colaboración en equipo
- Orientación a resultados y calidad