Objetivo general: ¿Cuál es la razón de que exista esta posición?
Desarrolla componentes de software de mediana complejidad utilizando el entorno Back, incluyendo herramientas y aplicaciones basadas en microservicios. Diseña e implementa soluciones eficientes y escalables, asegurando la integridad y calidad del código. Colabora con otros miembros del equipo para lograr los objetivos del proyecto. Es posible que las soluciones requieran supervisión ocasional.
Responsabilidades del puesto
- Diseñar, desarrollar y optimizar soluciones avanzadas de software
- Documentar su código, así como cumplir las normativas y procedimientos vigentes.
- Desarrollar y mantener APIs robustas para integración con otros sistemas.
- Definir y optimizar procesos técnicos relacionados con el ciclo de vida del desarrollo.
- Implementar y gestionar soluciones utilizando tecnologías de contenedores, garantizando la eficiencia y escalabilidad de las aplicaciones.
- Trabajar con los equipos de Arquitectura, Gestión de Datos, DevOps, QA a través de sprints ágiles para promover lanzamientos continuos desarrollos.
- Recopilar y documentar los requisitos funcionales y no funcionales en historias de JIRA para proyectos y mejoras técnicas.
- Colaborar estrechamente con otros equipos técnicos y de negocio para comprender y traducir requisitos en soluciones técnicas.
- Definir criterios de aceptación claros antes del desarrollo.
- Escritura, automatización, ejecución y documentación de pruebas TCC (Test Case coverage)
- Realizar pruebas de integración para verificar la funcionalidad conjunta.
- Probar la usabilidad y accesibilidad del producto.
- Mantener documentación actualizada sobre arquitecturas, procedimientos y herramientas operativas.
- Desarrollar herramientas y scripts para automatizar tareas operativas.
- Seguir lineamientos de arquitectura de datos en términos de cómo recolectar y almacenar la información.
- Generar y entregar documentación de diseño y disponibilidad de información al equipo de data.
- Colaboración y mentoría.
- Estimaciones de desarrollo.
- Desarrollar herramientas y scripts para automatizar tareas operativas y procesos de despliegue.
- Facilitar la transferencia de conocimientos entre equipos de operaciones y desarrollo
- Implementar sistemas de control de versiones para gestionar el código fuente y la infraestructura.
- Colaborar en estrategias de ramificación y fusión (branching and merging) efectivas.
- Facilitar la transferencia de conocimientos entre equipos de operaciones y desarrollo.
- ETL (Deseable)
- Emplear el paradigma de desarrollo TDD con JAVA
- Mantenerse actualizado con las últimas tendencias y tecnologías en el desarrollo con Java y áreas relacionadas.
Calificaciones necesarias para ejecutar el puesto (Perfil)
- Manejo de SQL y NoSQL. (MongoDB, PostgreSQL, MySQL.)
- Uso de herramientas como Maven, Gradle, Github Actions, Sonar Cloud.
- Entendimiento de patrones de diseño, arquitectura y principios SOLID.
- Habilidades con TDD, ATDD, BDD
- Habilidades de desarrollo seguro (uso de herramientas de SAST, DAST)
- Práctica en Scrum y manejo de Jira.
- Creación de microservicios y consumo de servicios REST, APIs RESTful
- Desarrollo sobre contenedores.
- Uso de Git y resolución de conflictos, así como herramientas CI/CD.
- Habilidad para adaptarse a cambios rápidos en el entorno de trabajo y las prioridades del proyecto.
- Excelentes habilidades de comunicación y colaboración.
- Disposición para adquirir conocimientos en nuevas tecnologías del stack tecnológico de Digital@FEMSA.
- Al menos 2 años de experiencia profesional en desarrollo con Java, en un entorno de trabajo en equipo
- Experiencia en Java, Spring Boot, Hibernate.
- Experiencia con JUnit y Mockito.
Digital FEMSA está comprometida con un lugar de trabajo diverso e inclusivo.
Somos un empleador que ofrece igualdad de oportunidades y no discrimina por motivos de raza, origen nacional, género, identidad de género, orientación sexual, discapacidad, edad u otra condición legalmente protegida.
Si desea solicitar una adaptación, notifique a su Reclutador.