
API Developer / Software Engineer
Publicada 4 de SeptiembreDiseñar y programar APIs y microservicios en Go o Node.js/TypeScript, garantizando que sean rápidos, seguros y escalables.
Gestionar y optimizar bases de datos (SQL, MongoDB, Redis) asegurando la correcta consulta, almacenamiento y velocidad de la información.
Asegurar la calidad y el despliegue mediante pruebas automáticas, documentación y empaquetado del código en Docker y CI/CD.
Requisitos mínimos
Conocimientos Técnicos Requeridos API
1. Fundamentos de Desarrollo
• Dominio sólido en lenguajes de programación como Go o Node.js/TypeScript.
• Conocimiento de estructuras de datos, concurrencia y optimización de rendimiento.
• Experiencia en programación orientada a objetos y/o programación funcional.
• Comprensión de algoritmos y análisis de complejidad (Big O).
2. Diseño y Arquitectura de APIs
• Experiencia en diseño e implementación de APIs RESTful.
• Manejo adecuado de métodos HTTP, códigos de respuesta y modelamiento de recursos.
• Implementación de estrategias de versionamiento de APIs.
• Documentación mediante OpenAPI / Swagger.
• Diseño de servicios idempotentes y tolerantes a reintentos.
• Implementación de paginación, filtrado, ordenamiento y control de consumo (rate limiting).
• Conocimiento de patrones arquitectónicos
o Arquitectura por capas.
o Clean Architecture.
o Arquitectura Hexagonal.
o Microservicios y arquitecturas distribuidas.
3. Bases de Datos
• Manejo avanzado de bases de datos relacionales:
o SQL.
o Joins, índices, transacciones y optimización de consultas.
• Experiencia con bases de datos NoSQL como:
MongoDB.
o Redis.
• Capacidad para definir la mejor tecnología según el caso de uso.
4. Seguridad
• Implementación de mecanismos de autenticación y autorización: JWT, OAuth 2.0, API Keys.
• Conocimiento de HTTPS, CORS y validación/sanitización de entradas.
• Aplicación de buenas prácticas de seguridad para APIs.
5. Calidad y Testing
• Desarrollo de pruebas unitarias, integración y pruebas de contrato.
• Uso de herramientas de mocking para dependencias externas.
• Integración de pruebas automatizadas dentro de pipelines CI/CD.
• Experiencia en aseguramiento de calidad de software.
6. Herramientas y Tecnologías Deseables
• Git (branching, code review, resolución de conflictos).
• Docker y containerización de aplicaciones.
• Conocimientos de Kubernetes (Pods, Deployments, Secrets y ConfigMaps).
• Implementación de pipelines CI/CD mediante GitHub Actions u herramientas equivalentes.
• Experiencia en mensajería asíncrona y procesamiento de eventos mediante RabbitMQ o tecnologías similares