Desarrollador Java Sr
Modalidad: Híbrida (México)
Idiomas: Inglés Intermedio
Requisitos
- Formación completa en Sistemas de Información, Análisis de Sistemas, Informática, Ingeniería Informática o carreras afines.
- 8 años de experiencia en desarrollo de aplicaciones backend.
- Experiencia mínima de 5 años como Desarrollador Java.
- Sólido conocimiento en Programación Orientada a Objetos (OOP).
- Dominio de principios SOLID.
- Conocimiento de buenas prácticas de desarrollo como KISS, DRY, YAGNI, BDUF y SOC.
- Experiencia en desarrollo sobre plataformas Java y Java EE.
- Experiencia sólida en Java 17+.
- Dominio de Spring Framework 6.x y Spring Boot 3.x.
- Experiencia en diseño y desarrollo de Microservicios.
- Conocimiento de tecnologías Front-End basadas en JavaScript.
- Experiencia con JavaScript, CSS y JSON.
- Conocimiento en diseño y desarrollo de aplicaciones web.
- Conocimiento de seguridad de aplicaciones basado en OWASP Top 10.
- Experiencia con Spring Security.
- Conocimiento en prevención de inyecciones, validación de datos y desarrollo seguro.
- Conocimiento sólido del ciclo de vida completo de desarrollo de software.
- Experiencia trabajando bajo metodologías ágiles como Scrum y Kanban.
- Experiencia en prácticas de Integración Continua y Despliegue Continuo (CI/CD).
- Conocimiento en desarrollo basado en pruebas (TDD/BDD).
- Experiencia utilizando JUnit y/o Mockito.
- Dominio de sistemas de control de versiones Git.
- Deseable conocimiento de SVN.
- Dominio de plataforma JEE, incluyendo:
- JPA.
- EJB.
- Servlets.
- JSP.
- JSF.
- Dominio de SQL sobre bases de datos relacionales.
- Conocimiento sólido de DML:
- SELECT.
- JOINs.
- INSERT.
- UPDATE.
- DELETE.
- Funciones de agregación.
- Optimización de consultas.
- Conocimiento de DDL para administración de estructuras de bases de datos.
- Experiencia trabajando con tablas, índices, relaciones y restricciones.
- Comprensión del impacto de los cambios de base de datos en rendimiento, integridad de información y despliegues productivos.
Responsabilidades
- Diseñar, desarrollar y mantener aplicaciones backend utilizando Java.
- Diseñar e implementar soluciones empresariales utilizando Spring Framework y Spring Boot.
- Desarrollar y mantener arquitecturas basadas en microservicios.
- Aplicar principios SOLID y buenas prácticas de desarrollo para garantizar código mantenible y escalable.
- Implementar controles de seguridad alineados con OWASP Top 10 y estándares de desarrollo seguro.
- Participar activamente en todas las fases del ciclo de vida del software, desde análisis hasta despliegue.
- Colaborar con equipos multidisciplinarios bajo metodologías ágiles.
- Diseñar y ejecutar pruebas unitarias para garantizar la calidad de las soluciones desarrolladas.
- Participar en iniciativas de TDD/BDD y mejora continua de calidad de software.
- Administrar y gestionar repositorios de código utilizando Git.
- Diseñar, construir y optimizar consultas SQL para soportar los requerimientos del negocio.
- Participar en iniciativas de integración y despliegue continuo.
- Contribuir a la estabilidad, rendimiento y mantenibilidad de las aplicaciones.
- Brindar soporte técnico y participar en la resolución de problemas complejos relacionados con aplicaciones y bases de datos.
Competencias Deseables
- Comunicación efectiva.
- Trabajo en equipo.
- Resolución de problemas.
- Pensamiento analítico.
- Adaptabilidad.