Ko je DevOps inženjer, čime se bavi, koliko zarađuje i kako to postati

DevOps inženjeri su multidisciplinarni stručnjaci koji znaju kako automatizirati procese i znaju kako rade programeri, QA i menadžeri. Znaju programirati, brzo savladavaju složene alate i nisu na gubitku kada se suoče s nepoznatim zadatkom. Malo je DevOps inženjera - spremni su im platiti 200-300 hiljada rubalja, ali još uvijek ima puno slobodnih radnih mjesta.

Dmitrij Kuzmin objašnjava čime se tačno DevOps bavi i šta je potrebno proučiti da biste se prijavili za takvu poziciju. Bonus: važne veze do knjiga, videa, kanala i profesionalne zajednice.

Šta radi DevOps inženjer?

U DevOps situaciji, važno je ne brkati pojmove. Činjenica je da DevOps nije specifično područje djelovanja, već profesionalna filozofija. To je metodologija koja pomaže programerima, testerima i sistem administratorima da rade brže i efikasnije kroz automatizaciju i besprijekornost.

Shodno tome, DevOps inženjer je specijalista koji implementira ovu metodologiju u radni proces:

  • U fazi planiranja, DevOps inženjer pomaže u odlučivanju koju arhitekturu će aplikacija koristiti, kako će se skalirati i odabrati sistem orkestracije.
  • Zatim postavlja servere, automatiziranu provjeru i upload koda, te provjerava okruženje.
  • Zatim automatizira testiranje i rješava probleme implementacije.
  • Nakon objavljivanja, važno je prikupiti povratne informacije od korisnika i implementirati poboljšanja. DevOps osigurava da korisnici ne primjete ova poboljšanja i da je proces ažuriranja kontinuiran.
  • A u isto vrijeme rješava desetine problema koji pomažu u poboljšanju sistema rada programera, QA, sistem administratora i menadžera.

Sve što je gore napisano dešava se u projektima koji su blizu idealnih. U stvarnom svijetu, morate započeti projekat u kojem je planiranje promašeno, arhitektura je bila pogrešna, a vi ste počeli razmišljati o automatizaciji kada su svi projekti stali. A razumijevanje svih ovih problema, njihovo rješavanje i omogućavanje da sve funkcionira ključna je vještina stručnjaka za DevOps.

Postoji konfuzija na tržištu talenata. Ponekad preduzeće traži DevOps inženjere za poziciju sistemskog inženjera, inženjera izgradnje ili nekog drugog. Obaveze se mijenjaju i u zavisnosti od veličine kompanije i smjera – negdje traže osobu za savjetovanje, negdje se od njih traži da sve automatizuje, a negdje se od njih traži da obavljaju napredne funkcije sistem administratora koji zna programirati.

Šta vam je potrebno za početak u struci

Za ulazak u profesiju potrebna je preliminarna priprema. Nećete moći jednostavno pohađati kurseve od nule, bez razumijevanja bilo čega o IT-u, i učiti do juniorskog nivoa. Potrebna tehnička pozadina:

  • Idealno ako radite šest mjeseci ili više kao sistem administrator, specijalista za operacije ili testiranje. Ili barem imate ideju o tome kako aplikacije počinju, u kojem okruženju se mogu razvijati i što učiniti ako vidite grešku. Ako nemate radnog iskustva, pohađajte bilo koji kurs o administraciji Linuxa, ponavljajući sve što se dešava na vašoj kućnoj mašini.
  • Shvatite kako funkcioniraju mrežne tehnologije - naučite instalirati, konfigurirati i upravljati lokalnim i širokim mrežama.
  • Pogledajte kako i šta programiranje funkcioniše - napišite nekoliko skripti u Python-u ili Go-u, pokušajte da razumete principe OOP-a (Object-Oriented Programming), pročitajte o opštem ciklusu razvoja proizvoda.
  • Poznavanje tehničkog engleskog jezika će biti korisno - nije potrebno komunicirati o slobodnim temama, dovoljno je da možete čitati dokumentaciju i interfejse.

Nije potrebno znati sve detaljno, za početak učenja DevOps-a dovoljan je minimalni nivo obuke. Ako imate takvo tehničko iskustvo, pokušajte se upisati na kurseve.

Šta DevOps treba da zna

Dobar DevOps inženjer je multidisciplinarni specijalista sa veoma širokim pogledom. Da biste uspješno radili, morat ćete razumjeti nekoliko IT oblasti odjednom.

Razvoj

DevOps će napisati skriptu koja će pomoći programerima da instaliraju kod na server. Napraviće program koji testira odzivnost baza podataka „u hodu“. Napisat će aplikaciju za kontrolu verzija. Na kraju, jednostavno uočite potencijalni razvojni problem koji se može pojaviti na serveru.

Snažan DevOps stručnjak zna nekoliko jezika pogodnih za automatizaciju. On ih ne razumije u potpunosti, ali može brzo napisati mali program ili pročitati tuđi kod. Ako se nikada ranije niste susreli sa razvojem, počnite s Pythonom - on ima jednostavnu sintaksu, lako je raditi s cloud tehnologijama, a ima i puno dokumentacije i biblioteka.

OS

Nemoguće je poznavati sve mogućnosti svake verzije svakog sistema - mogli biste potrošiti hiljade sati na takvu obuku i od toga ne bi bilo nikakve koristi. Umesto toga, dobar DevOps razume opšte principe rada na bilo kom OS-u. Iako, sudeći po spominjanjima u slobodnim radnim mjestima, većina sada radi u Linuxu.

Dobar inženjer razumije u kojem sistemu je najbolje implementirati projekat, koje alate koristiti i koje se potencijalne greške mogu pojaviti tokom implementacije ili rada.

Oblaci

Tržište Cloud tehnologije raste u prosjeku za 20-25% godišnje - takva infrastruktura vam omogućava automatizaciju operacija testiranja koda, sastavljanja aplikacija iz komponenti i isporuku ažuriranja korisnicima. Dobar DevOps razumije i potpuno cloud i hibridna rješenja.

Standardni zahtjevi za inženjere obično uključuju GCP, AWS i Azure.

Ovo uključuje poznavanje CI/CD alata. Jenkins se obično koristi za kontinuiranu integraciju, ali analoge vrijedi pokušati. Ima ih mnogo, na primjer Buddy, TeamCity i Gitlab CI. Biće korisno proučiti Terraform - to je deklarativni alat koji vam pomaže da daljinski postavite i konfigurišete infrastrukturu u oblacima. I Packer, koji je potreban za automatsko kreiranje OS slika.

Sistemi orkestracije i mikroservis

Mikroservisna arhitektura ima mnoge prednosti - stabilnost, mogućnost brzog skaliranja, pojednostavljenja i ponovne upotrebe. DevOps razumije kako mikroservis funkcionira i može predvidjeti potencijalne probleme.

Potpuno poznaje Docker i Kubernetes. Razumije kako kontejneri rade, kako izgraditi sistem tako da možete onemogućiti neke od njih bez posljedica za cjelokupni sistem u cjelini. Na primjer, može izgraditi Kubernetes klaster koristeći Ansible

Šta bi još trebalo da pokuša budući DevOps?

Lista alata koji mogu biti korisni za DevOps inženjera je beskrajna. Neki rade na orkestraciji projekta, drugi provode većinu svog vremena automatizujući implementaciju i testiranje, a treći poboljšavaju efikasnost u upravljanju konfiguracijom. U tom procesu će postati jasno gdje kopati i koji projekti će biti korisni.

Evo još jednog malog minimuma koji će vam pomoći na početku:

  • Shvatite kako Git i Github funkcionišu ako već niste. Instalirajte GitLab na vaš server.
  • Upoznajte se sa JSON i YAML jezicima za označavanje.
  • Instalirajte i pokušajte raditi u bazama podataka - ne samo MySQL, već i NoSQL. Probajte MongoDB.
  • Shvatite kako upravljati konfiguracijom više servera odjednom. Na primjer, korištenjem Ansiblea.
  • Odmah postavite praćenje opterećenja i evidenciju. Isprobajte kombinaciju Prometheus, Grafana, Alertmanager.
  • Potražite najbolja rješenja za implementaciju za različite jezike - samo ih trebate upoznati, implementirati i razumjeti na obuci ili radnom projektu.

Zašto biste sada trebali početi učiti DevOps

Na tržištu postoji nedostatak osoblja za DevOps inženjere. To uslovno potvrđuje i količina i kvalitet slobodnih radnih mjesta:

  • U Rusiji, samo na HeadHunteru, za ovu ključnu riječ je stalno dostupno više od 2 hiljade poslova.
  • A samo 1 ljudi objavilo je svoje biografije.

S obzirom da objavljivanje životopisa ne znači aktivno traženje posla, ispada da za jednog stručnjaka postoje dva ili čak tri slobodna radna mjesta - ova situacija ne postoji čak ni na popularnom tržištu web razvoja. Dodajte ovdje još slobodnih radnih mjesta sa Habr i Telegram kanala - nedostatak stručnjaka je ogroman.

Ko je DevOps inženjer, čime se bavi, koliko zarađuje i kako to postati
Obratite pažnju na zahtjeve za platama kandidata

DevOps nije ništa manje tražen u svijetu - ako idete u selidbu u SAD ili Evropu, onda samo na portalu Glassdooru Više od 34 hiljade kompanija traži takve stručnjake. Česti zahtjevi uključuju 1-3 godine iskustva, sposobnost rada sa oblacima i ne plašiti se konsultantskih funkcija.

Mnogo je manje ponuda za freelancing – DevOps inženjeri uglavnom traže osoblje i pozicije sa punim radnim vremenom.

Ko je DevOps inženjer, čime se bavi, koliko zarađuje i kako to postati
Pronaći odgovarajući slobodni projekat je teško, ali je moguće

Konvencionalni put karijere DevOps inženjera može se zamisliti otprilike ovako:

  • Od šest mjeseci do godinu dana radi kao sistem administrator u maloj IT kompaniji. Istovremeno uči jezik pogodan za automatizaciju.
  • Intenzivno uči na kursevima oko šest mjeseci.
  • Prelazi na drugi posao - u kompaniju koja prodaje cloud rješenja, ogranak velike korporacije, programerima velikih projekata. Jednostavno, tamo gdje postoji potreba za stalnom automatizacijom i implementacijom. Na početnoj poziciji je oko 100 hiljada rubalja.
  • Već nekoliko godina aktivno radi i uči, povećavajući svoja primanja nekoliko puta.
  • Postaje stručnjak u profesionalnoj zajednici i prelazi u konsalting. Ili preraste u sistemskog arhitektu ili IT direktora.

DevOps je težak. Morate kombinirati vještine nekoliko profesija odjednom. Postanite osoba koja je spremna ponuditi poboljšanje tamo gdje drugi IT stručnjaci ni ne razmišljaju ni o čemu drugom. Za to plaćaju dosta, ali im je potrebna i velika količina znanja.

Koliko DevOps zarađuju?

Prema podacima za drugi kvartal 2019., prosječna srednja plata za devops je između 90 i 160 hiljada rubalja. Ima jeftinijih ponuda - uglavnom 60-70 hiljada.

Stalno postoje ponude do 200 hiljada, a ima slobodnih radnih mjesta sa platama do 330 hiljada rubalja.

Ko je DevOps inženjer, čime se bavi, koliko zarađuje i kako to postati
Među operativnim profesionalcima, DevOps je plaćen više od ostalih. Izvor: Habr.Career

DevOps inženjeri, uključujući početnike, sada su potrebni u velikim bankama, korporacijama, uslugama u oblaku, sistemima trgovanja i drugim organizacijama koje brinu o održavanju svojih IT rješenja.

Odličan kandidat za juniorsko radno mjesto sa platom od 60–90 hiljada bio bi početni sistem administrator sa oko godinu dana iskustva i specijaliziranom diplomom.
 
Ko je DevOps inženjer, čime se bavi, koliko zarađuje i kako to postati
Takve statistike nema, ali izgleda da su ljudi koji imaju iskustva u Linuxu plaćeniji

Šta gledati i čitati da biste napredovali u svojoj profesiji

Da zaronite u svijet DevOps-a, isprobajte nekoliko izvora informacija:

  • Cloud Native Computing Foundation [YouTube, ENG] - mnogo video zapisa sa konferencija i edukativnih webinara.
  • DevOps kanal [YouTube, RUS] - video izvještaji sa profesionalne DevOps konferencije u Rusiji.
  • Priručnik za DevOps [knjiga, RUS] je jedna od najpopularnijih knjiga o DevOps filozofiji. Knjiga sadrži opća načela metodologije, govori na šta prije svega treba obratiti pažnju pri radu na bilo kojem projektu.
  • Thomas Limoncelli "Praksa administracije sistema i mreže" [knjiga, RUS] - mnogo teorija i principa o tome kako treba strukturirati sistemsku administraciju.
  • Devops Weekly [knjiga, ENG] - sedmični pregled vijesti o tome šta se dešava u DevOps-u širom svijeta.
  • Devops_deflope [Telegram, RUS] - vijesti iz industrije, najave konferencija, linkovi na nove zanimljive članke i knjige.
  • Devops_en [Telegram, RUS] - chat na ruskom jeziku gdje možete tražiti savjet i pomoć oko konfiguracija.
  • Devops.com je velika međunarodna stranica sa člancima, webinarima, podcastima i kolumnama najvećih kompanija u industriji.
  • Hangops_Ru — Zajednica DevOps inženjera i simpatizera koja govori ruski.
  • Najbolje knjige za jezik koji ćete koristiti za razvoj.

Gdje studirati DevOps

Strukturirano znanje možete dobiti na kursu “DevOps inženjer" u Netologiji. Naučit ćete cijeli ciklus metodologije:

  • Naučite kako analizirati kod i brzo koristiti alate za kontrolu verzija.
  • Shvatite najbolje prakse za kontinuiranu integraciju, testiranje i izgradnju.
  • Naučite upravljati i automatizirati promjene aplikacija.
  • Upoznajte se s alatima za konfiguraciju i upravljanje.
  • Naviknite se da odmah odaberete i konfigurišete potrebne servise za praćenje.

Uzmite Python kurs programiranja kao bonus - rješavat ćete probleme još brže i lakše. Sve je praktično - koristimo AWS, GCP ili Azure.
Ovo je dovoljno da inženjera početnika ili sistem administratora pretvorite u traženog DevOpsa i ugodno podignete svoju cijenu na tržištu rada.

Ko je DevOps inženjer, čime se bavi, koliko zarađuje i kako to postati

izvor: www.habr.com

Dodajte komentar