Puesto: Senior DevOps/SRE
Titulación académica: Técnico superior en administración de sistemas / Ingeniero Informático
Certificaciones: se valora LPIC, CKA
¿Cuál es su responsabilidad?
- Asegurar el correcto funcionamiento de los sistemas de monitorización e impulsar mejoras sobre estos.
- Implementar nuevas herramientas y optimizar los procesos existentes para el equipo de desarrollo.
- Diseño y desarrollo de plantillas de despliegue y contenedores.
¿Qué tareas debe realizar?
- Mantenimiento de sistemas de monitorización:
- Gestionar y optimizar las herramientas Prometheus, Mimir, Grafana, Alertmanager, Grafana Oncall, Loki, Fluentbit y FluentD.
- Asegurar la fiabilidad y eficiencia de los sistemas de monitorización existentes.
- Gestión de sistemas de alertado:
- Configurar y mantener los sistemas de alertado.
- Responder de manera proactiva a las alertas generadas para minimizar el tiempo de inactividad.
- Mejoras en los procesos de CI/CD:
- Implementar y gestionar herramientas como Gitlab, Argo Workflow, Argo CD, Docker y Kubernetes.
- Colaborar con el equipo de desarrollo para identificar y resolver cuellos de botella en el proceso de integración y despliegue continuo.
- Desarrollo de plantillas de despliegue:
- Crear y mantener plantillas de despliegue con Ansible.
- Diseñar y desarrollar plantillas de despliegue en Kubernetes utilizando Helm.
- Diseño y gestión de contenedores Docker:
- Diseñar, crear y optimizar contenedores Docker para diferentes aplicaciones y servicios.
- Soporte al equipo de desarrollo:
- Asistir en tareas de empaquetado y despliegue de aplicaciones Java.
- Brindar soporte técnico y asesoramiento sobre mejores prácticas de despliegue y empaquetado.
Descripción del equipo donde se incorporará:
El nuevo trabajador se unirá a un equipo multifuncional y dinámico que se encarga de la monitorización de sistemas, implementación de mejoras, y soporte técnico a otros equipos y departamentos. Como equipo pequeño, disfrutamos de una comunicación fluida y un ambiente de trabajo cercano y colaborativo. Nos caracterizamos por nuestra capacidad de innovación continua, evaluando e implementando nuevas tecnologías para mejorar nuestros procesos. Trabajamos estrechamente con otros equipos, lo que nos permite construir relaciones laborales sólidas y de confianza, fomentando el desarrollo profesional y el aprendizaje continuo.
Habilidades:
Resolución de problemas:
- Capacidad para diagnosticar y solucionar problemas técnicos de manera rápida y eficiente.
- Pensamiento analítico y crítico para identificar la raíz de los problemas.
- Creatividad para encontrar soluciones innovadoras y efectivas bajo presión.
Trabajo en equipo:
- Colaboración efectiva con otros miembros del equipo y con diferentes departamentos, promoviendo un ambiente de trabajo positivo y productivo.
- Habilidad para compartir conocimientos y apoyar a los compañeros en sus tareas y proyectos.
- Adaptabilidad y flexibilidad para trabajar en proyectos diversos y cambiantes.
Comunicación:
- Excelentes habilidades de comunicación verbal y escrita para documentar procesos, redactar informes y colaborar con equipos técnicos y no técnicos.
- Capacidad para explicar conceptos técnicos complejos de manera sencilla y clara a usuarios no técnicos.
- Habilidad para preparar y presentar informes y métricas sobre el rendimiento del sistema y las mejoras implementadas.
Conocimiento técnico:
Herramientas de monitorización y alertado:
- Experiencia en la configuración y mantenimiento de Prometheus, Mimir, Grafana, Alertmanager, Loki, Fluentbit...
- Conocimiento en la creación de paneles de control personalizados en Grafana para visualizar métricas clave.
- Capacidad para diseñar y configurar sistemas de alertado efectivos, asegurando una respuesta rápida a incidentes.
- Familiaridad con tecnologías emergentes en monitorización y logging basadas en OpenTelemetry.
Procesos de CI/CD:
- Conocimiento profundo y experiencia práctica con herramientas de CI/CD como GitLab, Argo Workflow, Argo CD, Docker y Kubernetes.
- Habilidad para diseñar, implementar y optimizar pipelines de integración y despliegue continuo.
- Comprensión de las mejores prácticas de DevOps y metodologías ágiles.
- Experiencia con otras herramientas de CI/CD y automatización como Jenkins, Gitlab-CI, Tekton, Github Actions…
Automatización y despliegue:
- Experiencia en el desarrollo de scripts de automatización y plantillas de despliegue con Ansible.
- Conocimiento en la creación y gestión de plantillas de despliegue en Kubernetes utilizando Helm.
- Habilidad para diseñar, crear y optimizar contenedores Docker para diversas aplicaciones y servicios.
- Conocimientos en implantación de sistemas de control de seguridad.
Lenguajes de programación y scripting:
- Familiaridad con lenguajes de scripting como Python y Bash para tareas de automatización.
- Conocimientos básicos de Java para asistir en el empaquetado y despliegue de aplicaciones.
- Capacidad para escribir y mantener scripts y herramientas de soporte.
- Conocimiento de otros lenguajes de programación relevantes como Go y Ruby.
Conocimiento Funcional:
Infraestructura y operaciones:
- Comprensión profunda de los principios de administración de sistemas, redes y arquitectura de microservicios.
- Experiencia en la gestión y mantenimiento de infraestructuras en la nube (Azure, Google Cloud, AWS) y entornos híbridos.
- Conocimiento de la seguridad de la infraestructura y mejores prácticas para proteger los sistemas y datos.
- Familiaridad con tecnologías emergentes y evolutivas en infraestructura como Service Mesh (Istio, Linkerd) y plataformas de observabilidad (OpenTelemetry).
Mejora de procesos:
- Habilidad para identificar áreas de mejora en los procesos de desarrollo y despliegue, implementando soluciones efectivas para optimizar el rendimiento.
- Experiencia en la evaluación e implementación de nuevas herramientas y tecnologías que beneficien a la empresa.
- Capacidad para realizar auditorías y análisis de sistemas para asegurar la eficiencia y efectividad de los procesos.
- Familiaridad con metodologías y frameworks de mejora continua.
Soporte técnico:
- Habilidad para proporcionar soporte técnico y asesoramiento a otros equipos, asegurando la correcta implementación de las mejores prácticas.
- Experiencia en la resolución de problemas técnicos complejos y en la asistencia a equipos de desarrollo en tareas críticas.
- Capacidad para ofrecer capacitación y formación a otros miembros del equipo y usuarios finales sobre nuevas herramientas y procesos.
- Conocimiento en herramientas de gestión de soporte como Redmine, Jira y otros sistemas de ticketing.
Se valorará experiencia:
- Experiencia en entornos de alta disponibilidad: Haber trabajado en entornos con alta disponibilidad y tolerancia a fallos, garantizando la continuidad del servicio.
- Proyectos de automatización a gran escala: Experiencia en la automatización de despliegues y configuraciones en grandes entornos empresariales.
- Optimización de rendimiento y costos en la nube: Experiencia en optimización de recursos y costos en plataformas de nube pública (AWS, Azure, Google Cloud).
- Seguridad y cumplimiento: Implementación de medidas de seguridad a nivel de infraestructura y aplicación, y conocimiento en cumplimiento de normativas.
- Habilidades en scripting y empaquetado: Dominio de lenguajes de scripting avanzados (Python, Bash) y experiencia en el empaquetado de aplicaciones.
- Innovación y adopción de nuevas tecnologías: Implementación de nuevas tecnologías y herramientas emergentes que mejoren los procesos y la infraestructura.
- Soporte y formación: Experiencia en brindar soporte avanzado y capacitación a usuarios finales y equipos de desarrollo, y habilidad para crear y mantener documentación técnica clara.