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, 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.
conocimiento en planes de ejecución y herramientas de diagnóstico y tracing que proporcionan los motores de bases de datos.
generación en el enterprise architect de modelo 4+1 (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 volúmenes.
kubernetes: debe conocer la línea de comando de kubernetes, realizar operaciones básicas: kubectl apply -f, kubectl get pods, kubectl 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 pick, 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-*-ljbffr