Requisitos conocimientos solidos de programación orientada a objetos: cocimiento y diseño de clases, clases abstractas, interfaces, herencia, polimorfismo y encapsulamiento. Conocimiento e implementación de patrones de diseño. Debe tener claridad acerca de los principios solid para el diseño de clases y componentes. Principios y patrones de diseño: chain of responsability, builder, strategy, chain of responsability, prototype, bridge, decorator, command, mediator. Pruebas unitarias: tdd, evitar las dependencias de entidades externas durante la ejecución de las pruebas unitarias mediante el uso de mocks. Java y del framework spring boot: modificadores de acceso avanzados: final, volatil, synchronized. Inmutabilidad, async, spring security. Filters, maven. Conocimiento http: headers, cookies, cors microservicios rest api: experiencia con api gateway, seguridad, monitoreo, configuración de políticas, ruteo. Service discovery, circuit breaker, estrategias de cache, arquitectura de microservicios con message broker. Conocimiento de sql, postgresql, nosql con conocimiento en planes de ejecución y herramientas de diagnóstico y tracing que proporcionan los motores de bases de datos. Generacion en el enterprise architect de modelo 41 (vista lógica, vista de desarrollo, vista de proceso, vista física) cloud native docker: conocimiento en levantar contenedores locales de imágenes de un repositorio público. Creación de dockerfiles, exposición de puertos. Docker compose, configuración de volumenes. Kubernetes: debe conocer la línea de comando de kubernetes, realizar operaciones básicas: kubectl apply -f, kubectl get pods, kubecctl logs. Conocimiento avanzado de los objetos de k8s: ingress, configmaps, secrets. Uso de helm. Istio. Dominio de los flujos de autorización de oauth2. Autenticación con certificados. Devops y ci/cd conocimiento de azure devops (azure boards) conocimiento y uso de git para control de versiones: push, pull, commit, uso de git por comandos, resolución de conflictos. Diferencia pull fetch, cherry pickup, tipos de merge. Conocimiento en github actions conocimiento de estrategia de branch gitflow conocimiento en scrum, tablero kanban habilidades soft gestión de equipos liderazgo enfoque al cliente comunicación efectiva pensamiento innovador trabajo en equipo j-18808-ljbffr