Desarrollo Backend en Go: Diseñar, implementar y mantener servicios y microservicios backend utilizando Go (Golang), garantizando rendimiento, escalabilidad y fiabilidad.
Diseño de APIs: Definir y desarrollar APIs RESTful y/o gRPC bien documentadas, versionadas y con contratos claros para consumo por frontend y otros servicios.
Arquitectura y patrones: Aplicar y promover patrones de arquitectura (hexagonal, clean architecture, DDD) y principios SOLID para asegurar modularidad y testabilidad.
Optimización y rendimiento: Identificar y solucionar cuellos de botella de CPU, memoria y latencia; realizar profiling y tuning de aplicaciones Go.
Seguridad y cumplimiento: Implementar prácticas de seguridad (manejo seguro de credenciales, cifrado, validación de entradas, OWASP) y cumplir con normativas aplicables.
Observabilidad: Instrumentar servicios con métricas, logs estructurados y trazas distribuidas para facilitar monitoring y diagnóstico de incidentes.
CI/CD y despliegue: Participar en la definición y mantenimiento de pipelines de CI/CD, despliegues automatizados y estrategias de release (canary, blue/green).
Integración y dependencias: Gestionar integraciones con bases de datos, caches y servicios externos; definir contratos y manejar errores y reintentos apropiadamente.
Testing y calidad: Escribir pruebas unitarias y de integración, mocks y tests de rendimiento; participar en revisiones de código y cumplimiento de estándares.
Mentoría y colaboración: Colaborar con equipos de producto, frontend, mobile, QA y SRE; compartir conocimiento y mentorizar desarrolladores menos experimentados.
Experiencia demostrable (mínimo 3 años) desarrollando servicios backend en Go en producción.
Dominio Avanzado de Go (v1.25+): Experiencia sólida (mínimo 3-5 años) en producción. Manejo profundo de concurrencia (goroutines, canales, sync), gestión de módulos, interfaces y optimización de memoria.
Desarrollo de APIs REST y gRPC: Dominio del framework Gin (gin-gonic/gin) para enrutamiento HTTP de alto rendimiento y creación de middlewares. Experiencia comprobable construyendo y consumiendo servicios gRPC con Protobuf.
Dominio del lenguaje Go: goroutines, canales, manejo de concurrencia, patrones de diseño idiomáticos y gestión de módulos (go modules).
Conocimiento práctico de desarrollo de APIs REST y gRPC, y herramientas de serialización (JSON, Protobuf).
Experiencia práctica con bases de datos relacionales (SQL y NoSQL (Redis, MongoDB) y diseño de esquemas y consultas eficientes.
Familiaridad con contenedores y orquestadores (Docker, Kubernetes) y despliegue de microservicios.
Manejo de herramientas de observabilidad: Prometheus, Grafana, OpenTelemetry, ELK/EFK o similares.
Experiencia en pruebas automatizadas (unitarias, integración) y frameworks de testing en Go (testing, testify, gomock).
Conocimiento en CI/CD y herramientas de automatización (GitHub Actions, GitLab CI, Jenkins, Argo CD, Flux).
Buenas prácticas de git: branching, pull requests, code review y versionado semántico.
Comprensión de patrones de resiliencia: circuit breakers, retries exponenciales, timeouts y backpressure.