Descripción de la empresa
Devoteam es una consultora europea líder enfocada en estrategia digital, plataformas
tecnológicas, ciberseguridad y transformación empresarial a través de la tecnología.
Centrada en 6 áreas de especialización, abordamos los desafíos estratégicos de nuestros
clientes: Digital Business & Products, Data-driven Intelligence, Distributed Cloud, Business
Automation, Ciberseguridad y la Sostenibilidad conseguida por la Digitalización.
La Tecnología está en nuestro ADN y creemos en ella como una palanca capaz de impulsar
el cambio para mejorar, manteniendo un equilibrio que nos permite ofrecer a nuestros
clientes herramientas tecnológicas de primer nivel pero siempre con la cercanía y
profesionalidad de un equipo que actúa como guía durante el camino.
Nuestros25 años de experiencia nos convierten en una consultora innovadora,
consolidada y madura que permite el desarrollo de nuestras8.500 personas, certificando
continuamente a nuestros consultores en las últimas tecnologías y contando con expertos
en: Cloud, BI, Data Analytics, Excelencia en Procesos de Negocio, Gestión de la Relación
con clientes, Ciberseguridad, Marketing Digital, Machine Learning, Ingeniería y desarrollo
del Software.
Devoteam ha sido premiado como Partner del año 2021 de los 5 líderes de la nube:AWS,
Google Cloud, Microsoft, Salesforce y ServiceNow.
#CreativeTechForBetterChange
Descripción del empleo
Buscamos un arquitecto de software con una sólida base técnica y experiencia demostrable en la construcción de sistemas distribuidos a gran escala. El candidato ideal debe poseer un profundo entendimiento de la arquitectura de microservicios y ser capaz de diseñar soluciones robustas y escalables, fundamentando sus decisiones con un enfoque pragmático y orientado a resultados.
Se trata de una posición estable en modalidad híbrida (2 - 3 días en oficina) en la zona de Chamartín.
Requisitos
Arquitectura y Plataformas:
* Kubernetes (K8s)(Obligatorio): Experiencia avanzada en el diseño, implementación y gestión de arquitecturas en clústeres de Kubernetes. Es crucial el conocimiento de las diferencias entre entornos de nube públicos (AWS, Azure, GCP) y privados/on-premise. Debe ser capaz de gestionar servicios tanto internos (ClusterIP) como externos (NodePort,LoadBalancer,Ingress).
* Gestión de Tráfico y Conectividad(Valorable): Experiencia práctica con herramientas de control de tráfico y seguridad comoIngress yService Mesh. Se valora especialmente el conocimiento deIstio o alternativas similares, comprendiendo la gestión de la comunicación tanto a nivel de APIs públicas como de la comunicación segura entre pods (comunicaciónintra-cluster communication).
* Sistemas Distribuidos(Obligatorio): Sólida experiencia en el diseño y la implementación de sistemas distribuidos. Es fundamental el entendimiento de patrones de diseño como elSAGA, así como los desafíos inherentes a la consistencia de datos, la tolerancia a fallos y la comunicación asíncrona.
* Orquestación de Procesos (BPM)(Valorable): Experiencia práctica con motores de orquestación de procesos de negocio. Se requiere experiencia específica conjBPM o el más modernoKogito. Se valorará el conocimiento de otros enfoques como la Arquitectura Orientada a Servicios (SOA).
Lenguaje y Frameworks:
* Java(Obligatorio): Dominio del lenguaje Java, con experiencia demostrada en versionesJava 11 y 17 o superiores.
* Frameworks de Microservicios(Obligatorio): Profundo conocimiento de al menos uno de los frameworks modernos para la creación de microservicios. Se requiere experiencia conSpring Boot oQuarkus, comprendiendo las diferencias de rendimiento y los casos de uso óptimos para cada uno.
* Programación(Obligatorio): Entendimiento claro de la diferencia y las implicaciones de laprogramación imperativa frente a laprogramación reactiva en el contexto de sistemas distribuidos.
* Otros Lenguajes(Valorable) : Se valorará experiencia en otros lenguajes y frameworks, especialmente python con FastAPI y NodeJs.
DevOps y Observabilidad:
* Contenerización(Obligatorio): Sólidos conocimientos deDocker para la creación y gestión de imágenes de contenedores.
* Infraestructura como Código (IaC)(Valorable): Conocimientos sólidos de herramientas de IaC comoTerraform. El arquitecto debe ser capaz de diseñar la estrategia de despliegue y guiar a los equipos de DevOps.
* Ciclo de Vida del Software (CI/CD)(Valorable): Profundo conocimiento de los principios deCI/CD yDevSecOps. El rol implica la coordinación de los equipos de desarrollo y operaciones para definir y custodiar los procesos y pipelines, garantizando la seguridad, calidad e integridad del software.
* Observabilidad y Monitorización(Valorable): Experiencia en la implementación de soluciones de observabilidad para sistemas distribuidos. Se requiere conocimiento de herramientas de monitorización (p. ej.,Prometheus ,Grafana ), de logging centralizado (p. ej.,ELK Stack ,Loki ) y de rastreo distribuido (p. ej.,Jaeger ,OpenTelemetry ).
Comunicación y APIs:
* API RESTful(Obligatorio): Experiencia fundamental en el diseño e implementación deAPI RESTful .
* Otros Protocolos(Valorable): Se valora positivamente la experiencia con otros protocolos de comunicación, comoSOAP .
Responsabilidades Clave
El arquitecto será responsable de:
* Diseño de Alto Nivel y Fundamentación: Definir la arquitectura de alto nivel para los sistemas distribuidos del cliente, diseñando la interacción entre microservicios, procesos de negocio e infraestructura en la nube. Debe ser capaz de documentar y fundamentar sus decisiones, definiendo losdrivers de arquitectura y lasfitness functions para validar que la solución cumple con los objetivos de negocio y técnicos.
* Liderazgo Técnico y Adaptabilidad: Liderar y guiar a los equipos de desarrollo, asegurando la aplicación de las mejores prácticas y estándares de calidad. Deberá ser capaz deiterar y adaptar la arquitectura de manera continua a medida que evolucionan las necesidades del cliente.
* Supervisión y Custodia: Custodiar la visión arquitectónica y revisar los entregables para asegurar que se alinean con los principios de la arquitectura, como la separación de responsabilidades y el bajo acoplamiento.
* Estrategia de DevOps: Diseñar la estrategia de despliegue e infraestructura como código y supervisar su implementación.
* Estrategia de Observabilidad: Definir los estándares de monitorización, logging y rastreo para la solución, asegurando una visibilidad completa del estado del sistema.
#J-18808-Ljbffr