* 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 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 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
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 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 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