La ingeniería DevOps es uno de los trabajos más calientes en la economía actual. Sin embargo, asumir el puesto requiere experiencia en desarrollo tecnológico y conocimientos de negocios. Permanecer en el puesto requiere un compromiso con el aprendizaje continuo porque los enfoques populares pueden quedar obsoletos rápidamente.
La demanda de ingenieros de DevOps, que supervisan el automatización y colaboración tanto de la nube y entornos locales para garantizar el desarrollo y la implementación continuos de software, funciona en caliente y el trabajo paga bien. El salario medio en Estados Unidos, por ejemplo, es de unos 134.000 dólares al año, según estimados de Talento.com.
También: La IA está preparada para impulsar seriamente DevOps y otras formas de colaboración
Es un trabajo lleno de alegrías y dificultades, señalan los ingenieros practicantes de DevOps. Para empezar, el puesto requiere una comprensión básica de la tecnología fundamental, relata Brad Morgan, un experimentado ingeniero de DevOps, en un reciente YouTube. presentación.
En la parte superior de su lista de habilidades está aprendiendo linux: «Básicamente, estás interactuando con Linux, sin importar lo que estés haciendo en un rol moderno de DevOps. En mi opinión, tener una sólida experiencia en Linux es una necesidad absoluta: conocer los conceptos básicos, tener una buena comprensión de cómo Linux funciona y debes estar bastante familiarizado con el uso de la terminal y los comandos básicos».
También: Las habilidades en código abierto y Linux todavía tienen demanda en una economía oscura
morgan dice secuencias de comandos bash (que automatiza los comandos de Linux) es otra habilidad clave que requieren los ingenieros de DevOps. «Las secuencias de comandos Bash se utilizan mucho en el mundo de DevOps. Muchos de los canales que estamos construyendo utilizan algún tipo de secuencias de comandos como las secuencias de comandos bash», afirma.
Las habilidades en la nube son otra habilidad fundamental importante, continúa Morgan. Comprenda «cómo virtualizar y adquirir experiencia, además de simplemente crear un servidor en la nube». Desarrollar habilidades en un proveedor convencional, como AWS, Google Cloud o Azure, puede ofrecer caminos de menor resistencia y los niveles de adopción más amplios por parte de los empleadores actuales o potenciales.
Morgan sugiere centrarse en aprender los matices de un proveedor de nube a la vez: «No querrás ser un experto en todos los oficios cuando se trata de la nube. Quieres ser un maestro en uno. Una vez que hayas aprendido uno, hace que sea muy sencillo recoger a los demás.»
No existe un curso formal de aprendizaje para convertirse en ingeniero de DevOps. Morgan dice que el autoaprendizaje es el mejor camino para seguir cualquier carrera en este campo: «Hay que aprender constantemente, hay que disfrutar aprendiendo y siempre hay que desafiarse a uno mismo».
La necesidad de aprender y actualizar habilidades constantemente también se enfatizó en un reciente video de YouTube. presentación por otro ingeniero experimentado en DevOps, que se conoce con el nombre de ‘Homebrew Henry’. «Si decides dedicarte a la ingeniería DevOps, también tienes que acostumbrarte a aprender, aprender cosas nuevas constantemente», afirma.
«El ecosistema DevOps es enorme y está en constante evolución. Las herramientas y marcos tan populares ayer pueden ser reemplazados por nuevas alternativas. Además de su trabajo habitual como ingeniero, probablemente necesite dedicar parte de su tiempo libre a estudiar».
Incluso cuando se adquiere más experiencia, «el aprendizaje no se detiene», dice Henry. «De hecho, comúnmente se considera una de las cosas que más les gusta a los ingenieros de DevOps de su trabajo. Con el ritmo de desarrollo y la introducción de Herramientas de inteligencia artificial como ChatGPT«La ingeniería DevOps actual no será la misma que la ingeniería DevOps dentro de dos o tres años».
Un aspecto que puede separar a los ingenieros apasionados de DevOps de otros colegas es la iLa gestión de infraestructura es parte del trabajo.. «Si no eres partidario de gestionar la infraestructura, tendrás dificultades», advierte Henry.
«Este es un problema importante. Como ingeniero de DevOps, dedico una gran cantidad de tiempo a instalar, configurar y mantener la infraestructura de la nube que admite diversas aplicaciones. Esto significa lidiar con servidores, bases de datos, redes y seguridad a diario. Ahora, Si esto te emociona, genial. Este mundo podría ser perfecto».
También: ¿Implementar IA en la ingeniería de software? Aquí tienes todo lo que necesitas saber
Henry agrega: «Todavía recuerdo que me quedé impresionado cuando ejecuté un código de Terraform por primera vez y, de repente, encontré una infraestructura ejecutándose en AWS. En ese momento me pareció mágico. Pero no es para todos. Si eres más en ingeniería de software, escribir Terraforms, canalizaciones de CI/CD y scripts de automatización puede que no le quiten esa picazón de codificación. No es exactamente lo mismo que crear una aplicación real orientada al cliente, y puede que no sienta que está flexionando completamente Ese músculo codificador es suficiente».
La buena noticia es que «hay muchos ejemplos de personas que hacen la transición de la ingeniería de software a DevOps y viceversa. Así que no creas que estás atrapado si decides elegir uno».
Otra consideración crucial es el lado comercial de DevOps, comenzando con expectativas poco realistas para el puesto. «DevOps está de moda en este momento y las empresas esperan contratar algunos ingenieros y, mágicamente, todos sus problemas desaparecen», dice Henry. «Por lo tanto, la dirección puede tender a pasar por alto las complejidades y el tiempo requerido para ciertos proyectos».
Un ingeniero de DevOps es «responsable de gestionar estas expectativas y equilibrarlas de una manera más realista», continúa. «Las empresas quieren mucho de estos equipos y, a menudo, no hay suficiente gente para todas las tareas. Por lo tanto, prepárese para trabajar con plazos ajustados y gestionar prioridades en competencia».
Esta complejidad también requiere fuertes habilidades de comunicación: «Los ingenieros de DevOps a menudo necesitan trabajar estrechamente con diferentes equipos, incluidos desarrolladores, operaciones, finanzas y otras partes interesadas», afirma Henry. «Tendrá que actuar como socio de estos equipos, explicarles los desafíos y limitaciones involucrados en los proyectos y ayudarlos a establecer cronogramas y expectativas realistas».
La necesidad de asesoramiento y apoyo constante no era algo que Henry esperara cuando comenzó su carrera en DevOps. «Pensé que dedicaría el 100% de mi tiempo al desarrollo y que el resto se ocuparía de algún propietario de producto o scrum master», relata. «Tus habilidades técnicas probablemente serán lo más importante para tu éxito, pero no subestimes la importancia de estas habilidades sociales».