freehire launches on Product Hunt on 26 August.

Follow →

Software Engineer Senior Java

Summary

Senior Java engineer designing and leading serverless architectures on AWS (Lambda, Step Functions) for an edtech company, focusing on Java 21, DDD, and scalable data solutions with MySQL 8 and event-driven workflows.

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.

See also

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of freehire is available