Software Engineer Senior Java
Somos Innova Schools, una cadena privada de colegios que forma parte del grupo Intercorp, actualmente contamos con 65 sedes a nivel nacional. Somos una organización que está buscando transformar la educación en el Perú, además que fomenta y respeta en sus procesos de atracción del talento la igualdad de género, la inclusión y la diversidad.
Estamos en búsqueda de un/a SOFTWARE ENGINEER SENIOR JAVA
Principales funciones:
? Diseñar y lidera soluciones serverless de alta disponibilidad y rendimiento en AWS, utilizando Java 21 con Maven, AWS Lambdas, Step Functions y API Gateway, Dynamo, SQS, SNS, EventBridge y S3 asegurando que las soluciones respondan a las necesidades del negocio y a los estándares tecnológicos definidos.
? Definir soluciones y arquitecturas aplicando principios de Clean Code, Domain-Driven Design (DDD), Arquitectura Hexagonal y basada en Eventos(EDA) para construir un software robusto, escalable y fácil de mantener.
? Gestionar el ciclo de vida del código fuente utilizando repositorios Git, asegurando la integridad y calidad a través de revisiones de código y buenas prácticas.
? Diseñar y optimizar soluciones de persistencia de datos, incluyendo modelos de datos, scripts y Stored Procedures en MySQL 8, asegurando eficiencia, integridad y rendimiento.
? Liderar técnicamente el desarrollo de funcionalidades de alta complejidad, participando desde el análisis de requerimientos y diseño de la solución hasta la implementación, pruebas, despliegue y soporte en producción.
? Definir y promover estrategias de pruebas unitarias, integración y otros mecanismos de aseguramiento de calidad, trabajando con el equipo de QA para reducir defectos e incidentes en ambientes productivos.
? Crear y mantener la documentación técnica de los servicios y arquitecturas desarrolladas para construir una base de conocimiento sólida y facilitar la colaboración.
? Acompañar y mentorizar técnicamente a los Software Engineers del equipo, compartiendo conocimientos, realizando revisiones técnicas y promoviendo buenas prácticas de desarrollo.
? Colaborar estrechamente con otros equipos para definir, diseñar y entregar nuevas funcionalidades, proveyendo soporte técnico cuando sea necesario.
- Saber identificar los tradeoffs de diferentes soluciones, para la mejor toma de decisión en el diseño de la arquitectura
Requisitos:
? Formación: Estudios universitarios o técnicos concluidos en Computación, Informática, Software o carreras afines.
? Experiencia: Mínimo 4 años de experiencia en posiciones de desarrollo de software con Java. Experiencia participando en el diseño e implementación de soluciones de software de mediana y alta complejidad. Experiencia realizando code reviews, definición técnica de soluciones y acompañamiento técnico a otros desarrolladores.
Conocimientos Técnicos Indispensables:
? Sólida experiencia en desarrollo con Java 21.
? Experiencia en inyección de dependencias con Dagger.
? Manejo de conectividad a bases de datos con JDBC.
? Experiencia en la generación de reportes y documentos dinámicos (PDF, Excel) utilizando librerías de Java (ej. Apache POI, iText, PDFBox).
? Conocimiento práctico en el ecosistema Serverless de AWS: especialmente Lambda, Step Functions y API Gateway.
? Dominio de MySQL 8, incluyendo la creación y optimización de scripts y Stored Procedures.
? Comprensión y aplicación de principios de Clean Code, Domain-Driven Design (DDD) y patrones de Arquitectura Hexagonal, garantizando la calidad mediante el uso de herramientas de análisis estático de código (linters).
? Experiencia en el uso de Git para el control de versiones
? Experiencia en diseño de APIs REST e integración entre servicios (API first).
? Conocimiento de principios de seguridad, performance, escalabilidad y observabilidad aplicados al desarrollo de software.
? Experiencia en estrategias de pruebas unitarias y de integración.
Conocimientos Deseables:
? Experiencia o conocimiento en Spring Boot.
? Conocimientos básicos o experiencia en Python.
? Experiencia o conocimiento en .Net
? Experiencia con servicios adicionales de AWS.
? Conocimiento de herramientas de monitoreo y observabilidad.