BUSCAMOS :
Arquitecto de Software (Full Stack)
Profesional con Experiencia contrastada desempeñando el role 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, lo que incluye la separación de intereses, el 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 las metodologías ágiles y la capacidad de trabajar efectivamente dentro de marcos ágiles para el desarrollo iterativo de softwareTecnologias necesarias:
Spring BootSpring Batch + Spring IntegrationGradleClean/Hexagonal + DDDOpenAPI, AsyncAPIJMolecules/ArchUnit
Tecnologias deseables:
:
KubernetesSpring ModulithSpring CloudMicrometerPersistenceMulti-Framework (MicroProfile, Quarkus)Templates (Moustache, Yeoman, ...)
IdiomasInglé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%)