BUSCAMOS :
Arquitecto de Software (Full Stack)
Profesional con experiencia contrastada desempeñando el rol de Arquitecto de Software.
Conocimientos y habilidades técnicas fundamentales
Spring Framework. Dominio en Spring Core, con un enfoque particular en Spring Batch para la ejecución de trabajos batch de gran volumen, Spring Integration para la integración de sistemas y el flujo de mensajes, Spring Security para la autenticación y autorización, y Spring Scheduler para la ejecución de tareas programadas.
Arquitectura Limpia (Clean Architecture). Comprensión profunda de los principios de Clean Architecture para diseñar sistemas desacoplados y mantenibles, incluyendo la separación de intereses, desarrollo dirigido por el dominio (DDD), y la implementación de casos de uso interactivos.
Microservicios. Conocimiento en el diseño y la implementación de arquitecturas basadas en microservicios, incluyendo estrategias de comunicación entre servicios (síncronas y asíncronas), gestión de API, y patrones para descomponer aplicaciones monolíticas.
Patrones de diseño de software. Experiencia en la implementación de patrones de diseño de software, incluyendo patrones estructurales, creacionales y de comportamiento, para resolver problemas comunes de diseño y facilitar el mantenimiento y la escalabilidad del software.
Experiencia en Angular, React.
Conocimiento deseable en arquitecturas Front Angular, React.
Habilidades de desarrollo y metodologías
Desarrollo dirigido por pruebas (TDD). Habilidad para emplear TDD para garantizar la calidad del código y facilitar refactorizaciones con confianza.
Integración y entrega continua (CI / CD). Experiencia con herramientas de CI / CD para automatizar la prueba, integración y despliegue de aplicaciones.
Gestión de contenedores y orquestación. Conocimiento en Docker, Kubernetes u otras herramientas de orquestación, para la gestión eficiente de microservicios en entornos de producción.
Capacidades adicionales
Bases de datos y almacenamiento de datos. Experiencia con sistemas de bases de datos relacionales y no relacionales, así como la implementación de estrategias de almacenamiento y acceso a datos eficientes y escalables.
Seguridad de aplicaciones. Comprensión de las mejores prácticas y patrones en seguridad de las aplicaciones, incluyendo la seguridad en el diseño de microservicios y la implementación de autenticación y autorización a nivel de servicio.
Comunicaciones síncronas y asíncronas. Habilidades en la implementación de comunicaciones síncronas (REST, gRPC) y asíncronas (colas de mensajes, eventos) entre microservicios.
Competencias interpersonales y de gestión
Comunicación efectiva. Habilidad para comunicar conceptos técnicos complejos a personas no técnicas, facilitando una comprensión común y la toma de decisiones basada en información técnica.
Liderazgo técnico. Capacidad para guiar y mentorizar a equipos de desarrollo, promoviendo mejores prácticas y un alto estándar de calidad en el trabajo.
Gestión de proyectos. Comprensión de metodologías ágiles y la capacidad de trabajar efectivamente dentro de marcos ágiles para el desarrollo iterativo de software.
Tecnologías necesarias :
Spring Boot
Spring Batch + Spring Integration
Gradle
Clean / Hexagonal + DDD
OpenAPI, AsyncAPI
JMolecules / ArchUnit
Tecnologías deseables :
Kubernetes
Spring Modulith
Spring Cloud
Micrometer
Persistence
Multi-Framework (MicroProfile, Quarkus)
Templates (Mustache, Yeoman, ...)
Idiomas
Inglés (nivel B2)
OFRECEMOS :
Contrato en modalidad Freelance Full time
Oferta económica : hasta 350€ jornada + IVA (según experiencia aportada)
Proyecto de larga duración. Recurrencia en proyectos
Localización :
España (Remoto 100%)
#J-18808-Ljbffr