Марія БровінськаРобота
18 березня 2024, 12:57
2024-03-18
Хто такий DevOps-фахівець та як ним стати? Огляд професії від Senior DevOps Райфа Сергія Соколова
Продовжуємо цикл матеріалів про ІТ-спеціальності. Кожну описує «типовий представник» — досвідчений фахівець і просто авторитетний колега, та сама людина, яка знає всі таємні куточки своєї професії. Ми сподіваємося, ці матеріали допоможуть школярам, студентам, перекваліфікантам, студентам і всім тим, хто зацікавлений у виборі ІТ-спеціальності. Цикл не тільки допоможе оцінити перспективи, а й дасть можливість краще зрозуміти індустрію й особливості професії зсередини.
Сьогодні про особливості роботи DevOps-фахівця в банківському секторі розповідає Сергій Соколов, Senior DevOps Engineer у Райффайзен Банку.
DevOps-інженер ― це людина яка допомагає впроваджувати DevOps підхід до розробки програмного забезпечення, який ставить своєю метою покращення співпраці між командами розробки та підтримки у процесі життєвого циклу розробки програмного забезпечення. Якщо дуже коротко, то DevOps-спеціалісти автоматизують різні етапи.
DevOps-інженери допомагають у дуже багатьох зонах:
Розробка та впровадження CI/CD моделі. Вона допомагає автоматизувати цей процес, зробити його швидким та надійним.
DevOps відповідає за розгортання та підтримку інфраструктури, робить цей процес знову ж таки автоматизованим, щоб прискорювати розгортання продукту
Програмне забезпечення має бути під постійним моніторингом, а логи які воно генерує мають збиратися та аналізуватися. То ж це ще одна зона відповідальності
Інша дуже важлива частина це безпека. І DevOps має брати на себе відповідальність за забезпечення безпеки починаючи із моменту розробки та аж до моменту експлуатації.
Яка роль DevOps в розробці продукту
Насамперед ключова роль DevOps-фахівця ― побудова спів відносин між різними командами. І кількість команд, між якими треба побудувати мости, дуже різниться залежно від проєкту. Коли це стартап, то зазвичай там буде просто команда розробки та хтось відповідальний за усе інше. Але чим більшим стає продукт, тим більше зʼявляється різних команд. І далі зʼявляється такий собі hub-and-spoke ― DevOps-команда, яка має взаємодіяти із командами розробки, безпеки, інфраструктури, фінансовою командою, тестувальниками, командами, які займаються логами та моніторингом. І, звісно ж, головне завдання ― сконектити усі ці підрозділи так, що робота була максимально ефективною.
Тут за рахунок знань у різних спектрах інженер одразу може вказати на якісь вузькі місця у майбутньому продукті, або помітити, якщо щось не відповідає глобальним планам компанії. Наприклад, було прийняте рішення що усі продукти компанії мають працювати у Kubernetes, а команда закладає у планах деплой на звичайні віртуальні машини.
Також, дивлячись на те, що будується, DevOps може порадити певні кроки, які допоможуть бути більш ефективними з погляду витрат.
Якими якостями має бути наділений DevOps
Оскільки DevOps ― свого роду комунікаційник між технічними командами, серед ключових якостей людини цього фаху мають бути:
комунікативні звички ― уміння знаходити підходи до різних людей;
командна робота ― DevOps має працювати з різними командами, і треба постійно знаходити шляхи до розв’язання різних питань найбільше ефективно. Зокрема, DevOps має розуміти, як обʼєднати зусилля декількох команд в межах одного спринта.
уміння думати на кілька кроків вперед ― розуміти, як твоє рішення сьогодні може вплинути на весь продукт через рік або два.
навичка підбору потрібних інструментів та підходів для розв’язання задач ― коли приймається якесь рішення, спочатку слід дбати про потреби компанії, а не про власні амбіції.
навички антикризового менеджменту ― DevOps постійно стикається з якимось проблемами, і їх треба постійно вирішувати, а не заплющувати очі з надією, що далі усе буде гаразд. Не треба їх боятися, чим більше проблем ти вирішив, тим менше їх не стало, але ти як фахівець отримав новий досвід, який допоможе легше розв’язувати наступні проблеми, або знати, як не створити їх собі.
адаптивність до нових технологій ― світ ІТ дуже швидко змінюється, змінюються інструменти, їх функціонал.
Скільки платять DevOps-фахівцям
Ще кілька років тому DevOps-фахівці вважалися чи не найбільш високооплачуваними айтівцями. Нині ж набирає обертів Data-напрямок.
Винагорода DevOps-фахівця, як і будь-якого іншого айтівця, навіть в межах одного рівня може бути дуже різною. Дуже залежить від того, на кого ти працюєш, як ти зміг себе продати, наскільки той компанії вже пекло, щоб отримати спеціаліста.
Як проходить робочий день DevOps-фахівця
Я починаю свій день із перевірки пошти. Далі йду у Teams та читаю усі канали, де я є. Починаю із приватних, і даю відповіді, де можу, відразу, або відмічаю якісь повідомлення, щоб повернутися пізніше ― коли закінчу із простими питаннями. Після цього обовʼязково читаю усі канали де я є, щоб зрозуміти, що відбувалось або відбувається протягом того часу, який я пропустив, і мати більше контексту впродовж дня. Зазвичай на це йде близько 30 хвилин.
Потім я перевіряю календар та починаю працювати над своїми задачами. Завдяки тому, що я стартую о 6.30 у мене завжди є 2-3 години, коли мене ніхто не турбує, і, я б сказав, що ці три години дають максимальний результат.
Далі в нас Daily call — звичайна SCRUM церемонія. Впродовж дня періодично є різні ad-hoc дзвінки та чати, якщо комусь необхідна допомога або консультація. Тут треба вміти правильно аналізувати вхідні дані, бо десь можна і без дзвінка одразу сказати розробнику: роби задачу, а потім там вирішимо. А десь можна зразу розв’язати питання. Я намагаюсь кожні пів години робити паузу у листуванні та дзвінках і фокусуватися на задачі, інакше виходить дуже рваний режим роботи.
Робочий день може відрізнятися від того, на якому ти проєкті, який в тебе менеджмент. Але у загальному випадку у моєму досвіді цей робочий день завжди однаковий, різниця у ночах та вихідних. Були часи, коли я був он-кол цілодобово, навіть у відпустці дзвонили
Хто може стати DevOps-фахівцем
DevOps-спеціалістом, на моєму досвіді, усі стають з нуля. Не існує людини, яка народилась вже вміючи дебажити, чому пода не запускається у кубернетесі.
Мені здається, що саме зараз, у ці складні часи в Україні і у світі загалом, з нуля дуже важко отримати першу роботу. Компанії не хочуть вкладатися у навчання, бо це дуже дорого. Тому, мабуть, поки що світчинг ― найпростіший варант опанувати цю роботу.
Кому найлегше це зробити? Мені здається, однаково, чи Ops інженер, чи адмін, чи розробник. Те, ким ти був, допоможе краще закривати ці самі напрямки як DevOps, але інші зони все одно треба буде вчити. Але якщо брати мою персональну думку, то легше це робити сисадмінам.
Що повинен знати й вміти DevOps
Простіше було б відповісти на питання «Що може не знати DevOps?». І, мабуть, на різних рівнях, від інтерна до техліда будуть дуже різні вимоги. На початковому етапі треба щонайменше знати, як працювати з операційними системами, навіщо нам необхідна автоматизація, що є таке CI/CD. Мабуть, непогано було б мати знання про клауд, докер та кубернетес, розуміти, що то за графіки на моніторингу, та читати логи. Навіть не просто читати, а розуміти їх. А ось чим далі, тим складніше. Іноді здається, що ти просто маєш знати усе. А якщо щось не знаєш, то вміти швидко знайти інформацію та використати її.
Для прикладу розповім про свої поточні завдання. Зараз ми плануємо створити деякі ресурси в новому клауді. І я, як DevOps-інженер, допомогав розібратися як нам це зробити найкраще. Моя головна задача, це зробити IaC для всього що ми там будемо створювати. У паралелі я співпрацював з безпекою для того, щоб правильно створити доступи, описати їх та конфігурувати. З іншого боку, співпрацював з мережевою командою, щоб допомогти зрозуміти їх потреби, і підготувати terraform модулі які вони будуть використовувати у подальшій роботі. Ще одна задача ― робота з командою управління базами даних. Я начебто працюю тільки з Terraform і тільки з Cloud, але насправді постійно маю лабіринт з різних задач.
Де вчитися на DevOps
Кілька років тому я дивився декілька напрямків у Національному університеті «Львівська політехніка», і там хоч і не було нічого конкретно для DevOps, але програми навчання на різних напрямках чіпали різні теми, у тому числі й мережі, і операційні системи, і клауди. Тому, я думаю, можна дивитися в ту сторону.
З іншого боку, зараз є дуже багато курсів від різних академій та IT-компаній. На жаль, я не впевнений, що вони дають достатній рівень знань, щоб отримати початкову роботу, тому що неможливо опанувати у хоч якомусь мінімально необхідному рівні стільки різних шарів ІТ.
По курсах мені найбільше подобаються курси підготовки до AWS сертифікації від Adrian Cantril. Він дуже просто пояснює багато базових речей, тому я вважаю, що той, хто подивився його курси для себе і пройшов декілька сертифікацій по Амазону, вже матиме доволі непогані початкові знання.
Що читати DevOps-фахівцям
Я можу назвати ті книги, які найбільше впливають на мою роботу.
TCP/IP Illustrated, Volume 1: The Protocols by W. Richard Stevens
The Phoenix Project Gene Kim
The DevOps Handbook by Gene Kim
Site Reliability Engineering by Google
Чи є кар’єрні перспективи у DevOps-фахівців
Часто ми жартуємо про те, що DevOps ― це як ремонт, ніколи не закінчується. Тобто оптимізацію і комунікацію, яку ведедуть DevOps-фахівці, не можна закінчити, можна тільки зупинити. Таски будуть завжди, тому нам є, чим займатися.
Якщо ж DevOps раптом набридне, то можна розвиватися як горизонтально, змінюючи стеки технологій, так і вертикально, йдучи у менеджмент.
Хочете доєднатися до зіркової DevOps-команди? Подавайтеся!
Мануал для джуна. Що треба знати початківцю в DevOps: 30 запитань і поради досвідченого ліда
Джунів, які шукають роботу, проходять купу співбесід та отримують відмови замість оферів, під час війни побільшало. А все тому, що до співбесід необхідно ретельно готуватися. dev.ua розпочинає серію матеріалів про те, що треба знати джунам для проходження співбесіди й отримання омріяного оферу від першого роботодавця. Ельдар Алієв, Lead DevOps Engineer у SoftServe, розповідає, що треба знати, щоб отримати перший офер DevOps і дає поради джунам від досвідченого сіньйора.
Мрієш стати DevOps і заробляти, як вони? 11 курсів DevOps, які допоможуть розібратися в темі та прокачати скіли вже працюючим фахівцям
Ще недавно DevOps уславився найоплачуванішим фахівцем на IT-ринку. Тому освоїти цю професію мріє чи не кожен розробник. Розібратися в тому, що таке DevOps-підхід або просто вдосконалити свої навички допоможе список курсів, підготовлений Digitaldefynd і доповнений dev.ua.
Як продати себе за $15 000. Поради від DevOps, що отримав максимальну ставку на Djinni
Нещодавно на Djinni було пробито «стелю» суми найму — Lead DevOps Engineer погодився на офер у $15 000. Він анонімно розповів DOU про свій кар’єрний шлях, «пізнє дозрівання» у кар’єрі девопса та дав поради щодо того, як отримати високий заробіток. Ми обрали найцікавіше.
Заханти мене, якщо зможеш. Які IT-фахівці наразі в супер-дефіциті: ТОП вакансій від найбільших роботодавців
LinkedIn рясніє сотнями вакансій для айтішників, IT-рекрутери раз у раз намагаються схантити хороших фахівців, а фахівці неквапливо вибирають роботодавця. На DOU опубліковано вдвічі більше вакансій, ніж рік тому, а djinni наповнюється все новими й новими позиціями. Ринок IT сильно перегрітий, і сьогодні склалася парадоксальна ситуація, при якій на одного претендента припадає десяток рекрутерів.
Деяких фахівців найняти особливо складно. dev.ua розпитав топових українських IT-роботодавців про те, яких фахівців їм найняти найскладніше і чому.