Desarrollador Java Core Alpharetta, GA

Desarrollador Java Core

Tiempo completo • Alpharetta, GA
Descripción del puesto:

Sobre el puesto

  • Buscamos un desarrollador Java Core cualificado para diseñar, desarrollar, probar y mantener aplicaciones Java de alto rendimiento, escalables y fiables.
  • El candidato ideal tendrá una sólida base en conceptos básicos de 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 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 usando Java Central.
  • Escribe código limpio, eficiente, reutilizable y mantenible.
  • Aplica los principios de programación orientada a objetos y los patrones de diseño de software.
  • Desarrollar aplicaciones multihilo, concurrentes y de alto rendimiento.
  • Trabaja con colecciones Java, manejo de excepciones, genéricos, flujos y expresiones lambda.
  • Construye y consume servicios web y APIs RESTful.
  • Desarrollar componentes modulares y escalables de la aplicación.
  • Implementa lógica de negocio, validación, gestión de errores y gestión de transacciones.
  • Trabaja con bases de datos relacionales y NoSQL.
  • Escribe consultas SQL eficientes y optimiza las interacciones con bases de datos.
  • Realizar pruebas unitarias, de integración, funcionales y de regresión.
  • Soluciona problemas de aplicaciones, fugas de memoria, cuellos de botella de rendimiento y defectos de producción.
  • Participa en revisiones de código y asegúrate de cumplir con los estándares de codificación.
  • Colaborar con equipos multifuncionales para comprender los requisitos y ofrecer soluciones.
  • Contribuir a documentos técnicos de diseño y planes de implementación.
  • Integra aplicaciones con pipelines CI/CD.
  • Apoyar el despliegue de aplicaciones, la monitorización y la resolución de problemas de producción.
  • Participa en ceremonias Agile, planificación de sprints, reuniones diarias, reseñas y retrospectivas.
  • Mantente al día con las versiones de Java, las prácticas de desarrollo, las herramientas y las tendencias del sector.
 

Cualificaciones requeridas

  • Licenciatura en Informática, Ingeniería, Tecnología de la Información o un campo relacionado.
  • 10+ años de experiencia en desarrollo de software Java.
  • Sólido conocimiento de Java Central, incluyendo:
  • Programación orientada a objetos
  • Marco de colecciones
  • Manejo de excepciones
  • Genéricos
  • Multihilo y concurrencia
  • E/S y NIO de Java
  • Flujos y expresiones lambda
  • Gestión de memoria en Java
  • Recogida de basura
  • Experiencia con Java 8 o posteriores.
  • Sólido conocimiento de estructuras de datos, algoritmos y patrones de diseño.
  • Experiencia desarrollando APIs RESTful y servicios backend.
  • Conocimiento de bases de datos relacionales como Oracle, SQL Server, MySQL o PostgreSQL.
  • Experiencia con conceptos de SQL, JDBC y ORM.
  • Familiaridad con Maven o Gradle.
  • Experiencia con Git u otros sistemas de control de versiones.
  • Comprensión de las pruebas unitarias usando JUnit, Mockito o herramientas equivalentes.
  • Familiaridad con metodologías de desarrollo Ágil/Scrum.
  • Sólidas habilidades analíticas, de depuración, comunicación y resolución de problemas.
 

Cualificaciones Preferidas

  • Experiencia con Java 11, 17, 21 o posteriores.
  • Experiencia con Spring, Spring Boot, Spring MVC, Spring Data o Spring Security.
  • Conocimiento de la 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 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 orientada a eventos.
  • Experiencia con herramientas de monitorización de aplicaciones y observabilidad.
  • Conocimiento de prácticas de codificación segura y seguridad en aplicaciones.
  • Experiencia con herramientas de pruebas de rendimiento y perfilado.
  • Familiaridad con entornos Linux/Unix y scripting de shell.
 

Habilidades técnicas

Java Núcleo

  • Java SE
  • Programación orientada a objetos
  • Colecciones y genéricos
  • Multihilo y concurrencia
  • Flujos y expresiones lambda
  • Manejo de excepciones
  • E/S y NIO de Java
  • Arquitectura JVM
  • Gestión de memoria y recogida de basura
  • Serialización y reflexión
  • Estructuras de datos y algoritmos
 

Desarrollo Backend

  • RESTful APIs
  • HTTP y JSON
  • JDBC
  • Spring y Spring Boot
  • Microservicios
  • Autenticación y autorización
  • Gestión de transacciones
  • Integración de servicios




Aplicar aquí.

* campos requeridos

Ubicación
Or
Or
If no code provided, add their name instead.
Política de privacidad