Чи справді Junior DevOps Engineer — новачок?

Усі статті, обговорення, новини про DevOps — в одному місці. Підписуйтеся на DOU | DevOps!

Я Павло Завада — співзасновник компанії NETFORCE Ukraine, що надає послуги системного адміністрування та DevOps, а також IT Education Center, де навчаю технологій цієї сфери.

DevOps не такий відомий напрям в ІТ, як тестування чи розробка. Стандартний жарт «спробуй пояснити бабусі, ким ти працюєш» у цьому випадку виходить на новий рівень. Іноді складно пояснити навіть друзям.

Хочу допомогти тим, хто розглядає DevOps як можливий напрям для себе, незалежно від технічного бекграунду. Розберемося, що це за спеціальність, які знання та навички потрібні джуну та чи можна його назвати початківцем.

Що таке DevOps

DevOps — це методологія, що допомагає покращити взаємодію команд Dev та Ops. Головна мета — випускати продукти швидше, але з вищою якістю.

Цього можна досягти за допомогою покращення процесів збирання коду, тестування та розгортання, створення міжфункціональних команд, розвитку культури DevOps тощо.

На проєктах ми автоматизуємо рутинні процеси, налаштовуємо CI/CD пайплайни, надаємо інфраструктуру як код, щоб полегшити управління нею, та моніторимо системи, щоб вчасно помічати проблеми й усувати їх. І все ж це лише частинка задач.

Посада DevOps-інженера вимагає сильних hard skills. Потрібно вміти працювати з багатьма різними інструментами та технологіями. Kubernetes, Docker, Ansible, Terraform, Jenkins, Prometheus, Grafana — список можна продовжувати довго.

Тож яким має бути Junior DevOps у цьому потоці задач та технологій?

Junior DevOps Engineer — чи така роль існує?

Мені ставили й таке питання — і не дарма. Якщо заради цікавості подивитися вакансії, можна натрапити на:

  • Senior System Administrator / Junior DevOps Engineer — не ясно, чи можна зайняти таку посаду, якщо не пройти до цього шлях сисадміна. Тож це збиває зі шляху тих, хто хоче потрапити у сферу, але не має відповідного досвіду.
  • Просто DevOps Engineer — рівень навіть не вказують, що примножує непорозуміння. Ви можете бути middle, але продати себе як junior, тому що в різних компаніях відрізняються вимоги до фахівців одного рівня. Я бачив вакансії junior з вимогою 3-х років досвіду та strong junior із 1,5 роками. Тож будьте уважні.

У самій сфері є складнощі із визначенням такого фахівця, але роль Junior DevOps Engineer існує.

Потрібні навички

Джун DevOps — це спеціаліст, який уже вміє щось робити руками. Він має досвід з розробкою ПЗ, ІТ-операціями та управлінням інфраструктури. Якщо ви лише маєте уявлення, як усе працює, то варто почати з позиції Trainee.

Від Junior DevOps Engineer очікують досвід:

  • адміністрування ОС Linux. Із цього все починається, тому на позицію й розглядають системних адміністраторів. Вони мають досвід віртуалізації, налаштування інфраструктури, її захисту та troubleshooting;
  • автоматизації. Наприклад, за допомогою Ansible, Puppet чи Chef;
  • зі скриптовими мовами: Bash, Python тощо. Вибір мови не так важливий — ці знання потрібні, щоб автоматизувати рутинні завдання;
  • інфраструктурою як кодом (IaC). Необхідно розуміти концепції та принципи й вміти керувати інфраструктурою за допомогою коду, а також прописувати базову інфраструктуру з Terraform або CloudFormation;
  • контейнеризації та оркестрації (Docker та Kubernetes). Йдеться про вміння створювати образи контейнерів, розгортати їх та оркеструвати;
  • із системами моніторингу. Потрібно налаштовувати інструменти моніторингу та логування, такі як Prometheus, Zabbix або стек ELK;
  • із хмарними провайдерами: Google Cloud, AWS, Azure. Це про розгортання програми на хмарних платформах, керування базовою cloud-інфраструктурою та автоматизацію процесів;
  • безперервної інтеграції та доставки (CI/CD). Необхідно вміти налаштовувати конвеєри CI/CD за допомогою Jenkins, Travis CI або CircleCI.

Окрім того, Junior DevOps має добре розуміти життєвий цикл розробки ПЗ, необхідні інструменти та технології, а ще мати практичний досвід роботи з ними. Це важливо, тому що ви працюватимете з іншими командами саме над покращенням SDLC.

Також потрібно знати системи контролю версій — наприклад, Git. Треба вміти створювати та керувати репозиторіями коду, а ще розуміти методи розгалуження, злиття та управління версіями.

Зверніть увагу й на знання англійської. Це стандартна вимога у сфері ІТ загалом, яка відчиняє вам двері до міжнародних проєктів. Ми в NETFORCE Ukraine теж оцінюємо англійську в наших кандидатів.

Задачі Junior DevOps-інженера

Припустимо, усі ці навички у вас є. Тож чим доведеться займатися?

Завдання Junior-фахівця виглядають приблизно ( пишу «приблизно», бо всі компанії та їхні задачі різні, тож цей список може варіюватися) так:

  • адміністрування серверів та їхнє обслуговування;
  • управління конфігураціями — встановлення та налаштування інфраструктури;
  • упровадження та управління CI/CD;
  • налаштування моніторингу;
  • розв’язання проблем за допомогою нескладних скриптів;
  • створення та супровід середовищ на хмарних платформах;
  • автоматизація процесів;
  • забезпечення та дотримання процедур безпеки, конфіденційності та захисту даних клієнтів.

Чим це відрізняється від інших джунів

Від початківців у тестуванні чи розробці не очікують попередній досвід на іншій позиції, як в історії з DevOps та системним адмініструванням. До речі, досвід тестування або розробки теж корисний для майбутнього DevOps-інженера.

Чому так: для QA важливе розуміння SDLC, знання основ тестування, frameworks та інструментів, баз даних і ще багато іншого. Але всі ці моменти пов’язані безпосередньо з тестуванням. Те саме і з розробниками.

Особливість DevOps у тому, що він залучений на всіх етапах життєвого циклу розробки ПЗ. Тому обсяг знань, навичок та інструментів, якими необхідно володіти, збільшується. DevOps-інженер об’єднує і розробників, і команду експлуатації, покращує процеси та взаємодію між командами. Він свого роду і швець, і жнець, і в дуду грець. І тому будь-який досвід у розробці стане в пригоді.

Зони відповідальності QA, розробника та DevOps-інженера — нескінченний цикл

Для прикладу візьмемо стандартну задачу DevOps — автоматизацію процесу розгортання. Щоб її виконати, потрібно розуміти вимоги до розгортання, залежності та обмеження.

Треба звернути увагу на середовище розгортання, бо від цього залежать конфігурації. Потім визначити специфікації заліза, інфраструктури та врахувати очікуваний трафік і навантаження на програму, щоб вона витримувала реальний потік реквестів. Важливо не забути жодну залежність — бібліотеки, БД, сторонні служби або API та інфраструктурні залежності. І вишенька на торті — бюджетні, часові та ресурсні обмеження, а ще відповідність нормам (наприклад, GDPR, HIPAA).

На позиції Junior ви точно не займатиметеся всім самостійно, тож не лякайтесь. Але якщо все ж доведеться, то раджу змінити проєкт, адже так ви не навчатиметеся, а тільки засвоюватимете власні помилки.

Крім технічних навичок, від Junior DevOps Engineer чекають сильних комунікативних умінь. Вам слід уміти спілкуватися однією мовою з командами розробників, тестувальників, експлуатації, а ще — з внутрішнім чи зовнішнім замовником. Знадобиться й вправність у розв’язуванні конфліктів.

Тому назвати Junior DevOps Engineer початківцем складно. Це фахівець, що має серйозний технічний бекграунд. Тут не так важливо, чи він отримав його на інших посадах, чи навчився з нуля, але має практичні приклади. Він має розуміти процеси, щоб їх оптимізувати.

Висновок

У статті ми з усіх сторін розглянули посаду Junior DevOps Engineer. Почали з того, що це за сфера та чи існує в ній роль джуна. Часто такими фахівцями називають досвідчених системних адміністраторів, хоча мати такий досвід — необов’язково.

Іноді виникають запитання, проте така справді роль існує. Це фахівець, який уже має практичний досвід з основними технологіями та інструментами.

Ми розглянули вимоги компаній до спеціалістів цього рівня та чим вони займаються. Це допоможе визначити, коли ви готові претендувати на цю посаду.

Ви зможете правильно оцінювати вакансії. Якщо потрібно 3 роки досвіду на позицію джуна — проходьте повз. Деякі компанії взагалі не вказують рівень фахівця, тож проаналізуйте вакансію, щоб зрозуміти, чи це ваш рівень.

Junior DevOps Engineer — не новачок; він має широкий обсяг знань та навичок. Проте це не означає, що не варто пробувати подаватися на вакансії, якщо якогось досвіду вам не вистачатиме.

Вмістити в одну статтю всі поради початківцям у DevOps доволі складно. Тож якщо вам цікаво дізнатися більше про цей напрям, скоро я розповідатиму про нього на безплатному інтенсиві «Професія DevOps-інженер: твій неочевидний шлях в ІТ».

Також буду радий обговорити ваші питання в коментарях.

👍ПодобаєтьсяСподобалось8
До обраногоВ обраному6
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Всім привіт) чи можете, будь ласка, підказати гідні курси з DevOps? Можливо хто які проходив або знає? Заздалегідь дякую.

Я зараз проходжу від IT education center. Типу на сам перед гідні. Пішла для підвищення кваліфікації, сама працюю NOC.

Заняття 2 рази на тиждень по 2 години, але іноді виходить більше, бо хочемо щось доробити або є питання. На заняттях є як теорія, так і практика.
Є своя вікі з теоретичними матеріали та їх досить багатенько.

+ одні курси для багатьох тем та технлогій
+ усі матеріали в одному місці та викладені на укр
+ приємний викладач
+ зв’язок із менторами

— іноді не вистачає інтерактиву (але для інтровертів топ, а я людинка соціальна)

Залишу вам лінку, можливо буде корисно itedu.center/ua/course/full-devops

Ви ще не знаєте вимоги українських СІО СЕО до DevOps :)
DevOps має замінити ІТ відділ з 5-12 спеціалістів :)
За результатами співбесід ;)

Ну тобто якщо свічнутися із сісадміна то нічого нового)))

Коментар порушує правила спільноти і видалений модераторами.

Джуніор Девопс Є і навіть може бути БЕЗ попереднього комерційного досвіду в ІТ.
На своєму ютуб каналі я розповідав приклад того, як людина менш як за рік з повного 0 стала повноцінним дивопсом: youtu.be/...​fi10E?si=6Dm9dVT3ZxIe7Fof І зараз успішно працює.

Натхненний цією саксес-сторі яка сталася за моєї участі, я запустив канал, де кожен бажаючий може також пройти схожий шлях навчання і також стати джуніор Девопс Інженером: t.me/DevOpsMarathon
Новоприбулі, читайте закрпілені повідомлення.

Окрім того, завжди варто пам’ятати, що джуніор — це людина яка в компанії має більше вчитись ніж приносити корисної роботи.
Якщо джуніор припустився помилки і ця помилка пішла в продакшен або просто наробила якоїсь біди, то винен не джуніор, а той, хто мав його проконтролювати і не зробив це.

Ви радите JDE погоджуватись на $300-600 у коментах до відео. Навіщо людині цей гемор за такі гроші?
З технічною освітою гарною англійською, схильностями та працюючи над собою це можливо. Плюс молодий вік до 25 років, коли знання добре засвоюються.
Після 30-40 вже набагато важче свічнутись в девопси.

Тому що за рік-два такого гемору можна буде з нормальними знаннями піти на 2-3к зп.
Спочатку треба ішачити, вчитись і отримувати за це мало, таке життя. Зате потім буде суттєво легше.

Або неробити нічого і, відповідно, нічого не мати..

Казали, що в Іспанії для джунів стартова €1000.

Ну а в Каліфорнії взагалі можна 300 тисяч $ ЗП мати, але ж ми в Україні, тому треба бути реалістом і не спокушатись на ілюзії.

А це вже ви говорите як чистий український «єврей». Якщо людина може домовитись про 1к ЗП як JDE то чому вона повинна слухати таких як ви і погоджуватись на 300-600? Чи ви експерт в сфері DEVOPS з 10+ роками практики та маєте відповідні сертифікації в цій сфері? Бо щось більше схоже на «роби як я тобі кажу, бо мені краще знати»

UPD: як людина, яка витратила дофіга часу в компанії luxoft — я знімаю свої питання, тепер все стало на свої місця. Іншим читачам коментарів та дописів від пана Дениса я бажаю більше думати своєю головою та цікавитися статистикою ринку праці, але таки більше йти за своїми вподобаннями щодо ЗП чи умов праці.

Я буду тільки радий, якщо українські ІТівці зароблятимуть більше і джуни стартуватимуть з 1к багсів.
Але є багато «Але». Я не інфоциган і не продаю нічого, я просто знаю ± ринок як з точки зору вакансій так і зарплат.

Дійсно джуніору без досвіду, теоретично, маючи релевантні знання, англійську та певний рівень везіння й настирливості реально знайти ЗП на 1к а то і більше.
Але я також не хочу давати людям марних надій, особливо під час рецесії та ринку в реаліях війни, та ситуації, коли є 10-100 кандидатів на одну джуніор вакансію.

Тому, чесно, бажаю всім заробляти більше і єдине з чим безумовно погоджуся, так це з тим, що треба завжди думати над будь-чим що ви прочитали чи почули.

Згідно опитування медіана $1300, перший квартіль $920, менше року досвіду. Це в Україні.

Намагання з методології DevOps зробити професію це пошуки срібної кулі?
Варто запровадити методологію, а це в організаціях, компаніях, які працювали інакше призводить до уявлень CIO, що DevOps це людина, яка відповідає «ЗА ВСЕ» від мережевої інфраструктури, безпеки до організації процесів розробки, супроводу.

Junior DevOps Engineer очікують досвід

Скільки очікує отримувати JDE за такий досвід і роботу?

Переглядаю цю статтю і думку гадаю. Якщо JDE вміє це все, то що заважає йому найняти кілька dev, qa, pm створити власну ІТ компанію, або пиляти стартап?

а ничего, что для управления компанией, надо иметь особый склад ума. и хороший дев-куа не означает хороший менеджер, и уж тем более СЕО.

про стартап вообще не вижу смысла обсуждать.
начиная от того, что нужна идея стартапа, под которую дадут деньги инвесторы, а не 100500я копия социалки.
и заканчивая тем, что кушать все это время тоже что-то надо.

Ну и поведение стартапера опять же отличается от менеджера или хорошего дева. Это (в хорошем смысле) шило в жопе и за...вание всех сотрудников вопросом «когда будет готово?»

Краще витрати 6-12 місяців на бізнес інкубатор, там вкладають у голови «певне розуміння», ідеї. Навчать багато чого. Через 1-3 роки можа мати успішний бізнес. Не сподобається, не піде, то продати. Поки кілька місяців триватиме підготовка, пошук команди працювати і заробляти.
Інвестори дають інвестиції у стартап, який вже працює і приносить дохід, має клієнтів. Це не 2005-2015 роки :)

какой??? бизнес инкубатор? человек умеет в создание программ. у 90% нет ЖИЗНЕСПОСОБНЫХ идей бизнеса. И это нормально. у оставшихся 10% еще 90% не умеют управлять.

а топик на секунду про джунов.

Откуда у нашего народа вера в то, что любой человек может создать бизнес, который будет приность прибыль и не умрет.
Уметь создавать софт — это один скилл.
Управлять бизнесом — скилл совершенно другой. Редко они пересекаются и это подарок.

И да, наличие "

Якщо JDE вміє це все

" никакого отношения к бизнесу не имеет. Аутсорс и аутстафф — это не стартап.

В стартапе в ПЕРВУЮ очередь продукт, а программисты и девопсы уже потом

Откуда у нашего народа вера в то, что любой человек может создать бизнес, который будет приность прибыль и не умрет.

Чого ти думаєш що бізнес має бути прибутковим?
Глянь що на біржі торгується, там більшість збиткові.

ну не знаю, много сениоров вышли на биржу?

Якби було все так просто — усі були бізнесменами. В інкубаторах сидять попки, які товчуть великі істини, але варто дати будь-який кейс з пошуку першого замовника — зливаються в дитячих бе-ме

адміністрування ОС Linux. Із цього все починається, тому на позицію й розглядають системних
адміністраторів

Я бачив тестувальників автоматизаторіаиі девелоперів.
В деяких компаніях це про пайплайні іине завжди infrustructure

Junior DevOps Engineer — не новачок; він має широкий обсяг знань та навичок.
Часто такими фахівцями називають досвідчених системних адміністраторів, хоча мати такий досвід — необов’язково.

Я бачив роботу справжнього «Junior DevOps Engineer» — коли людина не має досвіду навіть адміністрування якоїсь мережі у гуртожитку. А тепер зрозумійте ось що: клауд — це не домашній комп’ютер і навіть не корпоративна мережа! У клауді УСЕ апріорі лежить в Інтернеті. Де повно зловмисників: від дурних школярів до професійних хакерів. І у клауді треба платити гроші за будь-які дії! Відмінити усе і потім сказати «вибачте — це була помилка» не звільняє від оплати.
Тому перше, що має знати будь-який DevOps — це як закрити доступ і надійно сховати у клауді усі ресурси. Приватні мережі, фаірволи, гейти, роути — усе оце. Як налаштувати секьюріті аби усе зберігалося зашифроване і ніхто з девелоперів не мав прав випадково щось розшарити.
Ціна помилки при роботі з клаудом — величезна!
По-перше якісь мамкіни хакери можуть просто скачати усі матеріали вашого проєкту і викласти їх кудись на торенти. А самі матеріали у клауді — потерти чи зіпсувати (не дивуйтеся потім якщо побачите JOPA у сорсах чи презентаціях). І якщо сорси скоріш за все можна буде відновити з бекапів чи локальних копій — то репутацію від розповсюдження клієнтської власності та порушення NDA — не виправити. Будь який виток інформації з вини команди — і клієнт хлопне дверима!
Інший бізнес — на вашому акаунті піднімуть сотні потужних серверів і будуть майнити криптовалюту. За одну ніч можна отримати рахунок і на $100К і на $10М. А тепер уявіть що це був акаунт, який надав клієнт — і йому прийшов такий рахунок. І «відмінити» вже нічого не вдасться: «спожив ресурси — заплати».
Серед «легких пустощів» існує імовірність що з ваших акаунтів будуть розсилати спам (усім вашим клієнтам та їх працівникам), будуть розсилати віруси (хоча це швидко відстежать вже адміни клауду), будуть намагатися ДДОсити різні сайти (у тому числі державні — що викличе візит «масок»).

«An open mind is like a fortress with its gates unbarred and unguarded.»

Так само Junior DevOps Engineer який керує клаудом за відсутності більш досвідченого ментора — це не адмін, а дірка у безпеці.

Де повно зловмисників: від дурних школярів до професійних хакерів

а від джуніорів до прінсіпалів??

А девопс таке не робить
Адмін робить

Девопс пайплайни пиляє
А джуніор взагалі запускає існуючі пайплайни і темплейти підставляючи вхідні параметри

devops як і sre це нові ппрофессії які створили великі IT компанії, якоби для покращення, але я і багато хто ще розуміють зі свого досвіду, що це більше затикання декількох дірок відразу лише однією людино. Так можливо це типу стереотип, але як вже є.

іміно так, для гугля sre — це оптимізація, для галєрки в україні — зручний спосіб взяти восьмиголового десятирукого шиву на медіану, щоб колупати якийсь дженкінс чи тераформ, затикати діри, і плямкаючи казати «ну ще є куди рости»

Більшість того, що ви описали — ризик будь якої системи, яка має вихід в інтернет. Хакеру абсолютно пофіг, на амазоні ваша віртуалка, яи в коморі на старому відрі. А ці ваші файерволи та роути придумали ще тоді, коли клаудів і в переспективі не було (не даремно, мабуть).
Не знаю, до чого тут мережа гуртожитку, але корпоративну мережу часто набагато важче захистити, ніж той же клауд, в якому всі правила можна перерахувати на пальцях.

Посада DevOps-інженера вимагає сильних hard skills. Потрібно вміти працювати з багатьма різними інструментами та технологіями. Kubernetes, Docker, Ansible, Terraform, Jenkins, Prometheus, Grafana — список можна продовжувати довго.

І яких таких хард скілів? Як встановлювати апки чи писати скріпти щоб ІСНУЮЧИЙ софт/сервіси наконфігати?

П.С. я почав якраз з джуна девопса, доріс до міда і свічнувся в девелопмент.
Тому я прекрасно знаю який рівень хард скілів треба щоб нагуглити як конфігається <встав своє>.

Павло, а чи можете оцінити рівень моїх випускників?
github.com/...​ua/wordpress-cloud-at-k8s

Гіт — той інструмент, з яким працюєш частіше за все. Зверніть увагу на оформлення пул реквестів. Їх тайтли — проблема, яка в продакшн може коштувати декількох днів дебагінгу. На другому рівні папок усе змішано у кучу. Навчіть їх працювати з базовими інструментами так, щоб вони б могли працювати у великих командах.

Дякую!
Приділятиму більше уваги PR щоб було все як в ентерпрайзі — смарт-комміти ітд. Щодо директорій, де все змішано — це було так задумано. Всі випускники працювали з 3 клаудами і вміють деплоїти апки кубернетес на 3 клауди.

уточніть будь-ласка що показує це посилання

цей проєкт створили ваші випускники? Чи даєте це посилання, щоб учні створювали інфраструктуру, поки проходять навчання?

Так, вони це зробили з нуля, на мое ТЗ у процесі навчання

Як практика — виглядає непогано.
Тільки що можна було б покращити, це розділити більш детально конфігурацію terraform на модулі, бо майже все описано в main.tf
Умовно кажучи, на прикладі AWS: окремо модуль VPC, окремо модуль EKS і т.д.

Але і так виглядає супер, плюсую!

Дякую!
Як що треба — могу дати их контакт, як що наймаете.

Звісно, будемо раді розглянути ваших найкращих випускників на наші проєкти та проєкти наших клієнтів
Пропоную додатись в телеграм акаунт @netforce_account , налагодити більш тісне спілкування та передачу контактів найкращих випускників

Сподіваюсь Нетфорс Юкрейн готова листати відповідно за джуніор девопс, що шарить у розробці, усіх клаудах, етіх кубернетісах та ще й вправний сісадмін, та ще й знає SDLC, відстрілює хайлоад, безпеку та конфіденційність, знає GDPR/HIPAA, та ще й вишенька на торті має високі комунікативні навички з інженерами й замовником, та вправно вписується в бюджетні, часові та ресурсні обмеження

Я з усіх колег своїх за етак років 20 можу на пальцях хіба однієї руки перерахувати людей які можуть сісти на такий шпагат

Якщо джуніор має такий скілсет чи ну хоч половину, то він справді далеко не новачок, тут не посперечаєшся :)

Підписатись на коментарі