Prieš kokius penkerius metus žodis „DevOps” Lietuvos IT rinkoje skambėjo egzotiškai – kažkur tarp administratoriaus ir programuotojo, niekas tiksliai nežinojo, kur tas žmogus priklauso organizacinėje schemoje. Šiandien situacija visai kita: DevOps inžinieriai yra vieni geriausiai apmokamų specialistų, o skelbimų su šiuo pavadinimu portaluose – devynios galybės. Tik problema ta, kad kelias į šią profesiją retai kada būna tiesus. Dažniausiai tai vingiuotas takas per sistemų administravimą, programavimą ar net testavimą.
Kas iš tikrųjų yra tas DevOps
Pradėkime nuo to, kad DevOps nėra pareigybė vien tik popieriuje – tai visų pirma filosofija, kaip kūrimo (Development) ir eksploatavimo (Operations) komandos turėtų dirbti kartu, o ne mėtytis darbu per sieną. Prieš dešimtmetį programuotojas parašydavo kodą, permesdavo jį administratoriui, ir jei kas sugesdavo produkcijoje – kaltas visada būdavo tas kitas. DevOps kultūra šitą sieną griauna.
Praktikoje tai reiškia, kad žmogus, dirbantis šioje srityje, turi suprasti abu pasaulius. Jis rašo kodą (dažniausiai automatizacijai, ne funkcionalumui), bet taip pat žino, kaip veikia serveriai, tinklai, konteineriai. Iš esmės – tai tiltas tarp dviejų komandų, tik dabar tas tiltas tapo atskira, gerai apmokama specializacija.
Svarbu suprasti ir tai, kad DevOps skiriasi nuo įmonės prie įmonės. Vienoje kompanijoje tu būsi atsakingas beveik vien už CI/CD konvejerius, kitoje – už visą debesijos infrastruktūrą, trečioje reikės ir su Kubernetes tvarkytis, ir su saugumo klausimais. Tad kai skaitai skelbimą „ieškome DevOps inžinieriaus”, verta iškart pasidomėti, ką realiai tas darbas apima – vardai gali sutapti, o turinys skirtis kardinaliai.
Nuo ko pradėti, jei ateini iš nulio
Čia turbūt dažniausiai užduodamas klausimas – kaip patekti į šią sritį, jei neturi patirties nei kaip administratorius, nei kaip programuotojas. Atsakymas nemalonus: tiesioginio kelio praktiškai nėra. Beveik visi, su kuriais teko kalbėtis šia tema, atėjo iš gretimų sričių.
Vienas populiariausių maršrutų – per sistemų administravimą. Jei jau tvarkaisi su Linux serveriais, supranti tinklų pagrindus, žinai, kaip veikia DNS ar užkardos, tau reikia tiesiog pridėti automatizacijos ir kodo rašymo įgūdžius. Kitas kelias – iš programavimo pusės. Jei rašai kodą, bet tave labiau traukia infrastruktūra nei verslo logika, DevOps gali būti natūrali evoliucija.
Yra ir trečias variantas – pradėti visai nuo nulio, be jokio IT background’o. Tai sunkiausias kelias, bet ne neįmanomas. Šiuo atveju rekomenduočiau pirmiausia išmokti Linux operacinę sistemą – ne paviršutiniškai, o iš tikrųjų suprasti failų sistemą, procesus, teises, tinklo konfigūraciją. Be to jokios kitos žinios neturės pagrindo, ant kurio statyti.
Praktinis patarimas: nepirk iškart brangaus kurso. Pirmus tris mėnesius praleisk mokydamasis nemokamai – YouTube, dokumentacija, savo namų serveris (net Raspberry Pi tam puikiai tinka). Jei po šio laiko vis dar jautiesi motyvuotas, tada jau galima investuoti į struktūruotesnį mokymąsi.
Įrankiai, kuriuos tikrai reikia mokėti
DevOps ekosistema yra milžiniška ir nuolat besikeičianti, tad lengva pasiklysti tarp šimtų technologijų pavadinimų. Bet jei reikėtų sudaryti minimalų sąrašą, be kurio šiandien niekur nepajudėsi, jis atrodytų maždaug taip:
- Git – versijų kontrolė yra tokia savaime suprantama, kad daugelis pamiršta ją net paminėti, bet be jos niekur
- Docker – konteinerizacija tapo pramonės standartu, ir nesvarbu, ar dirbi su mažu startuoliu, ar didele korporacija
- Kubernetes – jei Docker yra konteineris, tai Kubernetes yra sistema, kuri tuos konteinerius valdo dideliu mastu. Sunkiau mokytis, bet paklausa milžiniška
- Terraform arba panašus IaC (Infrastructure as Code) įrankis – infrastruktūros kūrimas per kodą, ne per pelės paspaudimus
- CI/CD platformos – Jenkins, GitLab CI, GitHub Actions. Bent viena iš jų turėtų būti tavo darbo įrankių dėžėje
- Debesijos paslaugos – AWS, Azure arba Google Cloud. Rinkoje dominuoja AWS, tad jei renkiesi vieną, pradėk nuo jo
Prie viso to reikėtų pridėti bent vieną scenarijų kalbą – Python ar Bash yra klasika, kurios išvengti neišeis. Ir dar viena detalė, kurią daugelis pradedančiųjų praleidžia – monitoringo įrankiai. Prometheus, Grafana – jei sistema veikia, bet niekas nežino, kaip ji veikia realiu laiku, tai pusė darbo neatlikta.
Sertifikatai – ar verta leisti pinigus
Šis klausimas keliskart per metus sukelia karštas diskusijas įvairiuose forumuose ir LinkedIn komentaruose. Tiesa, kaip visada, yra kažkur per vidurį. Sertifikatas pats savaime darbo negarantuoja, bet gali atidaryti duris, ypač jei neturi darbo patirties, į kurią darbdavys galėtų atsiremti.
AWS sertifikatai (ypač Solutions Architect Associate ar SysOps Administrator) yra gana gerai vertinami rinkoje ir daugelyje skelbimų minimi kaip privalumas. Kubernetes bendruomenės CKA (Certified Kubernetes Administrator) sertifikatas irgi turi svorio, ypač jei taikaisi į pozicijas, kur Kubernetes yra pagrindinė technologija.
Bet čia yra vienas dalykas, kurį verta žinoti – sertifikatas be praktinių žinių yra tik popierius. Teko girdėti istorijų, kai žmonės turėjo tris keturis sertifikatus, bet interviu metu negalėjo paaiškinti paprasčiausio dalyko, nes viską išmoko atmintinai, testų pratybų sistema. Darbdaviai tai jaučia per pirmas penkias minutes. Tad jei renkiesi sertifikavimo kelią, tegul jis eina kartu su praktika – kurk realius projektus, ne tik ruoškis testui.
Atlyginimai ir realybė Lietuvos rinkoje
Neapsimetinėkime – didelė dalis susidomėjimo šia profesija kyla būtent dėl atlyginimų. Ir čia tiesa yra tokia: DevOps inžinieriai Lietuvoje uždirba vieną iš aukščiausių atlyginimų IT sektoriuje, dažnai lenkdami net backend programuotojus panašaus patirties lygio.
Junior lygio DevOps specialistas (jei toks apskritai egzistuoja rinkoje, nes dažniau į šią poziciją imami žmonės su bent kokia technine patirtimi) gali tikėtis maždaug 1800-2500 eurų neatskaičius mokesčių. Middle lygyje skaičiai jau šoka į 3000-4500 eurų diapazoną, o senior specialistai, ypač turintys patirties su dideliais debesijos projektais ar Kubernetes klasteriais, gali uždirbti 5000 eurų ir daugiau.
Bet čia svarbu suprasti vieną niuansą – „junior DevOps” iš tikrųjų yra gana retas reiškinys. Dauguma įmonių tikisi, kad žmogus, ateinantis į šią poziciją, jau turi bent 1-2 metų patirties administravimo ar programavimo srityje. Tad realus kelias dažniausiai atrodo taip: pirmiausia įsidarbini į sistemų administratoriaus ar junior programuotojo poziciją, po metų-dviejų pradedi prisiimti daugiau automatizacijos užduočių, ir tik tada natūraliai pereini į DevOps rolę.
Dažniausios klaidos, kurias daro pradedantieji
Pastebėjau kelis pasikartojančius scenarijus, kurie žmonėms trukdo įsilieti į šią sritį greičiau ir sklandžiau.
Pirma klaida – bandymas išmokti viską vienu metu. DevOps ekosistema tokia didelė, kad jei bandysi vienu metu gilintis į Kubernetes, Terraform, Ansible, tris skirtingas debesijos platformas ir dar penkis CI/CD įrankius, tiesiog pasiklysi ir po pusmečio nežinosi nieko giliai. Geriau pasirinkti vieną debesijos platformą, vieną konteinerizacijos technologiją ir gilintis, o ne plisti į visas puses.
Antra klaida – teorija be praktikos. Galima perskaityti dešimt knygų apie Docker, bet jei niekada nepaleidai konteinerio savo kompiuteryje, žinios liks paviršutiniškos. Šioje srityje praktinė patirtis sveria daug daugiau nei teorinės žinios, tad kiekvieną naują technologiją reikia iškart bandyti realiame projekte, kad ir mažame.
Trečia klaida – saugumo ignoravimas. Daugelis pradedančiųjų sutelkia dėmesį vien į automatizaciją ir infrastruktūrą, pamiršdami, kad DevOps darbo dalis – ir saugumo klausimai. Šiandien net atsiranda atskiras terminas DevSecOps, pabrėžiantis, kad saugumas turi būti integruotas nuo pat pradžios, ne pridėtas paskutinę minutę.
Ketvirta – bendravimo įgūdžių nuvertinimas. Kadangi darbas techninis, lengva pamanyti, kad užtenka gerai išmanyti technologijas. Bet DevOps rolė iš prigimties reikalauja bendrauti su skirtingomis komandomis – programuotojais, testuotojais, vadovais. Jei nemoki paprastai paaiškinti, kodėl kažkas neveikia arba kodėl reikia pakeisti procesą, kilsi karjeros laiptais lėčiau, nesvarbu, kokie techniniai gebėjimai bebūtų.
Kelrodė žvaigždė vietoj žemėlapio
Jei reikėtų viską sudėlioti į vieną praktinę rekomendaciją, ji skambėtų taip: nesitikėk aiškaus žemėlapio, nes jo tiesiog nėra. DevOps karjera – tai daugiau kelrodė žvaigždė, į kurią eini skirtingais keliais, priklausomai nuo to, iš kur startuoji. Vieni ateina iš administravimo, kiti iš programavimo, treti – net iš QA testavimo srities. Svarbiausia ne tai, iš kur pradedi, o kryptis, kuria judi.
Konkrečiai – jei šiandien nuspręstum rimtai imtis šios srities, pirmas žingsnis būtų susikurti namų laboratoriją. Nereikia brangios įrangos – pakanka virtualios mašinos ar net nemokamo debesijos paskyros lygio. Įdiek Linux, pasistatyk paprastą aplikaciją, sukonteinerink ją su Docker, paleisk per paprastą CI/CD konvejerį. Kai tai padarysi kartą, padaryk dar kartą, tik sudėtingiau. Tada dar kartą.
Antras žingsnis – rasti bendruomenę. DevOps specialistai Lietuvoje ir kaimyninėse šalyse dažnai dalinasi žiniomis per Meetup renginius, Slack grupes ar LinkedIn diskusijas. Mokymasis vienatvėje visada lėtesnis nei mokymasis su žmonėmis, kurie jau perėjo tą patį kelią.
Ir galiausiai – nebijok pradėti iš mažesnės pozicijos, jei ji atveria kelią link tikslo. Sistemų administratoriaus vieta mažoje įmonėje, kur reikės pačiam viską automatizuoti, dažnai duos daugiau realių žinių nei metai teorinio mokymosi. Šioje srityje patirtis visada kalba garsiau nei diplomas ar sertifikatų kolekcija – tad renkis kelią, kuriame galėsi kuo greičiau pradėti daryti, o ne tik skaityti apie darymą.






