Los ingenieros DevOps son especialistas multifuncionales que saben automatizar procesos y conocen cómo trabajan los desarrolladores, QA y gerentes. Saben programar, dominan rápidamente herramientas complejas y no se desaniman ante un desafío desconocido. Hay pocos ingenieros DevOps, y están dispuestos a pagar entre 200,000 y 300,000 rublos, pero aún hay mucha demanda de vacantes.
Dmitry Kuzmin explica en qué consiste el trabajo de un DevOps y qué se debe estudiar para aspirar a esta posición. Como bonus, enlaces importantes a libros, videos, canales y comunidades profesionales.
¿Qué hace un ingeniero DevOps?
En el contexto de DevOps, es importante no confundir los términos. DevOps no es un campo específico, sino una filosofía profesional. Es una metodología que ayuda a desarrolladores, testers y administradores de sistemas a trabajar más rápido y eficientemente mediante la automatización y la integración fluida.
Así, un ingeniero DevOps es el especialista que implementa esta metodología en el proceso laboral:
- En la fase de planificación, el ingeniero DevOps ayuda a decidir qué arquitectura utilizará la aplicación, cómo se escalará y a seleccionar un sistema de orquestación.
- Luego, configura servidores, establece pruebas automatizadas y despliegue de código, y verifica el entorno.
- A continuación, automatiza las pruebas y resuelve problemas de despliegue.
- Después del lanzamiento, es crucial recoger retroalimentación de los usuarios e implementar mejoras. DevOps asegura que los usuarios no noten estas mejoras, manteniendo un proceso de actualización continuo.
- Y, al mismo tiempo, resuelve docenas de problemas que ayudan a establecer un sistema de trabajo entre desarrolladores, QA, administradores de sistemas y gerentes.
Todo lo mencionado anteriormente ocurre en proyectos cercanos a lo ideal. En el mundo real, sin embargo, a menudo se comienza en un proyecto donde la planificación fue pasada por alto, la arquitectura fue errónea y se pensó en la automatización solo cuando todos los proyectos se detuvieron. Abordar todos estos problemas, resolverlos y hacer que todo funcione es la habilidad clave de un especialista DevOps.
En el mercado laboral hay confusión. A veces, las empresas buscan ingenieros DevOps para el puesto de ingeniero de sistemas, ingeniero de construcción o alguien más. Las responsabilidades varían según el tamaño de la empresa y el enfoque: en algunos lugares buscan a alguien para consultoría, en otros piden que se automatice todo y en otros exigen que se realicen funciones ampliadas de administrador de sistemas con habilidades de programación.
Qué se necesita para empezar en la profesión
Entrar en la profesión requiere una preparación previa. Simplemente asistir a un curso desde cero, sin entender nada de IT, y aprender hasta el nivel de junior no será suficiente. Se necesita un trasfondo técnico:
- Es ideal si has trabajado durante seis meses o más como administrador de sistemas, especialista en explotación o pruebas. O al menos tener una idea de cómo se inician las aplicaciones, en qué entorno pueden desarrollarse y qué hacer si ves un error. Si no tienes experiencia laboral, haz cualquier curso de administración de Linux, repitiendo todo lo que ocurre en tu propia máquina.
- Familiarízate con el funcionamiento de las tecnologías de red: aprende a instalar, configurar y gestionar redes locales y globales.
- Observa cómo y de qué está hecho la programación: escribe algunos scripts en Python o Go, intenta entender los principios de la POO (Programación Orientada a Objetos), lee sobre el ciclo general de desarrollo de productos.
- El conocimiento del inglés técnico será útil: no es necesario comunicarse sobre temas generales, basta con poder leer documentación e interfaces.
No es necesario conocer todo lo enumerado al detalle; para comenzar a estudiar DevOps es suficiente con un nivel mínimo de preparación. Si tienes ese trasfondo técnico, intenta inscribirte en cursos.
Qué debe saber un DevOps
Un buen ingeniero DevOps es un profesional multidisciplinario con una visión muy amplia. Para trabajar con éxito, tendrás que comprender simultáneamente varias áreas de IT.
Desarrollo
El DevOps escribirá un script que ayudará a los desarrolladores a implementar código en el servidor. Creará un programa que prueba «sobre la marcha» la capacidad de respuesta de las bases de datos. Escribirá una aplicación para controlar la versionado. Finalmente, simplemente detectará un problema potencial en el desarrollo que puede aparecer en el servidor.
Un fuerte especialista en DevOps conoce varios lenguajes adecuados para la automatización. No domina todos al detalle, pero puede escribir rápidamente un pequeño programa o leer el código de otros. Si no has trabajado antes en desarrollo, comienza con Python: tiene una sintaxis sencilla, es fácil de usar con tecnologías en la nube, y cuenta con mucha documentación y bibliotecas.
Sistemas operativos
Conocer todas las capacidades de cada versión de cada sistema no es posible; puedes gastar miles de horas en tal formación y no resultar provechoso. En cambio, un buen DevOps entiende los principios generales de funcionamiento en cualquier sistema operativo. Aunque, por las menciones en las ofertas de trabajo, la mayoría trabaja ahora en Linux.
Un buen ingeniero entiende en qué sistema es mejor desplegar un proyecto, qué herramientas utilizar y qué errores potenciales pueden surgir durante la implementación o explotación.
Nubes
El mercado de tecnologías en la nube en promedio un 20-25% al año — esta infraestructura permite automatizar operaciones de prueba de código, construcción de aplicaciones a partir de componentes, y entrega de actualizaciones a los usuarios. Un buen DevOps entiende tanto de soluciones completamente en la nube como de soluciones híbridas.
En los requisitos estándar para ingenieros, generalmente se menciona GCP, AWS y Azure.
También se incluye el dominio de herramientas CI/CD. Normalmente, para integración continua se utiliza Jenkins, pero vale la pena probar alternativas. Hay muchas, como Buddy, TeamCity y Gitlab CI. Es útil aprender Terraform — es una herramienta declarativa que ayuda a levantar y configurar infraestructura en la nube de forma remota. Y Packer, que se necesita para crear imágenes de sistema operativo automáticamente..
Sistemas de orquestación y microservicios
La arquitectura de microservicios tiene muchas ventajas: estabilidad, posibilidad de escalamiento rápido, simplificación y reutilización. Un DevOps entiende cómo funcionan los microservicios y puede prever problemas potenciales.
Conoce a fondo Docker y Kubernetes. Entiende cómo funcionan los contenedores y cómo construir un sistema de manera que se pueda desconectar parte de ellos sin consecuencias para el sistema general. Por ejemplo, sabe cómo construir un clúster de Kubernetes con Ansible.
Qué más debería probar un futuro DevOps.
Se pueden enumerar infinitamente las herramientas que pueden ser útiles para un ingeniero DevOps. Algunos trabajan en la orquestación de proyectos, otros pasan la mayor parte del tiempo en la automatización de despliegues y pruebas, y otros mejoran la eficiencia en la gestión de configuraciones. A lo largo del proceso, se hará evidente dónde profundizar y qué proyectos serán útiles.
Aquí hay un pequeño mínimo que ayudará a empezar:
- Infórmate sobre cómo funcionan Git y Github, si aún no te has encontrado con ellos. Instala GitLab en tu servidor.
- Familiarízate con los lenguajes de marcado JSON y YAML.
- Instala y prueba trabajar con bases de datos, no solo con MySQL, sino también con NoSQL. Prueba MongoDB.
- Averigua cómo gestionar la configuración de varios servidores a la vez. Por ejemplo, usando Ansible.
- Configura de inmediato el monitoreo de carga y los registros. Prueba la combinación de Prometheus, Grafana y Alertmanager.
- Busca las mejores soluciones para despliegues en diferentes lenguajes; basta con familiarizarte, implementar y aprenderás en un proyecto de entrenamiento o de trabajo.
Por qué deberías empezar a estudiar DevOps ahora
En el mercado de ingenieros DevOps hay una escasez de personal. Esto se confirma, en términos relativos, por la cantidad y calidad de ofertas de trabajo:
- En Rusia, en HeadHunter, siempre hay más de 2,000 puestos de trabajo disponibles con esta palabra clave.
- Y solo 1,900 personas han publicado su currículum.
Dado que publicar un currículum no significa buscar trabajo activamente, se obtiene que hay dos, e incluso tres, ofertas por cada especialista; una situación que ni siquiera se da en el popular mercado de desarrollo web. Añade a esto las ofertas de Habr y los canales de Telegram, y la escasez de especialistas es enorme.

Presta atención a las expectativas salariales de los solicitantes
DevOps también está muy demandado en el mundo; si planeas mudarte a EE. UU. o Europa, solo en el portal más de 34,000 empresas buscan tales especialistas. Entre los requisitos comunes están tener de 1 a 3 años de experiencia, saber trabajar con la 'nube' y no temer las funciones de consultoría.
En el freelance, las ofertas son mucho menores: los ingenieros DevOps son mayormente buscados para empleos a tiempo completo.

Encontrar un proyecto adecuado en el freelance es complicado, pero posible.
Un camino profesional típico para un ingeniero DevOps puede representarse aproximadamente así:
- Trabaja como administrador de sistemas en una pequeña empresa de TI desde hace seis meses a un año. Paralelamente, estudia un lenguaje adecuado para la automatización.
- Estudia intensamente en cursos desde hace aproximadamente seis meses.
- Cambia a otro trabajo — en una empresa que vende soluciones en la nube, una filial de una gran corporación, hacia desarrolladores de grandes proyectos. En otras palabras, hacia donde hay una necesidad constante de automatización y implementación. En una posición inicial, esto es aproximadamente 100 mil rublos.
- Trabaja y estudia activamente durante varios años, aumentando significativamente sus ingresos.
- Se convierte en un experto en la comunidad profesional y pasa a la consultoría. O avanza a arquitecto de sistemas o director de TI.
DevOps es complicado. Necesitas combinar habilidades de varias profesiones. Convertirte en la persona que puede ofrecer mejoras donde otros especialistas de TI ni siquiera piensan en otras opciones. Se paga bien por esto, pero también se requerirá un gran volumen de conocimientos.
Cuánto ganan los DevOps
El salario medio mediano según los datos del segundo trimestre de 2019 para los DevOps se encuentra en un rango entre 90 y 160 mil rublos. Hay ofertas más baratas, principalmente entre 60 y 70 mil.
Constantemente hay ofertas de hasta 200 mil, y se encuentran vacantes con salarios de hasta 330 mil rublos.

Entre los especialistas en operaciones, los DevOps son los mejor pagados. Fuente:
Actualmente, se requieren ingenieros de DevOps, incluidos principiantes, en grandes bancos, corporaciones, servicios en la nube, sistemas comerciales y otras organizaciones que se preocupan por mantener sus soluciones de TI.
Un excelente candidato para una vacante de nivel junior con un salario de 60 a 90 mil sería un administrador de sistemas principiante con aproximadamente un año de experiencia y un diploma especializado.

No hay estadísticas al respecto, pero por la sensación, a las personas con experiencia en Linux se les paga más.
Qué ver y leer para crecer en la profesión
Para sumergirte en el mundo de DevOps, intenta varias fuentes de información:
- [YouTube, ENG] — muchos videos de conferencias y webinars educativos.
- [YouTube, RUS] — videos de ponencias de la conferencia profesional de DevOps en Rusia.
- [libro, RUS] — uno de los libros más populares sobre la filosofía DevOps. El libro contiene principios generales de la metodología y explica en qué debe centrarse al trabajar en cualquier proyecto.
- [libro, RUS] — mucha teoría y principios sobre cómo debería estar estructurada la administración de sistemas.
- [libro, ENG] — un resumen semanal de noticias sobre lo que ocurre en DevOps alrededor del mundo.
- [Telegram, RUS] — noticias de la industria, anuncios de conferencias, enlaces a nuevos artículos y libros interesantes.
- [Telegram, RUS] — chat en ruso donde se pueden hacer preguntas y pedir ayuda sobre configuraciones.
- Devops.com — un gran sitio internacional con artículos, seminarios web, pódcast y columnas de las empresas más grandes de la industria.
- — comunidad de habla rusa de ingenieros DevOps y simpatizantes.
- Los mejores libros sobre el lenguaje que utilizarás para el desarrollo.
Dónde estudiar para ser DevOps
Puedes obtener conocimientos estructurados en el curso «» en Netology. Aprenderás el ciclo completo de la metodología:
- Aprenderás a analizar código y utilizar rápidamente herramientas de control de versiones.
- Te familiarizarás con las mejores prácticas de integración continua, pruebas y compilación.
- Aprenderás a gestionar cambios en las aplicaciones y automatizarlos.
- En la práctica, estudiarás herramientas de configuración y gestión.
- Te acostumbrarás a elegir y configurar inmediatamente los servicios necesarios para la monitorización.
Como bonificación, obtendrás un curso de programación en Python — resolverás tareas aún más rápido y fácil. Todo en la práctica — utilizamos AWS, GCP o Azure.
Esto es suficiente para convertirte de un ingeniero principiante o administrador de sistemas en un demandado DevOps y aumentar tu tarifa en el mercado laboral.
Fuente: habr.com
