Java Developer Semisenior

Hace 4 horas

Lima, Perú Encora Jornada completa

Sobre la posiciónCliente: BancaEsquema: Hibrido Lima (2 a 3 veces presencial en la semana) - (Si vives en provincia es remoto)Contrato: Indeterminado con 6 meses de periodo de pruebaBuscamos un/a Java Developer Semi Senior para integrarse a un equipo de desarrollo enfocado en la construcción, evolución y mantenimiento de soluciones Cloud Native, utilizando tecnologías Java y servicios de Microsoft Azure.

Responsabilidades

  • Diseñar, desarrollar y mantener aplicaciones y servicios backend utilizando Java.
  • Implementar soluciones con Spring y/o Quarkus.
  • Desarrollar y consumir APIs REST/RESTful, utilizando herramientas como Swagger/OpenAPI.
  • Participar en el diseño de arquitecturas de software basadas en capas, componentes y microservicios.
  • Aplicar patrones de diseño y arquitectura, incluyendo SAGA y Cache Aside.
  • Construir, empaquetar y administrar aplicaciones utilizando Maven y/o Gradle.
  • Diseñar y administrar imágenes y contenedores utilizando Docker.
  • Implementar soluciones sobre Kubernetes y AKS (Azure Kubernetes Service).
  • Trabajar bajo principios y prácticas de Cloud Native.
  • Integrar aplicaciones con servicios de Azure PaaS, incluyendo:Azure API Management (APIM) Azure Application Gateway Azure App Service Azure Functions Azure Data Factory / Pipelines Azure Kubernetes Service (AKS)
  • Participar en procesos de integración, despliegue y operación de aplicaciones en ambientes cloud.
  • Contribuir al diseño y optimización de soluciones orientadas a datos, considerando conceptos de OLTP, OLAP, DataMart y Data Vault.
  • Aplicar conceptos de ACID vs. BASE según las necesidades de cada solución.
  • Participar en el diseño y evolución de soluciones orientadas a datos, considerando conceptos de OLTP, OLAP, DataMart y Data Vault.
  • Aplicar principios de SRE, observabilidad y monitoreo, incluyendo conceptos de APM.
  • Colaborar con equipos de arquitectura, DevOps, Data y Cloud para implementar soluciones robustas y escalables.
  • Participar en revisiones de código, análisis técnico y resolución de problemas en ambientes productivos.

Requisitos técnicos

  • Java - Experiencia sólida en desarrollo con Java.
  • Conocimiento de JDK 8, 11 y 17.
  • Experiencia con Spring y/o Quarkus.
  • Desarrollo de APIs REST/RESTful.
  • Uso de Swagger/OpenAPI.
  • Experiencia con Maven y/o Gradle.

Arquitectura y desarrollo

  • Conocimiento de arquitectura de software.
  • Arquitectura por capas, componentes y servicios.
  • Experiencia con patrones de arquitectura y diseño.
  • Conocimiento de patrones como SAGA y Cache Aside.
  • Experiencia en arquitecturas distribuidas y/o microservicios.

Docker y Kubernetes

  • Conocimiento práctico de Docker, incluyendo:Creación y administración de imágenes. Contenedores. Volúmenes. Redes. Docker Compose.
  • Conocimientos de Kubernetes.
  • Experiencia o conocimientos de AKS (Azure Kubernetes Service).
  • Familiaridad con principios Cloud Native.

Microsoft Azure

  • Experiencia con servicios Azure PaaS.
  • Conocimientos de:Azure API Management (APIM). Azure Application Gateway. Azure App Service. Azure Functions. Azure Data Factory / Pipelines. Azure Kubernetes Service (AKS).

Bases de datos y Data

  • Conocimientos de diseño de bases de datos NoSQL.
  • Manejo de tablas/colecciones, índices y consultas.
  • Conocimiento de conceptos ACID vs. BASE.
  • Familiaridad con conceptos de Data Warehouse:OLTP vs. OLAP. DataMart. Data Vault.

Habilidades deseables

  • Experiencia trabajando bajo metodologías ágiles (Scrum/Kanban).
  • Experiencia en equipos multidisciplinarios.
  • Capacidad para analizar problemas técnicos y proponer soluciones.
  • Buenas prácticas de desarrollo, clean code y principios SOLID.
  • Experiencia con integración continua y despliegue continuo (CI/CD).
  • Capacidad para documentar soluciones técnicas y APIs.
  • Inglés técnico para lectura de documentación.

Perfil

Buscamos una persona proactiva, analítica y orientada a resultados, con capacidad para trabajar de manera colaborativa y asumir ownership sobre sus desarrollos. Debe ser capaz de desenvolverse en ambientes tecnológicos modernos, entender no solo el desarrollo de código sino también los principios de arquitectura, cloud, contenedores, datos y operación de aplicaciones, participando en todo el ciclo de vida de las soluciones.

Nivel de experiencia

Semi Senior ? aproximadamente 3 a 5 años de experiencia en desarrollo backend, idealmente con experiencia comprobable en Java, APIs, microservicios y ambientes cloud.