B&A
Centillion Infotech LLC
Desarrollador/Líder de Core Java
Descripción del puesto
Ubicación | N/A, California, Georgia, Nueva York
Duración | Largo plazo
Habilidades técnicas
Core Java
- Java SE
- Programación orientada a objetos
- Colecciones y genéricos
- Multihilo y concurrencia
- Streams y expresiones lambda
- Gestión de excepciones
- I/O y NIO de Java
- Arquitectura de JVM
- Gestión de memoria y recolección de basura
- Serialización y reflexión
- Estructuras de datos y algoritmos
Desarrollo Backend
- APIs RESTful
- HTTP y JSON
- JDBC
- Spring y Spring Boot
- Microservicios
- Autenticación y autorización
- Gestión de transacciones
- Integración de servicios
Sobre el puesto
Buscamos un Desarrollador de Core Java cualificado para diseñar, desarrollar, probar y mantener aplicaciones de Java de alto rendimiento, escalables y fiables.
El candidato ideal contará con una base sólida en conceptos de Core Java, programación orientada a objetos, multihilo, estructuras de datos, patrones de diseño y desarrollo de aplicaciones empresariales.
El candidato seleccionado colaborará con arquitectos, desarrolladores, ingenieros de QA, equipos de DevOps, gestores de producto y partes interesadas del negocio para ofrecer soluciones de software de alta calidad.
Responsabilidades clave
- Diseñar, desarrollar y mantener aplicaciones utilizando Core Java.
- Escribir código limpio, eficiente, reutilizable y mantenible.
- Aplicar principios de programación orientada a objetos y patrones de diseño de software.
- Desarrollar aplicaciones multihilo, concurrentes y de alto rendimiento.
- Trabajar con colecciones, gestión de excepciones, genéricos, streams y expresiones lambda de Java.
- Construir y consumir servicios web RESTful y APIs.
- Desarrollar componentes de aplicación modulares y escalables.
- Implementar lógica de negocio, validación, gestión de errores y gestión de transacciones.
- Trabajar con bases de datos relacionales y NoSQL.
- Escribir consultas de SQL eficientes y optimizar las interacciones con la base de datos.
- Realizar pruebas unitarias, de integración, funcionales y de regresión.
- Solucionar problemas de aplicaciones, fugas de memoria, cuellos de botella de rendimiento y defectos en producción.
- Participar en revisiones de código y asegurar el cumplimiento de los estándares de codificación.
- Colaborar con equipos interfuncionales para comprender los requisitos y ofrecer soluciones.
- Contribuir a los documentos de diseño técnico y planes de implementación.
- Integrar aplicaciones con tuberías de CI/CD.
- Apoyar el despliegue de aplicaciones, la monitorización y la resolución de problemas en producción.
- Participar en ceremonias de Agile, planificación de sprints, reuniones diarias, revisiones y retrospectivas.
- Mantenerse al día con los lanzamientos de Java, prácticas de desarrollo, herramientas y tendencias del sector.
Cualificaciones requeridas
- Grado universitario en Informática, Ingeniería, Tecnologías de la Información o un campo relacionado.
- 10+ años de experiencia en desarrollo de software con Java.
- Conocimiento sólido de Core Java, incluyendo:
- Programación orientada a objetos
- Framework de colecciones
- Gestión de excepciones
- Genéricos
- Multihilo y concurrencia
- I/O y NIO de Java
- Streams y expresiones lambda
- Gestión de memoria de Java
- Recolección de basura (Garbage collection)
- Experiencia con Java 8 o posterior.
- Comprensión sólida de estructuras de datos, algoritmos y patrones de diseño.
- Experiencia en el desarrollo de APIs RESTful y servicios backend.
- Conocimiento de bases de datos relacionales como Oracle, SQL Server, MySQL o PostgreSQL.
- Experiencia con SQL, JDBC y conceptos de ORM.
- Familiaridad con Maven o Gradle.
- Experiencia con Git u otros sistemas de control de versiones.
- Comprensión de pruebas unitarias utilizando JUnit, Mockito o herramientas equivalentes.
- Familiaridad con metodologías de desarrollo Agile/Scrum.
- Fuertes habilidades analíticas, de depuración, comunicación y resolución de problemas.
Cualificaciones preferentes
- Experiencia con Java 11, 17, 21 o posterior.
- Experiencia con Spring, Spring Boot, Spring MVC, Spring Data o Spring Security.
- Conocimiento de arquitectura de microservicios.
- Experiencia con tecnologías de mensajería como Kafka, RabbitMQ, JMS o ActiveMQ.
- Familiaridad con Docker y Kubernetes.
- Experiencia con plataformas en la nube como AWS, Azure o Google Cloud.
- Conocimiento de herramientas de CI/CD como Jenkins, GitHub Actions, GitLab CI o Azure DevOps.
- Experiencia con bases de datos NoSQL como MongoDB, Redis, Cassandra o DynamoDB.
- Familiaridad con sistemas distribuidos, caché y arquitectura basada en eventos.
- Experiencia con herramientas de monitorización y observabilidad de aplicaciones.
- Conocimiento de prácticas de codificación segura y seguridad de aplicaciones.
- Experiencia con herramientas de pruebas de rendimiento y perfilado.
- Familiaridad con entornos Linux/Unix y scripting de shell.
Opciones flexibles de trabajo desde casa disponibles.
