Desarrollador Java Md
Added 8 days agoObjetivo del Puesto Diseñar, desarrollar y mantener soluciones back-end escalables, seguras y de alto rendimiento utilizando Java y tecnologías modernas, contribuyendo activamente a la arquitectura de los sistemas y colaborando con equipos multidisciplinarios para entregar software de alta calidad.
Responsabilidades
Desarrollo y Arquitectura
- Diseñar e implementar soluciones back-end eficientes y escalables utilizando Java y frameworks como Spring Boot y tecnologías asociadas.
- Definir y aplicar arquitecturas limpias como microservicios, event-driven y arquitectura hexagonal.
- Garantizar el cumplimiento de buenas prácticas de desarrollo y calidad de código (SOLID, Clean Code, Sonar, Checkmarx, Fortify, BlackDuck).
- Optimizar el rendimiento y resolver cuellos de botella en sistemas existentes.
- Integrar aplicaciones con bases de datos, APIs REST/GraphQL, servicios externos y sistemas de mensajería.
Liderazgo Técnico
- Mentorizar a desarrolladores junior y mid-level mediante code reviews, sesiones de pair programming y acompañamiento técnico.
- Colaborar activamente con equipos cross-funcionales (Front-End, DevOps, QA, Producto) para la correcta integración de soluciones.
Calidad y Seguridad
- Diseñar e implementar pruebas unitarias e integración utilizando JUnit, Mockito, asegurando una adecuada cobertura de código.
- Aplicar estándares de seguridad siguiendo las recomendaciones OWASP.
- Implementar mecanismos de autenticación y autorización como JWT y OAuth2.
DevOps y Cloud
- Trabajar con infraestructura en la nube (AWS, Azure o GCP).
- Utilizar contenedores y orquestadores como Docker y Kubernetes.
- Automatizar procesos de build, testing y despliegue mediante CI/CD (Jenkins, GitHub Actions, GitLab CI).
Documentación
- Documentar diseños técnicos, decisiones arquitectónicas y procesos clave para asegurar la disponibilidad y transferencia del conocimiento.
Requisitos
Habilidades Técnicas (Indispensables)
- Java: Dominio avanzado (JDK 11+, lambdas, streams, concurrencia).
- Frameworks: Spring Boot, Spring Security, Hibernate/JPA.
- APIs: Diseño y consumo de APIs RESTful y conocimiento de GraphQL.
- Bases de Datos:
- Relacionales: PostgreSQL, MySQL
- NoSQL: MongoDB, Redis, Cassandra
- Eventos y Mensajería: Kafka, RabbitMQ, AWS SQS.
- Control de Versiones: Git (GitHub / GitLab).
- Infraestructura: Experiencia trabajando con plataformas cloud (AWS, Azure o GCP).
Requisitos Indispensables
- Experiencia: Mínimo 5 años en desarrollo back-end con Java.
- Inglés: Nivel intermedio / avanzado para lectura y escritura técnica.
- Educación: Licenciatura en Ingeniería de Software, Sistemas o carrera afín (o experiencia equivalente).
Requisitos Deseables
- Certificaciones en Java (Oracle Certified Professional) y/o Cloud (AWS, Azure).
- Experiencia en arquitecturas serverless (ej. AWS Lambda).
- Conocimiento en herramientas de observabilidad y monitoreo (Dynatrace, Prometheus, Grafana).
- Familiaridad con patrones de resiliencia (Circuit Breaker, Retry, Timeout, Bulkhead).
Indicadores Clave de Desempeño (KPIs)**_(Deseables)_
Velocidad de Entrega
- Cumplimiento de deadlines.
- Tiempo de resolución de bugs.
- Throughput de desarrollo.
Calidad del Software
- Cobertura de pruebas superior al 80%.
- Reducción de bugs e incidentes en producción.
Impacto en la Arquitectura
- Reducción de latencia y mejora de rendimiento.
- Escalabilidad lograda en componentes clave.
- Reutilización de componentes y servicios.
Liderazgo Técnico
- Mentoría efectiva.
- Calidad y frecuencia de code reviews.
- Adopción de buenas prácticas por el equipo.
Innovación
- Propuestas de mejora implementadas.
- Evaluación y adopción de nuevas tecnologías.
Colaboración
- Retroalimentación positiva del equipo.
- Participación activa en dinámicas de trabajo colaborativas.
Ingles intermedio