[Системное администрирование, *nix, DevOps] В поисках идеального DevOps. Кого сейчас ищут на рынке IT?
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Инспектор DevOpsВ 2021 году рынок IT — и, в частности, рынок инженеров, которые позиционируют себя как DevOps, — остается перегретым, и пока нет тенденции к его охлаждению. Спрос на специалистов высокого уровня превышает предложение. Компании, конкурируя за перспективных работников, готовы предлагать хорошие условия. Проблема заключается в том, что в погоне за высокими зарплатами пострадало качество набора. Сегодня хотелось бы поговорить о том, какие кандидаты будут привлекать работодателя выдать заветный оффер.На посту тимлида мне часто доводится собеседовать кандидатов в команду, и у меня сформировались шаблонные образы специалистов, по которым можно понять, насколько хорошо человек вольётся в команду и когда начнёт приносить пользу общему делу. Сразу оговорюсь, что плохих людей среди этих категорий нет, каждый из них может найти свою нишу:
- Гуглеры: инженеры, которые любые задачи готовы решать с помощью поисковой строки. Это достаточно амбициозные люди, которые думают, что могут решать крупные задачи без фундаментальных знаний в своей области. На собеседованиях я люблю задавать базовые вопросы, основанные на стеках технологий, которые кандидат сам указал у себя в резюме. Например, если человек работал с контейнерами, то я могу спросить, как устроена изоляция в контейнерах? Или если администрировал Linux, то что такое LA?
- Операторы систем: в резюме этих людей обычно видишь множество освоенных технологий и думаешь: «Джек пот! Ну, наконец-то я нашёл». В беседе задаешь вопросы об этих стеках, а в ответ слышишь: «Это поднимали до меня. С этим работала другая команда». Я понимаю, что таким образом кандидат повышает конверсию по приглашениям на собеседования, но иногда получается, что общих тем для общения не остается.
- Я — DevOps: кандидаты этой категории интерпретируют работу инженера в рамках создания конвейеров. Всё, что касается уровней железа, сети, виртуализации, баз данных, мониторинга, — это не к нему. Справедливости ради, есть компании, которые ищут узкопрофильных специалистов, так что это вполне рабочая модель.
- Фулстек-админ: системный администратор, который имеет богатый опыт работы в различных направлениях, связанных с инфраструктурой. Обычно такие люди стремятся погружаться в новые технологии, использовать практики DevOps в своей работе. В большинстве случаев у фулстек-админа не сильно богатый опыт в Kubernetes. Его привлекает широкий профиль и новые возможности научиться чему-то новому.
IT-компании выбирают человека под свои задачи. Кому-то нужен DevOps в команду разработки, кому-то — для автоматизации процессов OPS, а кому-то нужен человек—швейцарский нож, который будет и за инфраструктурой следить, и код писать. Можно было бы на этом заканчивать: конечно же, всем нужен такой герой, только вот он сам на это не подпишется, а если и подпишется, то быстро выгорит.Лично для себя я выделяю тип фулстек-админов, у которых, возможно, местами есть пробелы в новых модных DevOps—инструментах и технологиях, но зато они хорошо знают базу:
- Linux;
- сеть;
- скриптовые языки bash/Python;
- балансировщики, веб-прокси;
- виртуализацию, контейнеризацию.
Понятное дело, что помимо hard skills (профессиональные умения) немаловажным фактором являются и soft skills (личные качества):
- умение работать в команде;
- коммуникабельность;
- творческий подход;
- пунктуальность.
Вряд ли кому-то захочется работать с человеком, который всё делает невовремя, отказывается участвовать в различных церемониях с командой, или просто-напросто с конфликтным человеком.Но давайте отбросим личные качества и составим универсальный набор профессиональных умений, которые будут максимально привлекательны для работодателя.Linux
Не важно, идёте ли вы на позицию DevOps в команду разработки или в команду инфраструктуры, знания среды, где крутится приложение, жизненно необходимы. Серверы с приложениями нужно обслуживать: вводить новые ноды, устранять неисправности в случае инцидентов, обновлять по мере необходимости. Всё это требует основных навыков работы с сетью, файловой системой, в некоторых случаях — с настройками ядра. Вы должны уметь находить узкие места в сервере: процессор, сеть, память, диск, кривые руки настройки. Само собой, всё это сопровождается знанием оболочки shell.Сеть и безопасность
Казалось бы, при чем тут DevOps, вот вам выделенная команда сетевиков и кибербезопасности. Но я говорю не о настройках роутеров, коммутаторов или NGFW, а о знании протоколов (стек TCP/IP, UDP, HTTP/HTTPS) и маршрутизации, о понимании, как сконфигурировать и защитить приложение от возможных атак (порты, права доступа). На практике это может вам помочь при исследовании, в какой точке при межсервисном взаимодействии теряется трафик и почему.С развитием DevOps—культуры появилась новая философия под названием DevSecOps. Инженеры, которые следуют этой культуре, с самого начала жизненного цикла приложения занимаются его безопасностью, создавая различные средства защиты, и также стремятся автоматизировать всё, в том числе аудит безопасности.Контейнеры и оркестрация
Сложно представить, что кто-то еще не трогал Docker даже на уровне пользователя, но от кандидата ожидают знания на уровне администратора. Обычно мы задаем заезженный вопрос: «Чем отличается контейнеризация от виртуализации?» Важно, чтобы кандидат понимал, для каких задач подходит та или иная технология. В эпоху микросервисной архитектуры вряд ли остались крупные компании, которые не облегчают себе жизнь с помощью таких инструментов, как Kubernetes или Openshift.
На мой взгляд, можно сравнить график популярности продукта со спросом на инженера, который практикует работу с ним. Инструмент вроде Kubernetes имеет множество подводных камней. Чтобы его администрировать, нужно понимать, как он устроен — так называемый control plane, — как связаны компоненты между собой и как они управляют контейнерами. CI/CD
CI/CD необходим для всех масштабных проектов, ведь делать что-то вручную медленнее, а также неудобно справляться с повседневными задачами. Выше шла речь о знании Docker, давайте посмотрим, с какими технологиями и ПО придется иметь дело для работы с ним:
- Есть приложение, которое готово работать в контейнере. Для начала требуется написать хороший оптимизированный Dockerfile и собрать Docker—образ.
- Его нужно отправить в хранилище (registry), и вы должны поддерживать его работу.
- Собирать образ каждый раз вручную вы вряд ли захотите, на помощь приходят инструменты для автоматической сборки, такие как Jenkins, Gitlab CI, Bamboo.
- Вам нужно настроить конвейер, связать его с репозиторием, где хранится код, и описать процесс сборки образа и отправки в хранилище.
- Отдельный шаг настройки — развёртывание контейнера в требуемом окружении.
- Нужно проверить статус развёртывания и работы приложения, уведомить об этом команду удобным способом, например, в Slack или Telegram.
Этот поток представляет собой ядро конвейера CI/CD, а конвейер находится в центре задач и обязанностей DevOps—инженера. Вы должны иметь возможность настроить полный и непрерывный конвейер CI/CD для своего приложения. Вот почему неофициальный логотип DevOps — это бесконечный цикл, потому что улучшения приложения бесконечны. Постоянно добавляются новые функции и исправления ошибок, которые необходимо развернуть.Мониторинг
В каких-то компаниях есть выделенная команда мониторинга (дежурная смена + развитие), в каких-то функции по мониторингу распределяются по всей команде. Тем не менее, от нового сотрудника будут ждать опыта в настройке и поддержке мониторинга различных систем: от Kubernetes до кастомных метрик для аналитики с Jenkins. На сегодняшний день востребованы специалисты со знанием таких инструментов, как Zabbix и Prometheus. Ну и, само собой, потребуется настройка визуализации в Grafana. Также я порекомендовал бы изучить инструменты Application Performance Monitoring (APM), например, Elastic APM. Инфраструктура как код
Этот подход существует уже более 5 лет и стал неотъемлемым признаком настоящего профессионала. Как DevOps—инженер вы должны знать один из инструментов IaC, чтобы сделать свою работу более эффективной. Заодно снижается порог вхождения в чужую инфраструктуру, построенную на этом подходе, что, несомненно, будет вам плюсом. Современный мастхев должен состоять из следующих инструментов управления конфигурацией (на выбор):
- Ansible;
- Chef;
- Puppet;
- Salt.
Отдельно хотелось бы отметить Terraform как отдельный вид искусства. Если в компании есть облачная инфраструктура, то кандидат со знанием продукта от Hashicorp станет, несомненно, полезен и достаточно быстро сможет выполнять задачи как по новым проектам, так и по поддержке старых.Заключение«Идеальные люди обладают единственным недостатком — они не существуют». Описанный набор навыков не конечен, на мой взгляд — это база для DevOps—инженера, которая будет приветствоваться на каждом собеседовании в новой компании. А дальше всё зависит только от вас самих. Приумножая знания, вы становитесь лакомым кусочком на рынке IT.
===========
Источник:
habr.com
===========
Похожие новости:
- [Системное администрирование, DevOps, Микросервисы, Kubernetes] Что такое service mesh, когда внедрять, альтернативы Istio и другие ответы экспертов с АМА-сессии Слёрм по service mesh
- [Информационная безопасность, Системное администрирование, IT-инфраструктура, Виртуализация] АЭРОДИСК vAIR v2. Часть 3. Железный вопрос. Аппаратные платформы, лицензирование, поддержка… и ФСТЭК
- [Управление персоналом, Карьера в IT-индустрии, DevOps, Удалённая работа] «Изменить настройки в голове гораздо сложнее, чем на сервере». Как мы ищем инженеров в Southbridge
- [Системное администрирование, Серверное администрирование, Компьютерное железо, Сетевое оборудование] Тележка, витая пара, три свитча: как я перевозил сервер с нулевым даунтаймом (перевод)
- [.NET, C#, DevOps] Подводные камни сбора метрик в Windows (часть 1)
- [DevOps, Облачные сервисы] Бесплатный курс «Инженер облачных сервисов Yandex.Cloud» от Яндекс.Практикума и Yandex.Cloud
- [Системное администрирование, Анализ и проектирование систем, Сетевые технологии, Сетевое оборудование] Cети 10 GBE без синяков и шишек
- [Python, Программирование] Что вернёт эта функции в Python?
- [Работа с видео, Amazon Web Services, DevOps, Google Cloud Platform] Облачная WebRTC CDN: сколько стоит, где разместить?
- [Работа с видео, Amazon Web Services, DevOps, Google Cloud Platform] Cloud services for WebRTC CDN: How much does it cost? Where to place it?
Теги для поиска: #_sistemnoe_administrirovanie (Системное администрирование), #_*nix, #_devops, #_devops, #_sistemnoe_administrirovanie (системное администрирование), #_*nix, #_blog_kompanii_domklik (
Блог компании ДомКлик
), #_sistemnoe_administrirovanie (
Системное администрирование
), #_*nix, #_devops
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:50
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Инспектор DevOpsВ 2021 году рынок IT — и, в частности, рынок инженеров, которые позиционируют себя как DevOps, — остается перегретым, и пока нет тенденции к его охлаждению. Спрос на специалистов высокого уровня превышает предложение. Компании, конкурируя за перспективных работников, готовы предлагать хорошие условия. Проблема заключается в том, что в погоне за высокими зарплатами пострадало качество набора. Сегодня хотелось бы поговорить о том, какие кандидаты будут привлекать работодателя выдать заветный оффер.На посту тимлида мне часто доводится собеседовать кандидатов в команду, и у меня сформировались шаблонные образы специалистов, по которым можно понять, насколько хорошо человек вольётся в команду и когда начнёт приносить пользу общему делу. Сразу оговорюсь, что плохих людей среди этих категорий нет, каждый из них может найти свою нишу:
Не важно, идёте ли вы на позицию DevOps в команду разработки или в команду инфраструктуры, знания среды, где крутится приложение, жизненно необходимы. Серверы с приложениями нужно обслуживать: вводить новые ноды, устранять неисправности в случае инцидентов, обновлять по мере необходимости. Всё это требует основных навыков работы с сетью, файловой системой, в некоторых случаях — с настройками ядра. Вы должны уметь находить узкие места в сервере: процессор, сеть, память, диск, кривые руки настройки. Само собой, всё это сопровождается знанием оболочки shell.Сеть и безопасность Казалось бы, при чем тут DevOps, вот вам выделенная команда сетевиков и кибербезопасности. Но я говорю не о настройках роутеров, коммутаторов или NGFW, а о знании протоколов (стек TCP/IP, UDP, HTTP/HTTPS) и маршрутизации, о понимании, как сконфигурировать и защитить приложение от возможных атак (порты, права доступа). На практике это может вам помочь при исследовании, в какой точке при межсервисном взаимодействии теряется трафик и почему.С развитием DevOps—культуры появилась новая философия под названием DevSecOps. Инженеры, которые следуют этой культуре, с самого начала жизненного цикла приложения занимаются его безопасностью, создавая различные средства защиты, и также стремятся автоматизировать всё, в том числе аудит безопасности.Контейнеры и оркестрация Сложно представить, что кто-то еще не трогал Docker даже на уровне пользователя, но от кандидата ожидают знания на уровне администратора. Обычно мы задаем заезженный вопрос: «Чем отличается контейнеризация от виртуализации?» Важно, чтобы кандидат понимал, для каких задач подходит та или иная технология. В эпоху микросервисной архитектуры вряд ли остались крупные компании, которые не облегчают себе жизнь с помощью таких инструментов, как Kubernetes или Openshift. На мой взгляд, можно сравнить график популярности продукта со спросом на инженера, который практикует работу с ним. Инструмент вроде Kubernetes имеет множество подводных камней. Чтобы его администрировать, нужно понимать, как он устроен — так называемый control plane, — как связаны компоненты между собой и как они управляют контейнерами. CI/CD CI/CD необходим для всех масштабных проектов, ведь делать что-то вручную медленнее, а также неудобно справляться с повседневными задачами. Выше шла речь о знании Docker, давайте посмотрим, с какими технологиями и ПО придется иметь дело для работы с ним:
В каких-то компаниях есть выделенная команда мониторинга (дежурная смена + развитие), в каких-то функции по мониторингу распределяются по всей команде. Тем не менее, от нового сотрудника будут ждать опыта в настройке и поддержке мониторинга различных систем: от Kubernetes до кастомных метрик для аналитики с Jenkins. На сегодняшний день востребованы специалисты со знанием таких инструментов, как Zabbix и Prometheus. Ну и, само собой, потребуется настройка визуализации в Grafana. Также я порекомендовал бы изучить инструменты Application Performance Monitoring (APM), например, Elastic APM. Инфраструктура как код Этот подход существует уже более 5 лет и стал неотъемлемым признаком настоящего профессионала. Как DevOps—инженер вы должны знать один из инструментов IaC, чтобы сделать свою работу более эффективной. Заодно снижается порог вхождения в чужую инфраструктуру, построенную на этом подходе, что, несомненно, будет вам плюсом. Современный мастхев должен состоять из следующих инструментов управления конфигурацией (на выбор):
=========== Источник: habr.com =========== Похожие новости:
Блог компании ДомКлик ), #_sistemnoe_administrirovanie ( Системное администрирование ), #_*nix, #_devops |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:50
Часовой пояс: UTC + 5