Estamos buscando un/a Ingeniero/a de Software Backend motivado/a y entusiasta para unirse a nuestra empresa fintech de rápido crecimiento en América Latina. Como Backend Engineer, desempeñarás un papel clave en la entrega de proyectos de software resilientes y sostenibles, desde el diseño hasta la implementación y despliegue. Contribuirás al desarrollo y mantenimiento de productos de software escalables y apoyarás su integración con servicios en la nube. Tendrás exposición a sistemas distribuidos, arquitecturas orientadas a eventos (EDA), bases de datos NoSQL y principios de diseño guiado por dominio (DDD).
Este rol individual ofrece la oportunidad de aprender y aplicar mejores prácticas en desarrollo de software, pruebas unitarias, despliegue y monitoreo en un entorno productivo. Trabajarás bajo la guía de ingenieros senior, pero se espera que tomes iniciativa, actúes con urgencia y entregues trabajo de alta calidad que agregue valor al negocio y a los clientes.
**Responsabilidades clave:**
**Entrega de software resiliente y sostenible:** Diseñar, desarrollar e implementar soluciones backend de alta calidad y escalables desde la concepción hasta el despliegue.
**Ejecución de proyectos definidos:** Trabajar en proyectos establecidos para lograr los objetivos del equipo, definiendo soluciones adecuadas de forma independiente o utilizando enfoques existentes para resolver problemas.
**Sentido de responsabilidad (ownership):** Cumplir compromisos, asumir responsabilidad por tu trabajo y entregar a tiempo. Identificar proactivamente oportunidades de mejora en proyectos y procesos del equipo.
**Colaboración en equipo:** Trabajar principalmente dentro del equipo, participando en revisiones de código y discusiones para mejorar la calidad del código. Adoptar las mejores prácticas establecidas por el equipo.
**Pruebas unitarias y mejores prácticas:** Escribir pruebas unitarias para nuevas funcionalidades, asegurando confiabilidad y mantenibilidad. Aplicar mejores prácticas de desarrollo.
**Participación en procesos ágiles:** Participar en sesiones de planificación, reuniones diarias (stand-ups) y retrospectivas con el equipo de desarrollo, el engineering manager y el product manager.
**Desarrollo y soporte de APIs:** Diseñar e implementar APIs que serán consumidas por otros equipos, asegurando que sean robustas y escalables.
**Integración en la nube:** Implementar e integrar soluciones en la nube, preferiblemente en AWS, utilizando arquitecturas serverless.
**Trabajo con sistemas distribuidos y EDA:** Apoyar en la construcción de sistemas distribuidos escalables y resilientes utilizando patrones de arquitectura orientada a eventos.
**Uso de bases de datos NoSQL:** Diseñar, implementar y gestionar soluciones de almacenamiento de datos utilizando bases de datos NoSQL como DynamoDB.
**Aplicación de DDD:** Aplicar principios de diseño guiado por dominio para modelar dominios de negocio complejos de manera efectiva.
**Mentoría:** Posiblemente brindar mentoría a nuevos ingresos, pasantes o ingenieros más junior.
**Mejora continua:** Buscar retroalimentación de forma proactiva, enfocarse en el crecimiento personal y contribuir al desarrollo del equipo. Innovar aportando nuevas ideas y enfoques.
**Requisitos:**
**Formación académica:** Licenciatura en Ciencias de la Computación, Ingeniería o campo relacionado, o experiencia práctica equivalente.
**Experiencia:** Más de 3 años de experiencia en desarrollo de software.
**Habilidades técnicas:**
* Dominio de Python.
* Sólido entendimiento de APIs REST y métodos HTTP.
* Experiencia con herramientas serverless de AWS como DynamoDB, Lambda, CloudWatch, API Gateway, y familiaridad con frameworks de Infraestructura como Código (IaC) como CDK o SAM.
* Experiencia en pruebas unitarias y automatización de pruebas.
* Conocimiento de herramientas y procesos CI/CD.
**Sistemas distribuidos:** Comprensión de principios de computación distribuida y experiencia construyendo sistemas escalables.
**Arquitectura orientada a eventos:** Experiencia con modelos de programación orientados a eventos y herramientas como AWS SNS/SQS, EventBridge, Kafka o similares.
**Bases de datos NoSQL:** Dominio de bases de datos NoSQL como DynamoDB o MongoDB.
**Domain-Driven Design:** Experiencia aplicando conceptos de DDD en proyectos.
**Metodologías ágiles:** Familiaridad con Scrum o Kanban y capacidad de trabajar en procesos ágiles.
**Requisitos:**
**Formación académica:** Licenciatura en Ciencias de la Computación, Ingeniería o campo relacionado, o experiencia práctica equivalente.
**Experiencia:** Más de 3 años de experiencia en desarrollo de software.
**Habilidades técnicas:**
* Dominio de Python.
* Sólido entendimiento de APIs REST y métodos HTTP.
* Experiencia con herramientas serverless de AWS como DynamoDB, Lambda, CloudWatch, API Gateway, y familiaridad con frameworks de Infraestructura como Código (IaC) como CDK o SAM.
* Experiencia en pruebas unitarias y automatización de pruebas.
* Conocimiento de herramientas y procesos CI/CD.
**Sistemas distribuidos:** Comprensión de principios de computación distribuida y experiencia construyendo sistemas escalables.
**Arquitectura orientada a eventos:** Experiencia con modelos de programación orientados a eventos y herramientas como AWS SNS/SQS, EventBridge, Kafka o similares.
**Bases de datos NoSQL:** Dominio de bases de datos NoSQL como DynamoDB o MongoDB.
**Domain-Driven Design:** Experiencia aplicando conceptos de DDD en proyectos.
**Metodologías ágiles:** Familiaridad con Scrum o Kanban y capacidad de trabajar en procesos ágiles.
**Calificaciones deseables:**
* Experiencia con frameworks y librerías backend.
* Conocimiento en ciencia de datos (**deseable**).
* Conocimiento de arquitecturas serverless y computación en la nube.
* Familiaridad con sistemas de control de versiones como Git.
* Experiencia con herramientas y prácticas de revisión de código.
* Participación en proyectos con sistemas distribuidos.
* Experiencia práctica con sistemas orientados a eventos como AWS SNS/SQS, Kafka o similares.
* Experiencia con bases de datos NoSQL en proyectos reales.
* Aplicación práctica de principios DDD.
* Participación en iniciativas para reducir deuda técnica y mejorar la eficiencia operativa.