Arquitecto de Software (Híbrido)

Solo para miembros registrados
Guadarrama
EUR 50.000 - 70.000
Descripción del empleo

Overview

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.

Nuestros 25 años de experiencia nos convierten en una consultora innovadora, consolidada y madura que permite el desarrollo de nuestras 8.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

Perfil y modalidad

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.

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 como Ingress y Service Mesh. Se valora especialmente el conocimiento de Istio 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ón intra-cluster).

  • 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 el SAGA, 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 con jBPM o el más moderno Kogito. 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 versiones Java 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 con Spring Boot o Quarkus, 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 la programación imperativa frente a la programació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 de Docker 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 como Terraform. 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 de CI/CD y DevSecOps. 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 de API RESTful.

  • Otros Protocolos [Valorable]: Se valora positivamente la experiencia con otros protocolos de comunicación, como SOAP.

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 los drivers de arquitectura y las fitness 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 de iterar 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.