Descripción General del Puesto
Únete a un equipo de ingeniería full-stack desarrollando aplicaciones web escalables utilizando Java, MySQL, JavaScript y React. Como ingeniero full-stack, contribuirás tanto al desarrollo backend como frontend, trabajando en estrecha colaboración con tu Tech Lead y miembros del equipo para entregar funcionalidades de alta calidad que satisfagan a nuestros usuarios.
Responsabilidades Principales
Desarrollo Backend
- Desarrollar y mantener aplicaciones Java utilizando el framework Spring Boot
- Diseñar e implementar APIs RESTful y microservicios
- Escribir consultas MySQL eficientes y optimizar el rendimiento de la base de datos
- Implementar lógica de negocio y capas de validación de datos
- Trabajar con JPA/Hibernate para interacciones con la base de datos
- Participar en el diseño de esquemas de base de datos y planificación de migraciones
- Asegurar prácticas adecuadas de manejo de errores y registro (logging)
Desarrollo Frontend
- Construir interfaces de usuario responsivas e intuitivas utilizando React
- Implementar características modernas de JavaScript (ES6+) y mejores prácticas
- Gestionar el estado de la aplicación utilizando React hooks y context o bibliotecas de gestión de estado
- Integrar aplicaciones frontend con APIs backend
- Asegurar compatibilidad entre navegadores y responsividad móvil
- Implementar validación del lado del cliente y mejoras en la experiencia del usuario
- Trabajar con diseñadores para traducir mockups en componentes funcionales
Calidad del Código y Pruebas
- Escribir código limpio, mantenible y bien documentado
- Desarrollar pruebas unitarias tanto para backend (JUnit) como frontend (Jest)
- Participar en revisiones de código y proporcionar retroalimentación constructiva
- Seguir estándares de codificación establecidos y directrices de desarrollo
- Depurar y solucionar problemas en toda la stack
- Escribir pruebas de integración para garantizar una comunicación perfecta entre backend y frontend
Colaboración y Entrega
- Participar en procesos de desarrollo Ágil incluyendo planificación de sprints y daily standups
- Trabajar en estrecha colaboración con el Tech Lead en decisiones de diseño técnico e implementación
- Colaborar con Product Managers y diseñadores en los requisitos de funcionalidades
- Contribuir a discusiones técnicas y decisiones arquitectónicas
- Estimar el esfuerzo de desarrollo para tareas asignadas
- Entregar funcionalidades a tiempo manteniendo estándares de calidad
Calificaciones Requeridas
Habilidades Backend
- 2+ años de experiencia con desarrollo Java
- Experiencia con Spring Boot y el ecosistema del framework Spring
- Conocimiento práctico de MySQL incluyendo optimización básica de consultas
- Comprensión de los principios de diseño de API RESTful
- Familiaridad con JPA/Hibernate o frameworks ORM similares
- Comprensión básica de diseño de bases de datos y conceptos relacionales
Habilidades Frontend
- 2+ años de experiencia con JavaScript y características modernas ES6+
- Experiencia sólida con React incluyendo componentes funcionales y hooks
- Comprensión de HTML5, CSS3 y principios de diseño responsivo
- Experiencia con bibliotecas populares de React (React Router, etc.)
- Conocimiento de JavaScript asíncrono e integración con APIs
- Comprensión básica de herramientas de desarrollador del navegador y debugging
Habilidades Técnicas Generales
- Experiencia con Git control de versiones y flujos de trabajo colaborativos
- Comprensión del ciclo de vida de desarrollo de software y prácticas de pruebas
- Familiaridad con herramientas de desarrollo e IDEs (IntelliJ, VS Code, etc.)
- Conocimiento básico de herramientas de build y gestores de paquetes (Maven/Gradle, npm/yarn)
- Habilidades de resolución de problemas y atención al detalle
- Licenciatura en Ciencias de la Computación, Ingeniería o experiencia equivalente
Habilidades Conductuales
- Fuertes habilidades de comunicación y capacidad de trabajar en un entorno de equipo
- Disposición para aprender nuevas tecnologías y mejorar habilidades existentes
- Capacidad de recibir retroalimentación constructiva y aplicarla efectivamente
- Auto-motivado con buenas habilidades de gestión del tiempo
- Cómodo trabajando en un entorno de desarrollo Ágil
Calificaciones Preferidas
- Experiencia con TypeScript para desarrollo JavaScript mejorado
- Conocimiento de frameworks o bibliotecas Java adicionales
- Familiaridad con Redis u otras soluciones de caché
- Experiencia con contenedorización Docker
- Comprensión de pipelines CI/CD y procesos de despliegue
- Conocimiento de frameworks de pruebas más allá de las pruebas unitarias básicas
- Experiencia con plataformas cloud (AWS, GCP, Azure)
- Familiaridad con herramientas de monitoreo y registro (logging)
- Exposición previa a arquitectura de microservicios
- Comprensión de las mejores prácticas de seguridad para aplicaciones web
Crecimiento
- Mentoría de Tech Leads experimentados y miembros senior del equipo
- Oportunidades para asumir la propiedad de funcionalidades y decisiones técnicas
- Exposición al ciclo completo de desarrollo de software desde el diseño hasta el despliegue
- Oportunidades de formación cruzada en tecnologías y herramientas relacionadas
- Camino claro de progresión profesional hacia roles de ingeniero senior
- Participación en sesiones de aprendizaje técnico y compartición de conocimiento