Czołem, tak jak w temacie. Zauwazyliscie tez ze wszelkiej masci Devops/Cloud Engineerowie zarabiają dużo więcej niż programiści? Nie wiem czy to jest spowodowane tym że Devopsów w teamie jest mniej czy tego gówna nikt nie chce ruszać. Ciekawi mnie to ze względu na to że IMO same stanowisko Devopsa jest troche bezsensu z racji tego że to kultura i programiści powinni potrafić w jakimś stopniu to robić( i często w ogłoszeniach wymagana jest znajomość dockera,k8s itp). Dlatego ta korelacja między ich zarobkami a tym co robią mnie dziwi.
programiści powinni potrafić w jakimś stopniu to robić( i często w ogłoszeniach wymagana jest znajomość dockera,k8s itp)
Ale wiesz ze to się właśnie nazywa devops
? xD To jest książkowa definicja xD
Najwięcej to zarabiają programiści, którzy znają się na chmurach, automatyzacji i systemach rozproszonych. Nie nazwałbym tego gównem.
A pozycja DevOps to tylko rezultat tego jak wolno rozwijają się niektórzy, żeby nie powiedzieć większość osób w branży.
A gdy już coś robią to zwykle te same antywzorce tyle, że w Kotlinie :)
lapex napisał(a):
Czołem, tak jak w temacie. Zauwazyliscie tez ze wszelkiej masci Devops/Cloud Engineerowie zarabiają dużo więcej niż programiści?
Dużo więcej czyli ile?
Dlatego ta korelacja między ich zarobkami a tym co robią mnie dziwi.
Prawdopodobnie chodzi o to, że taki cloud engineer (taka nazwa stanowiska ma ogromny sens w przeciwieństwie do "devopsa") jest w stanie posprzątać syf stworzony przez korzystających z chmury programistów, którzy niekoniecznie wiedzieli, co robią, a w konsekwencji przynieść znaczne oszczędności dzięki optymalizacji wykorzystania chmury.
Bardzo dobrze zauważyłeś, że DevOps to jest kultura pracy, pewna metodyka i każdy powinien to znać. W praktyce wygląda to jednak tak, że masz programistów, którzy piszą crudy. Kiedy jesteś coraz lepszy to zaczynasz pisać testy do swojego kodu. Później widząc, że blokuje cię infrastruktura próbujesz tworzyć całe CI/CD dla twojego oprogramowania i zauważasz problemy związane z utrzymaniem projektu i migracją systemu na nowsze wersje. Te ostatnie czynności w DevOps są symbolizowane przez "operations". W branży zwykło się myśleć, że operations to jest wyższy stopień wtajemniczenia bo rozumujesz już na poziomie projektów, a nie na poziomie implementacji feature'ów. W związku z tym zarabiasz większe pieniądze.
Co ciekawe w branży pojawiają się pozycje Junior DevOps co dla mnie już jest kompletnie niezrozumiałe. Bo jak niby można dobrze robić operations nie będąc wcześniej na poziomie seniora w Development. Przecież migracja bazy danych z jednej na drugą to jest wiedza, którą nabywa się głównie przez praktykę w programowaniu, a dzisiejsze narzędzia tylko upraszczają te czynności.
W każdym razie w klasycznym ujęciu DevOps jest kimś kto jest zaawansowany w Development oraz w Operations. W tym wszystkim są jeszcze wspomniani wyżej ludzie, którzy dawniej byli na pozycjach System Operations lub System Administrator. Dawniej System Administrator sprawdzał czy VPS stoi, czy nie trzeba zrestartować serwera. Teraz, ci ludzie wskakując na pozycje DevOps często wykazują się brakami w wiedzy z Development, ale ktoś może tego nie zweryfikować dostatecznie szybko i dlatego dostają wyższe pensje niż programiści.
Programiści nie muszą znać się na serwerach, to nie jest ich działka, jesli ktoś chce się rozwijać bardziej w serwer to ok ale wcle gorszy nie jest ten co woli rozwijać się tylko w kodowaniu. Ja np nie mam zamiaru mieć wiedzy na temat zabezpieczeń serwera itp Za dużo innych informacji musze znać by jeszcze o tym pamiętać a i tak bym coś pominął. No i nie ma co ukrywać, że dużo korzystniej wychodzi mi zapłacić adminowi/devopsowi co się na tym zna i siedzi na co dzień niż samemu się z tym męczyć.
Tak - DevOps to metodyka pracy, która poprzez różne wypaczenia i marketing stała się nazwą stanowiska. Trudno, mi (jako DevOps-owi z tytułu) po wielu bolesnych ideologicznych bojach przestało to przeszkadzać. DevOps = Cloud Engineer = System Administrator = Site Reliability Engineer = cokolwiek rekruterowi na język ślina przyniesie. To wszystko jedno i to samo (upraszczając).
Czy zarabiają więcej niż programiści? Jeśli masz jakieś dane, to chętnie zobaczę, sam nie jestem pewien. Natomiast jeśli faktycznie tak, no to wpływałyby na to spora ilość technologii i narzędzi do opanowania, czasem trochę stres i odpowiedzialność za całokształt.
Co do wymagań znajomości Dockera i k8s przez deweloperów kodu - wg mnie to totalna bzdura powielana przez HR-y, z mojego doświadczenia wszystko co dev musi wiedzieć, to jak napisać Dockerfile (zwykle nigdy nie zmieniane), jak zczytywać propertiesy, jak gadać z innymi serwisami i ew. gdzie wystawić healthchecki/metryki, plus pewnie parę rzeczy o których teraz nie pamiętam. To jest 1 strona na wiki :)
To co tu napiszę, to moja obserwacja mojej kariery, rekrutacji zdalnych, wnioski kilku znajomych pracujących zdalnie + obserwacje wątku "ile zarabiacie" tutaj na forum.
Według mnie, ciężko być developerem lub devopsem (zależny na co się aplikuje), bez znajomości obu działek (często i nieubłagalnie się zazębiają). Otóż np. pracując zdalnie, asynchronicznie, dla zagranicznych firm, dostaje się coś do zrobienia i jeśli firma ma dajmy na to infrę w AWS (czy tam Azure czy GCP) w jakimś k8s/swarmie/mesos czy innym takim potworku, no generalnie całą pajęczynę mikroserwisów i różnych systemów, to sprawy się obecnie komplikują dla stanowisk typu "tylko-programista" czy "tylko-sysadmin".
W firmach zagranicznych które płacą np. >30k , trzeba umieć swoją apkę "wsadzić" w infre firmową (zazwyczaj docker + minimum instancje w cloud, więc wita terraform lub coś ala cf, ale ostatnio bez tworów k8s/swarm to ani rusz o zgrozo), w CI/CD, w monitoring itp. Do tego wiedza z zakresu sysadminowania, chmury, sieci i całej reszty, podstawowa raczej musi być. Czasem trzeba wręcz taką infrę zbudować od podstaw, jeśli nie ma dedykowanego teamu devops (a zdarza się). Np. ja osobiście nie wyobrażam sobie, przykładowo w swoim teamie kogoś, kto twierdzi przykładowo przecież u lokalnie się kompiluje, co mnie to obchodzi, że to nie działa na naszym środowisku testowym w AWS
. W biurowych korpo się to zdarzało, zdalnie takich kwiatków już nie spotykam. W ogłoszeniach o pracę (zdalnych to na pewno) zauważam, że zaczynają "umierać" stanowiska czysto programistyczne lub czysto devopsowo-sysadminowe. Nie wiem czy to jakiś kryzys branżowy, bootcampy, juniorzy, ale nie zalecałbym nikomu, komu dobrze życzę, np. skupić się tylko na programowaniu i olać infrę + sprawy OSa, na którym docelowo jego aplikacja będzie działać. Po prostu bariera wejścia idzie do góry.
No i znajomi programiści, którzy dobrze zarabiają zdalnie, może nie mają certyfikatów AWSowych, ale ogórnie parę usług np. AWSa ogarniają jako-tako z odpowiednimi toolami, więc nie znam nikogo, kto jest developerem i jest w tych sprawach "zielony"
Odnośnie stanowisk czysto devops/sre/cloud engineer, to z moich obserwacji, programowania jest tam multum jak chodzi o samą infrę (python, bash, go, ruby a nawet perl się trafia). Czasem wręcz na takich stanowiskach jest więcej programowania niż na developerskich w tej samej firmie. Więc to jest taki programista-sysadmin-sieciowiec, więc nie dziw bierze, że może sporo zarabiać.
Odpowiadając na pytanie z wątku: devopsi
nie są potrzebni, ale "ktoś to robić musi" w dobie clouda. Wszystko rzecz jasna zależy od konkretnej firmy, ale np. jak widzę podejście firm 100% remote, to developer, który devopsowych spraw minimalnie nie ogarnia lub devops, który nie programuje, cytując pewnego znanego klasyka, niemal z automatu obcina sobie zarobki (pomijając jakieś superspecjalizacje, typu HFT, superspece od tuningu baz danych, jakieś nisze w datascience, etc).
Zresztą, prawdopodobnie podobna historia dotyczy fullstacków, pół biedy jak chodzi o takiego od node/js, bo jak widzę ogłoszenia o pracę zdalną, to pojawiają się już ogłoszenia na fullstacki np. go/java na backendzie, i vue/react na frontendzie (wszystko mus + oczywiście cloud). To chyba jest jednak pikuś, bo ostatnio widziałem coś takiego devops fullstack db developer
.
I przypominam, że to tylko moja obserwacja, więc jak ktoś jest "zwykłym" programistą, który troszczy się wyłącznie o to, czy mu się jego twórczość lokalnie się kompiluje i reszta go nie obchodzi, a zarabia >30K, to gratuluję, ale radzę śledzić trendy na rynku tak na przyszłość.
@TurkucPodjadek: bo to idzie chyba w takim kierunku ze przez deva bedzie sie rozumiec osobe ktora jest developerem i do tego ogarnia na jakims srednim poziomie rzeczy zwiazane z Devopsami. A taki bardzo dobrze ogarniajacy Devops to bedzie SRE :)
Niezależnie od rynkowej definicji określiłbym współczesnego "devopsa" jako osobę, która głównie zajmuje się administracją (dodaj/usuń serwer/sieć/usługę/usera), ale umie też czasami coś zakodować w ww. językach (Bash, Python, Perl) w celu zintegrowania usług.
Jeśli firma celuje w wiele platform (jakieś hybrydowe cloudy np) to taki "devops" musi mieć łeb jak sklep, bo oprócz administracji, kodowania może mieć w obowiązkach dopilnowanie bezpieczeństwa, monitoring, optymalizację środowisk i dostępność 24/7.
Mnie wyższa kasa na takich stanowiskach nie dziwi, ale nie nazwałbym tego współczesną drogą kariery programisty.
Programista który lubi kodować, zamieniać kawę na tysiące LOC / dzień, może się w takiej roli nie odnaleźć, bo kodowanie w devopsach jest dość specyficzne.
A przynajmniej dla mnie nie ma nic porywającego w konfiguracji setnej kolejki MQ w pajtonie, ale może są ciekawsze kawałki w tej domenie.
Jestem głównie backend developerem. Pamiętam czasy bez "devops", pamiętam on premise. W niektórych firmach bylo trzeba robić niemal wszystko. I jakoś ludzie to robili.
Obecnie dużo grzebie w cloud, w międzyczasie też poznałem sporo aspektów OS, konteneryzacji, CI, replikacje baz danych, jakieś apache czy nginxy itp.
Bez tego byłbym znacznie gorszym programistą, z klapkami na oczach. Podejmował bym dużo gorsze decyzje.
Generalnie bycie bardziej "Generalist" jest lepsze. Mało firm naprawdę potrzebuje uber wyspecjalizowanych ludzi w jakiejś dziedzinie. I nie mówię, że trzeba mieć jakąś super wiedzę o wszystkim, a perspektywę.
Już nie mówiąc, że wiele konceptów z OS jest przenaszalnych i łatwiej zrozumieć jak coś działa.
Obecnie dochodzimy do jakiegoś extremum gdzie Pan Frontendowiec nie dotknie przez chwilę SQL , bo olaboga to jest backend. Albo o Jezu, serwer nodejs! Co dalej javowcy o zerowym pojęciu jak ich serwer aplikacyjny działa?
Myślę, że DevOps różnie jest rozumiany przez firmy. Stack technologiczny potrafi być naprawdę obszerny. Obracając się w stacku: k8s, helm, ansible, terraform, gitlab ci/cd, ELK, prometheus, grafana, nginx/apache, zabbix, dojdzie jakiś cloud, taka otoczka automatyzacji to ciężko aby developerzy mieli czas na zajmowanie się takimi narzędziami. Słyszałem, że w niektórych firmach developerów próbują wrzucić w DevOps, ale wtedy mają już naprawdę mało styczności z tym co robili do tej pory np programowali w javie. Nie każdy chce się uczyć tych zabawek devopsowych. Ale tak jak mówię, dużo tutaj zależy od firm, bo dla jednych to taki admin na sterydach, dla innych to własnie taki developer.
Jakieś 90% ogłoszeń "devops" na rynku to po prostu OPsy, SRE itp. Po prostu HRy zrobiły z tego buzzword. Czy zarabiają wiecej/mniej niż czyste rasowo devy to mnie zbytnio nie interesuje. Czy są potrzebni? Tak są, i jak widać popyt na takie umiejętności rośnie.
Do pracowania w metodyce devops trzeba dorosnąć. Autorowi widocznie jeszcze nie wyrósł meszek na kólach (niekoniecznie mam tu na myśli mózgowe). Idę o zakład, że jak posadzę kogoś kto ogarnia administrację Linux, zna ze 3-4 usługi AWS w stopniu chociaż dobrym, a do tego Docker, k8s, Ansible może jeszcze Terraform + potrafi strzelić srkypt/usługę ogarniającą jakieś zadania w Bash/Python/JS/Go/Rust to w każdym aspekcie tej wiedzy zje Ciebie bez przeżuwania.
Ciekawi mnie to ze względu na to że IMO same stanowisko Devopsa jest troche bezsensu z racji tego że to kultura i programiści powinni potrafić w jakimś stopniu to robić( i często w ogłoszeniach wymagana jest znajomość dockera,k8s itp). Dlatego ta korelacja między ich zarobkami a tym co robią mnie dziwi.
Pokazujesz ignorancję lub niewiedzę. Twoja działka w strzeleniu sobie Dockerfile pod własny kawałek projektu nijak się ma do działki takiego Devops'a, który póxniej w k8s musi spiąć te 100 obrazów Dockera tak żeby finalnie wyszły na świat. Od Ciebie jako programisty wymaga się tych podstaw teoretycznych + ewentualnie umiejętności zrobienia "pod siebie" na szybko. Zazwyczaj finalnie to właśnie ten devops odpowiada za spakowanie tego ulepu, który wyjdzie od programistów i wpięciu go w cały proces, który wcześniej musiał oczywiście sam zaprojektować i złożyć pod ten konkretny projekt.
Śmiem twierdzić, że za niedług ważniejsze będą takie podstawowe skille ze świata devops niż bycie masterem w programowaniu. Skleić drabinkę ifów to praktycznie każdy potrafi. Natomiast co z tym zrobić dalej to już niewielu.
Całą resztę merytoryczniej wyjaśnił Ci @TurkucPodjadek pod którym podpisuję się "obiema rencami".