Quién es un ingeniero DevOps, qué hace, cuánto gana y cómo convertirse en uno

Los ingenieros DevOps son profesionales multidisciplinares que saben automatizar procesos y saben cómo trabajan los desarrolladores, QA y gestores. Saben programar, dominan rápidamente herramientas complejas y no se pierden frente a una tarea desconocida. Hay pocos ingenieros de DevOps: están listos para pagar entre 200 y 300 mil rublos cada uno, pero todavía hay muchas vacantes.

Dmitry Kuzmin explica qué hace exactamente DevOps y qué necesita estudiar para calificar para ese puesto. Bonificación: enlaces importantes a libros, videos, canales y la comunidad profesional.

¿Qué hace un ingeniero DevOps?

En una situación con DevOps, es importante no confundir los términos. El hecho es que DevOps no es un área específica de actividad, sino una filosofía profesional. Es una metodología que ayuda a los desarrolladores, evaluadores y administradores de sistemas a trabajar de manera más rápida y eficiente a través de la automatización y la fluidez.

En consecuencia, un ingeniero DevOps es un especialista que implementa esta metodología en el proceso de trabajo:

  • En la etapa de planificación, un ingeniero de DevOps ayuda a decidir qué arquitectura usará la aplicación, cómo se escalará y elegirá un sistema de orquestación.
  • Además, configura servidores, verificación automática y carga de código, verificación del entorno.
  • Luego automatiza las pruebas, resuelve las tareas de implementación.
  • Después del lanzamiento, es importante recopilar comentarios de los usuarios e implementar mejoras. DevOps hace que los usuarios no noten estas mejoras y el proceso de actualización es continuo.
  • Y al mismo tiempo resuelve decenas de tareas que ayudan a establecer un sistema de trabajo para desarrolladores, QA, administradores de sistemas y gerentes.

Todo lo escrito anteriormente tiene lugar en proyectos casi ideales. En el mundo real, debe comenzar en un proyecto en el que se perdió la planificación, la arquitectura fue incorrecta y se pensó en la automatización cuando se levantaron todos los proyectos. Y comprender todos estos problemas, resolverlos y hacer que todo funcione es una habilidad clave para un especialista en DevOps.

Hay confusión en el mercado laboral. A veces, una empresa busca ingenieros de DevOps para el puesto de ingeniero de sistemas, ingeniero de construcción u otra persona. Las responsabilidades, según el tamaño de la empresa y la dirección, también cambian: en algún lugar buscan a una persona para consultar, en algún lugar se les pide que automaticen todo y en algún lugar se les exige que realicen funciones avanzadas de un administrador de sistemas que sabe cómo programa.

Lo que necesitas para empezar en la profesión

El ingreso a la profesión requiere una preparación previa. Simplemente llegando a los cursos desde cero, sin entender nada de TI, y no podrá aprender hasta el nivel junior. Antecedentes técnicos requeridos:

  • Idealmente, si trabaja durante seis meses o más como administrador de sistemas, operaciones o especialista en pruebas. O al menos tener una idea de cómo se inician las aplicaciones, en qué entorno se pueden desarrollar y qué hacer si ve un error. Si no tiene experiencia laboral, tome cualquier curso sobre administración de Linux, repitiendo todo lo que sucede en una máquina doméstica.
  • Comprenda cómo funcionan las tecnologías de red: aprenda a instalar, configurar y administrar redes locales y globales.
  • Vea cómo y de qué está hecha la programación: escriba algunos scripts en Python o Go, intente comprender los principios de OOP (Programación orientada a objetos), lea sobre el ciclo general de desarrollo de productos.
  • El conocimiento del inglés técnico será útil: no es necesario comunicarse sobre temas libres, es suficiente poder leer la documentación y las interfaces.

No es necesario conocer a fondo todo lo enumerado, basta con un nivel mínimo de formación para iniciar la formación en DevOps. Si tiene una formación tan técnica, intente inscribirse en cursos.

Lo que DevOps debe saber

Un buen ingeniero DevOps es un especialista multidisciplinario con una perspectiva muy amplia. Para un trabajo exitoso, deberá comprender varias áreas de TI a la vez.

Desarrollo

DevOps escribirá un script para ayudar a los desarrolladores a instalar el código en el servidor. Hará un programa que "sobre la marcha" pruebe la capacidad de respuesta de las bases de datos. Escribirá una aplicación para el control de versiones. Finalmente, observe un posible problema de desarrollo que podría aparecer en el servidor.

Un fuerte especialista en DevOps conoce varios lenguajes adecuados para la automatización. No los entiende a fondo, pero escribirá rápidamente un pequeño programa o leerá el código de otra persona. Si no se ha encontrado con el desarrollo antes, comience con Python: tiene una sintaxis simple, es fácil trabajar con tecnologías en la nube, hay mucha documentación y bibliotecas.

Sistemas operativos

Conocer todas las características de cada versión de cada sistema es imposible: se pueden dedicar miles de horas a dicha capacitación y no tendrá sentido. En cambio, un buen DevOps comprende los principios generales de trabajo en cualquier sistema operativo. Aunque, a juzgar por las menciones en las vacantes, la mayoría ahora trabaja en Linux.

Un buen ingeniero entiende en qué sistema es mejor implementar un proyecto, qué herramientas usar y qué posibles errores pueden aparecer durante la implementación o la operación.

Nubes

mercado de la tecnología en la nube esta creciendo en un promedio de 20 a 25 % por año; dicha infraestructura le permite automatizar las operaciones de prueba de código, ensamblar aplicaciones a partir de componentes y entregar actualizaciones a los usuarios. Un buen DevOps entiende tanto la nube completa como las soluciones híbridas.

Los requisitos estándar para los ingenieros suelen incluir GCP, AWS y Azure.

Esto incluye el conocimiento de las herramientas de CI/CD. Jenkins generalmente se usa para la integración continua, pero vale la pena probar análogos. Hay muchos como Buddy, TeamCity y Gitlab CI. Será útil estudiar Terraform: esta es una herramienta declarativa que ayuda a levantar y configurar de forma remota la infraestructura en las nubes. Y Packer, que se necesita para crear automáticamente imágenes del sistema operativo.

Sistemas de orquestación y microservicios

La arquitectura de microservicios tiene muchas ventajas: estabilidad, capacidad de escalar rápidamente, simplificación y reutilización. DevOps entiende cómo funcionan los microservicios y puede anticipar problemas potenciales.

Conoce a fondo Docker y Kubernetes. Él entiende cómo funcionan los contenedores, cómo construir un sistema para que pueda desactivar algunos de ellos sin consecuencias para el sistema en su conjunto. Por ejemplo, puede crear un clúster de Kubernetes con Ansible

Qué más probar para el futuro de DevOps

La lista de herramientas que puede utilizar un ingeniero de DevOps es interminable. Alguien trabaja en la orquestación de proyectos, otros dedican la mayor parte de su tiempo a automatizar la implementación y las pruebas, y otros aumentan la eficiencia en la gestión de la configuración. En el proceso, quedará claro dónde cavar y qué proyectos serán útiles.

Aquí hay un pequeño mínimo que ayudará al principio:

  • Comprenda cómo funcionan Git y Github si aún no lo ha hecho. Instale GitLab en su servidor.
  • Familiarícese con los lenguajes de marcado JSON y YAML.
  • Instale e intente trabajar en bases de datos, no solo en MySQL, sino también en NoSQL. Prueba MongoDB.
  • Aprenda a administrar la configuración de varios servidores a la vez. Por ejemplo, usando Ansible.
  • Configure inmediatamente la supervisión de la carga y los registros. Pruebe un montón de Prometheus, Grafana, Alertmanager.
  • Busque las mejores soluciones de implementación para diferentes idiomas: solo necesita familiarizarse, implementar y comprender en un proyecto de capacitación o trabajo.

Por qué debería empezar a aprender DevOps ahora

Hay escasez de personal en el mercado de ingenieros de DevOps. Esto se confirma condicionalmente por el número y la calidad de las vacantes:

  • Solo en Rusia, HeadHunter tiene más de 2 puestos de trabajo disponibles para esta palabra clave.
  • Y solo 1 personas publicaron currículums.

Teniendo en cuenta que publicar un currículum no significa una búsqueda activa de trabajo, resulta que hay dos o incluso tres vacantes para un especialista; esta situación ni siquiera existe en el popular mercado de desarrollo web. Agregue aquí más vacantes de Habr y de los canales de Telegram: la escasez de especialistas es enorme.

Quién es un ingeniero DevOps, qué hace, cuánto gana y cómo convertirse en uno
Preste atención a los requisitos salariales de los solicitantes de empleo.

DevOps no tiene menos demanda en el mundo: si se va a mudar a EE. UU. o Europa, solo en el portal Glassdoor más de 34 mil empresas están buscando tales especialistas. De los requisitos frecuentes: experiencia de 1 a 3 años, la capacidad de trabajar con "nubes" y no tener miedo de las funciones de consultoría.

Muchas veces hay menos ofertas de trabajo independiente: los ingenieros de DevOps se buscan principalmente a tiempo completo y a tiempo completo.

Quién es un ingeniero DevOps, qué hace, cuánto gana y cómo convertirse en uno
Encontrar un proyecto freelance adecuado es difícil, pero es posible

La trayectoria profesional condicional de un ingeniero de DevOps se puede representar de la siguiente manera:

  • Trabaja como administrador de sistemas en una pequeña empresa de TI durante seis meses o un año. Al mismo tiempo, aprende un lenguaje adecuado para la automatización.
  • Estudiando intensivamente en los cursos, alrededor de seis meses.
  • Se muda a otro trabajo: en una empresa que vende soluciones en la nube, una sucursal de una gran corporación, a desarrolladores de grandes proyectos. En pocas palabras, donde existe la necesidad de una automatización e implementación constantes. En la posición inicial, esto es alrededor de 100 mil rublos.
  • Durante varios años ha estado trabajando y estudiando activamente, aumentando los ingresos varias veces.
  • Se convierte en un experto en la comunidad profesional y pasa a la consultoría. O convertirse en arquitecto de sistemas o director de TI.

DevOps es difícil. Necesitas combinar las habilidades de varias profesiones a la vez. Conviértase en una persona lista para ofrecer mejoras donde otros profesionales de TI ni siquiera piensan en otra cosa. Pagan mucho por esto, pero la cantidad de conocimiento requerida también es grande.

¿Cuánto gana DevOps?

Según los datos del segundo trimestre de 2019, el salario medio medio de los devops está en la horquilla entre 90 y 160 mil rublos. Hay ofertas más baratas, en su mayoría 60-70 mil.

Constantemente hay ofertas de hasta 200 mil, hay vacantes con un salario de hasta 330 mil rublos.

Quién es un ingeniero DevOps, qué hace, cuánto gana y cómo convertirse en uno
Entre los profesionales de operaciones, DevOps recibe el pago más alto. Fuente: Habr.Carrera

Los ingenieros de DevOps, incluidos los principiantes, ahora son requeridos por 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 junior con un salario de 60-90 mil sería un administrador de sistemas novato con aproximadamente un año de experiencia y un diploma especializado.
 
Quién es un ingeniero DevOps, qué hace, cuánto gana y cómo convertirse en uno
No existen tales estadísticas, pero parece que a las personas que tienen experiencia en Linux se les paga más.

Qué ver y leer para crecer en la profesión

Para sumergirse en el mundo de DevOps, pruebe varias fuentes de información a la vez:

  • Fundación de computación nativa de la nube [YouTube, ENG]: muchos videos de conferencias y seminarios web educativos.
  • Canal DevOps [YouTube, RUS]: presentaciones en video de una conferencia profesional de DevOps en Rusia.
  • El manual de DevOps [book, ENG] es uno de los libros más populares sobre la filosofía DevOps. El libro contiene los principios generales de la metodología, dice a qué prestar atención en primer lugar cuando se trabaja en cualquier proyecto.
  • Thomas Limoncelli "La práctica de la administración de sistemas y redes" [libro, ESP] - mucha teoría y principios sobre cómo se debe organizar la administración del sistema.
  • Devops semanalmente [libro, ESP]: un resumen semanal de noticias de DevOps en todo el mundo.
  • devops_deflope [Telegram, RUS]: noticias de la industria, anuncios de conferencias, enlaces a nuevos artículos y libros interesantes.
  • DevOps [Telegram, RUS]: un chat en ruso donde puedes pedir consejo y ayuda con las configuraciones.
  • Devops.com es un gran sitio internacional con artículos, seminarios web, podcasts y columnas de las empresas más grandes de la industria.
  • Hangops_Ru es una comunidad de habla rusa de ingenieros y simpatizantes de DevOps.
  • Los mejores libros sobre el lenguaje que usarás para el desarrollo.

Dónde estudiar DevOps

Puede obtener conocimiento estructurado en el curso "Ingeniero DevOps» en Netología. Aprenderás el ciclo completo de la metodología:

  • Aprenda a analizar código y a utilizar rápidamente herramientas de control de versiones.
  • Comprenda las mejores prácticas para la integración, las pruebas y la creación continuas.
  • Aprenda a administrar los cambios de la aplicación y automatizarlos.
  • En la práctica, aprenda las herramientas de configuración y administración.
  • Adquiera el hábito de seleccionar y configurar inmediatamente los servicios que necesita monitorear.

Como beneficio adicional, obtenga un curso de programación en Python: resolverá problemas aún más rápido y más fácil. Todo en la práctica: usamos AWS, GCP o Azure.
Esto es suficiente para pasar de ser un ingeniero novato o un administrador de sistemas a un DevOps codiciado y aumentar gratamente su precio en el mercado laboral.

Quién es un ingeniero DevOps, qué hace, cuánto gana y cómo convertirse en uno

Fuente: habr.com

Añadir un comentario