
Programador Back-end Python
Guinea Mobile SAC (Cuy Móvil)•📍 Remoto•Full-time
💵900 - 1,200 USDpor mes
Descripción del Trabajo
Desarrollo con Python:
Experiencia construyendo servicios backend con Python (FastAPI, Django REST o Flask en producción).
Uso sólido de la stdlib (asyncio, logging, typing) y organización limpia de módulos.
Aplicación de Arquitectura Hexagonal, DDD y CQRS en proyectos reales o de práctica avanzada.
Diseño y consumo de APIs RESTful (gRPC como plus), manejo de lógica de negocio compleja, validaciones consistentes e idempotencia en endpoints críticos.
Clean Code + SOLID adaptado a Python; pruebas automatizadas (unitarias e integración) con pytest o unittest, mocks y criterio para aplicar TDD de forma pragmática.
Diseño de Arquitectura y Escalabilidad:
Contenedores con Docker y despliegue en Kubernetes o plataformas equivalentes.
Microservicios y comunicación asíncrona/event-driven (RabbitMQ/Kafka/NATS/Pub/Sub como plus).
Integración con PostgreSQL (SQLAlchemy, psycopg, migraciones con Alembic) y MongoDB (driver oficial o motor).
Uso de Redis como caché para alta concurrencia; diseño de claves, TTL y estrategias básicas de invalidación.
Observabilidad end-to-end: logs estructurados (logging/structlog), métricas (Prometheus) y trazas con OpenTelemetry.
Colaboración y Flujo de Trabajo:
Documentación clara de decisiones técnicas, arquitectura y endpoints (ADRs, OpenAPI/Swagger, diagramas C4).
Fluidez con Git bajo flujos colaborativos (feature branches, pull requests, code reviews).
Participación activa en Scrum/Kanban, entregas iterativas y proactividad para proponer mejoras técnicas y de producto.
Mentalidad de Solución: Personas que vean los problemas como oportunidades para diseñar y ejecutar soluciones creativas y efectivas.
Balance entre Velocidad y Estabilidad: Capacidad para entregar con rapidez sin comprometer la calidad ni la estabilidad del software.
Pasión por los Retos Técnicos: Interés genuino por enfrentar desafíos complejos y aprovecharlos como espacio de aprendizaje y mejora continua.
Flexible en la Colaboración: Valoramos a quienes se involucran donde pueden aportar, más allá de lo que indica su rol. Creemos que los equipos funcionan mejor cuando cada persona está dispuesta a sumar donde más se le necesita.
Cultura de Pruebas: Queremos fomentar una mentalidad donde las pruebas son parte del diseño y no un paso posterior. Valoramos saber cuándo aplicar TDD de forma práctica y cuándo priorizar velocidad sin perder calidad.