Información Importante
Ubicación: Perú
Modalidad de trabajo: Híbrido
Resumen del puesto
Como un Senior Software Engineer (12286), formarás parte de un equipo tecnológico y ágil altamente calificado por respaldar y desarrollar soluciones de vanguardia para cumplir con los requisitos de nuestro negocio. Nos ayudará a acelerar los resultados empresariales de nuestros clientes mediante la innovación de productos digitales de vanguardia.
Responsabilidades y Funciones
- Diseñar y desarrollar soluciones complejas: Crear arquitecturas robustas y escalables para aplicaciones de software.
- Liderar el ciclo completo de desarrollo: Gestionar desde el análisis hasta la implementación y el mantenimiento del software.
- Mentorar a otros desarrolladores: Guiar y revisar el trabajo de ingenieros más junior, promoviendo buenas prácticas de desarrollo.
- Asegurar la calidad del código: Realizar revisiones de código y asegurar la implementación de pruebas y estándares de calidad.
- Colaborar con equipos multidisciplinarios: Trabajar estrechamente con diseñadores, product managers y otros equipos para cumplir con los requisitos del proyecto.
Requisitos y Habilidades
- Egresados de sistemas, desarrollo o afines con +4 años de experiencia.
- Clean code, SOLID, TDD, Patrones GoF
- Prácticas: Refactoring, Code Review, Unit Test
- Programación: Clases, objetos, colecciones, archivos, flujos, operadores.
- POO: abstracción, interfaces, composición, polimorfismo, herencia
- Java: JDK 8, JDK 11.
- Git: checkout, ramas, tags, conflictos, merging
- SQL: tablas, columnas, consultas básicas, agregación, planes de ejecución
- Pruebas unitarias: JUnit, Mockito, Lombok
- Spring Boot
- Conceptos de microservicios
- Autenticación con OAuth2s y JWT
- Conceptos y servicios en la nube: storage, computing, networking
- Conceptos de CI/CD, devops y pipelines
- Seguridad básica en redes y aplicaciones, vulnerabilidades más Comúnes
- Programación en shell: Bash, Z shell o PowerShell"
- Mid: "Debe tener competencias de Junior mas :
- Java: Genéricos, excepciones, JDBC, networking
- Multi-threading: coordinación, bloqueo, IPC, recursos compartidos
- Patrones de concurrencia y mejora de rendimiento
- Patrones de refactoring, patrones de SOA
- Git: reset, revert, merge vs. rebase, log
- SQL: consultas anidadas, funciones de agrupación, tablas temporales
- Diseño de BD relacional: vistas, vistas materializadas, procedimientos almacenados, funciones
- Pruebas unitarias
- Programación reactiva (Rx Java, Webflux)
- Web Services SOAP, REST, JSON, XML, Swagger, OpenAPI
- Spring Boot y JPA
- Diseño de aplicaciones y APIs serverless
- Cloud: CosmosDB, Azure Functions
- CI/CD: pipelines automatizados, YAML
- Protocolos de encriptación y seguridad, llave pública y privada
- Programación en shell: variables de ambiente, argumentos, bucles y condiciones
- Sistemas Operativos Windows y Linux (RHEL)
- Lenguajes de Programación: PL/SQL
- Herramientas Web: Postman, SOAP UI, JMeter
- Plataformas Cloud (Azure, Oracle).
- IC/DC: Git, Sonar, Azure devOps, Jenkins, entre otros.
- Conocimiento de plataforma OpenShift/Confluent
- Herramientas de análisis de Calidad de código como Sonarqube, Kiuwan, Fortify.
- Mecanismos de seguridad como JWT, Oauth2.0.
- Arquitectura de software, capas, componentes, servicios, patrones (SAGA, Cache aside)
- Docker: imágenes, contenedores, volúmenes, redes, composición
- Diseño de bases de datos No-SQL: tablas, índices, consultas"
- Java: JDK 11, 17, Springboot, reactor, JDBC, JPA, spring, Quarkus (deseable)
- Event Driven Architecture (Apache Kafka, Tópicos, Manejo de Eventos)
- Optimización de esquemas en bases de datos relacionales
- Patrones y anti patrones sobre: control de versiones, diseño No-SQL
- Amplio conocimiento de Pruebas Unitarias.
- Amplio conocimiento de Prácticas de desarrollo: code review, programación segura, programación funcional, programación reactiva, Kiuwan, refactoring, modelamiento UML, etc.
- Patrones y anti patrones sobre: CI/CD, diseño No-SQL
- Diseño de bases de datos No-SQL: tablas, índices, consultas, ACID vs BASE.
- CI/CD: pruebas continuas, inspección continua de calidad de código
- Cloud: servicios elásticos, balanceo de carga, monitoreo , autenticación
- Pruebas de penetración y vulnerabilidades automatizadas
- Protocolos y componentes de redes: ruteo, VLANs, NAT, Gateways}
- Orquestación con with Docker Swarm o Kubernetes Pods, AKS
- Conocimiento de OWASP, desarrollo seguro
- DataFactory, DataBricks
- Se desempeña muy bien en las asignaciones y proyectos con poca o ninguna guía.
- Sintetiza de manera efectiva la información y presenta los mensajes con claridad. Ayuda y acompaña a juniors y medium a desarrollar habilidades y resolver problemas"
Requerimientos adicionales
- Tecnologías: Java, Spring Boot, Microservices, Docker, Kubernetes.
- Competencias: Autonomia, trabajo en entornos ágiles, comunicación efectiva y liderazgo
Acerca de Encora
Encora es el socio preferido de ingeniería digital y modernización de algunas de las principales empresas del mundo y empresas nativas digitales. Con más de 9,000 expertos en 47+ oficinas y laboratorios de innovación en todo el mundo, las prácticas tecnológicas de Encora incluyen Ingeniería y Desarrollo de Productos, Servicios en la Nube, Ingeniería de Calidad, DevSecOps, Datos y Análisis, Experiencia Digital, Ciberseguridad e Ingeniería de IA y LLM.
En Encora, contratamos profesionales únicamente en función de sus habilidades y calificaciones, y no discriminamos en función de la edad, discapacidad, religión, género, orientación sexual, estado socioeconómico o nacionalidad.