Claves para iniciar una carrera como ingeniero de DevOps

Los ingenieros de DevOps eliminan las distancias entre los equipos de desarrollo de software y las operaciones IT. Gracias a una comunicación constante y políticas de trabajo ágiles, las organizaciones con DevOps pueden crear y desplegar más código, más rápido y de forma más segura que al usar metodologías tradicionales. Pero es más fácil decirlo que hacerlo: la variedad de habilidades necesarias y el carácter reciente y en plena evolución del rol, hacen que ejercer como un ingeniero de DevOps requiera mucho tiempo y esfuerzo.

Muchas letras se han gastado en definir con claridad qué es y qué hace un ingeniero de DevOps, pero la forma más fácil de comprenderlo es pensar en una evolución del ingeniero de Sistemas, que incorpora las necesidades de la actualidad a nivel de velocidad de desarrollo, interacción con la nube, cercanía con el negocio y utilización de código abierto. La Integración Continua y el Desarrollo Continuo (CI/CD) son los dos conceptos que distancian a DevOps de otras estrategias de desarrollo, y que permiten generar un loop constante de producción y actualización.

Si bien las habilidades y experiencia requeridas para ejercer este rol son altas, las remuneraciones y estabilidad laboral lo valen. De acuerdo con Indeed y Payscale, sitios especializados en sueldos, la paga de los ingenieros de DevOps oscila entre $80,000 a $160,000 dólares anuales. En México, los puestos listados al momento de escribir este artículo iban desde los $50,000 hasta los $90,000 pesos al mes.

Por otro lado, este es un rol relativamente nuevo, pero cuyas perspectivas a futuro son bastante positivas. En especial después de la transformación digital masiva que operó este año en todo tipo de industrias. La necesidad de llevar proyectos y aplicaciones desde el diseño al mercado en el menor tiempo posible es ahora transversal, y la batalla que se libre en ese territorio será cada vez más intensa para las organizaciones que quieran estar a la vanguardia, tanto en tecnología como en competitividad.

Ser un ingeniero de DevOps en solo 6 meses

La carrera hacia el ingeniero de DevOps no es tan fácil de definir, puesto que no existen grados o certificaciones que cubran la totalidad de las habilidades, y se construye más bien desde la experiencia, más algunas bases sólidas. Lo principal es tener un grado académico en ingeniería en Sistemas o Informática, pero de ahí en adelante dependerá de las necesidades del negocio específico y del rol que el profesionista busque cumplir, incluso las skills más blandas como la comunicación y el liderazgo juegan un rol fundamental, puesto que el ingeniero en DevOps funciona como el pegamento que une las variadas funciones de IT en la empresa.

Dicho esto, cualquier profesionista con experiencia en desarrollo u operaciones IT, como Sysadmins o programadores, pueden perfectamente ser ingenieros de DevOps con un poco de esfuerzo. Siempre y cuando puedan asumir responsabilidades como: Administración de proyectos, diseño y optimización de la infraestructura IT, performance testing y benchmarking, automatización, optimizar ciclos de entrega, monitoreo y reportes, y seguridad.

Un ingeniero DevOps no requiere dominar por completo la programación, pero sí debe ser capaz de producir código en algunos lenguajes como Python, especialmente al diseñar herramientas que faciliten el trabajo de los programadores.

El desarrollador y experto en DevOps Igot Kantor, diseñó una pequeña guía para cultivar las habilidades que el trabajo exige. Los fundamentos clave se resumen en Linux, Python y AWS, el aprendizaje de Golang y Google Cloud solo vienen después de familiarizarse con los primeros:

Por supuesto, dominar al 100% estos tres pilares es un trabajo que toma toda la vida, dado la velocidad en que se actualizan las plataformas. Lo que se espera es un manejo avanzado y cierta experiencia real de trabajo.

Luego viene la parte que requerirá el mayor compromiso y constancia (si se quiere alcanzar la meta en 6 meses). Kantor indica que debería dedicarse por lo menos 1 mes a cada uno de estos seis pilares:

Nuevamente, el nivel superior es el que debe priorizarse, con la suma de las herramientas inferiores solo al conseguir un dominio suficiente en las primeras. El experto advierte que la idea no es aprender un montón de tendencias tecnológicas desconectadas, el plan busca un entendimiento sólido de las herramientas que, al unificarse, cuentan una historia coherente. «Esa historia es la automatización end-to-end de los procesos, un pipeline digital que organiza bits casi como si fuera una línea de ensamblaje», indica.

Un profesionista IT no es nada sin sus herramientas, por lo que debe existir ahí por lo menos el conocimiento de las áreas que deben cubrirse y cierta experiencia práctica en algunas. La firma especializada en desarrollo ágil, Tivix, lista las herramientas fundamentales que un ingeniero DevOps debe manejar:

  • De automatización (Jenkins, Bamboo): Para simplificar procesos y personalizar el pipeline de entregas.
  • Administración de código (Git): Para seguir el progreso del trabajo de desarrollo, visualizar historial de versiones y probar diferentes caminos antes de unificar en un producto final.
  • Contenedores (Docker, Kubernetes): La versatilidad que los contenedores otorgan en el despliegue de software es clave en DevOps. El tema fue cubierto más extensamente en este artículo.
  • Administración de configuración (Puppet Enterprise, Ansible, Chef): Permiten configurar y administrar la infraestructura y automatizar el despliegue.
  • Monitoreo (Nagios, Raygun): Ayuda al equipo DevOps a monitorear la infraestuctura para solucionar rápidamente problemas.
  • Administración de proyectos (Jira, Trello): Ampliamente usados en otras áreas, facilitan que el trabajo se realice y el proyecto llegue a término.
  • Plataformas cloud (AWS, Azure, GCP): Además de representar ahorros y una agilidad mayor en casi todo tipo de industrias, es donde el mundo IT se está moviendo con mayor constancia. No manejar algunas de estas plataformas podría dejar coja a una operación bajo DevOps.

Como nexo entre muchos equipos, el ingeniero de DevOps deberá también contar con habilidades para comunicar su trabajo, modificar la cultura organizacional y armonizar diferentes áres. Un extra será dominar técnicas ágiles, como SCRUM.

En suma, el camino es largo, pero los profesionistas que se desempeñan en estas áreas indican que es una de las más satisfactorias y con mejores beneficios para trabajar. Por otro lado, la variedad de conocimientos y herramientas que se adquieren le darán libertad a los ingenieros DevOps para cambiar rápidamente de ocupación si así lo desean.

Otros recursos útiles si se desea recorrer el camino hacia el ingeniero de DevOps son la novela The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win, un relato ficcionalizado de cómo implementar dinámicas DevOps en una empresa y sus beneficios; y el curso introductorio de la plataforma Udemy.

También vale la pena mencionar que DevOps no agota todas las posibilidades actuales en lo que respecta al desarrollo ágil. Las alternativas incluyen GitOps, FinOps y AIOps, entre otras.

 

Christopher Holloway

http://salalacalleymuere.tumblr.com

Director editorial de IT Masters Mag. Experto en gatos, libros y en los intrincados procesos tecnológicos que atraviesan el funcionamiento de las sociedades en todas sus expresiones.

Related posts

Deja un comentario