Realiza el diseño completo de aplicaciones de software o componentes aplicando normas, patrones y herramientas.
Ayuda como parte de un equipo en el diseño de componentes de sistemas de software más grandes.
Especifica las interfaces del usuario o sistema.
Crea múltiples vistas de diseño para atender las necesidades de los diferentes actores del diseño y manejar por separado requerimientos funcionales y no funcionales.
Ayuda en la evaluación de opciones y compromisos (trade-offs) del diseño.
Colabora en revisiones de trabajo con otros según corresponda.
Diseña, codifica, verifica, prueba, documenta, modifica y realiza refactorización de programas / scripts.
Aplica estándares y herramientas acordados para lograr un resultado bien diseñado.
Colabora en revisiones de trabajo con otros según corresponda.
Perfil del puesto
Formación académica: Ingeniería en Sistemas Computacionales, Informática o a fin
Experiencia profesional: 6 + años
Conocimientos específicos:
Conocimientos sólidos de patrones de diseño, programación orientada a objetos y mejores prácticas de programación.
Capacidad para debug de aplicaciones y optimización de flujos.
Conocimientos sólidos de flujos transaccionales.
Utilización de BD relacionales (Oracle SQL Server) y ORMs.
Conocimiento en herramientas de pruebas (Junit, TestNG, JMeter, etc.).
Conocimiento de algún otro framework Java especializado para desarrollo de microservicios (Microprofile, Micronaut, Quarkus, Vertx, etc.).
Experiencia demostrada con stack tradicional de Spring.
Experiencia en desarrollo y mantenimiento de microservicios con Spring Boot.
6 años mínimo diseñando y construyendo aplicaciones con Programación Orientada a objetos.
6 años mínimo en lenguaje java
3 años mínimo desarrollando pruebas de unidad e integración.
3 años mínimo desarrollando y/o maquetando aplicaciones, utilizando framework de diseño.
3 años de experiencia al menos en productos o tecnologías requeridos (JDBC, Hibernate, Spring Framework, mensajería JMS, JMX, UML, Maven, GIT y BPM).
1 año mínimo desarrollando y/o maquetando aplicaciones, utilizando HTML y JavaScript.