Senior Software Engineer

Posted:
12/12/2024, 2:26:36 PM

Experience Level(s):
Senior

Field(s):
Software Engineering

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.