Back
dot dot dot

DevOps Engineer a Software Engineer: Jaka jest różnica między tymi rolami?

2022-05-25 09:51:32

Ostatecznym celem pracy DevOpsów i software developerów jest zadowolenie klienta. Więc jakie jedno słowo najlepiej opisuje naszą wolę osiągnięcia tego celu?

Wszyscy dążymy do tego, aby stać się ekspertami w tym, co robimy, osiągać nowe poziomy, zdobywać kolejne certyfikaty i realizować coraz ciekawsze projekty. Jest jednak jeden sposób na przyspieszenie tego procesu. 

Kluczem jest współpraca.

Powyższe stwierdzenie doskonale uzupełnia tytuł tego artykułu i stanowi kontrargument do częstego błędnego przekonania, jakoby jedna z tych ról była podrzędna wobec drugiej. 

Relacja między inżynierem DevOps i inżynierem oprogramowania jest o wiele bardziej złożona, dlatego przyjrzyjmy się bliżej tej kwestii. 

Nieunikniona współpraca między DevOpsami i inżynierami oprogramowania

Przeplatanie się DevOpsu i rozwoju oprogramowania wiąże się z takimi pojęciami jak outsourcing, nearshoring i offshoring. 

 

Firmy korzystają z nich w celu zwiększenia swojej efektywności operacyjnej poprzez przeniesienie części działań poza swoją działalność. Według firmy Statista usługi outsourcingu IT osiągną w 2022 r. wartość 396,30 mld USD, która będzie dalej rosnąć o ponad 8% rocznie.   

 

Projekty outsourcingu IT opierają się na zaufaniu i umożliwiają prawidłowe planowanie budżetu. Jako zewnętrzni specjaliści musimy osiągnąć EFEKT, na którym zależy naszemu klientowi, i w ostatecznym rozrachunku wnieść wartość do jego działalności.

DevOps Engineer a Software Engineer: różnice 

DevOpsi i inżynierowie oprogramowania często pracują w zupełnie innych strukturach i muszą przestrzegać innych zasad. Dlatego tak ważne jest ustanowienie standardów komunikacji.

Załóżmy więc, że klient ma wystarczające możliwości w zakresie rozwoju oprogramowania, ale ma problem z tworzeniem infrastruktury dla swoich operacji w wielu środowiskach, monitorowaniem i automatyzacją. 

To częste zjawisko, ponieważ nie sposób być ekspertem we wszystkich dziedzinach. Dlatego też firmy powierzają zadania związane z DevOps zespołom zewnętrznym. Tego typu eksperci dysponują umiejętnościami i doświadczeniem niezbędnym do konfigurowania i automatyzowania procesów, tworzenia IaaC oraz budowania solidnej infrastruktury chmury. 

DevOps nie jest podporządkowany rozwojowi oprogramowania

Jednak wbrew powszechnym błędnym wyobrażeniom DevOps nie polega tylko na przygotowaniu gruntu dla zespołu software developerów lub obsłudze ich. 

Stanowi on raczej uzupełnienie programowania zwinnego z kilkoma aspektami pochodzącymi bezpośrednio z tej metodologii.

DevOps obejmuje inny zakres zadań, ale jest równie ważny i służy temu samemu celowi. 

Filary udanej współpracy między DevOpsami i deweloperami

Jakie są zatem filary udanej współpracy zewnętrznego zespołu DevOps z wewnętrznym zespołem developerów?

Przede wszystkim wzajemne dostosowywanie się do sposobu funkcjonowania drugiej strony. Poza tym należy brać odpowiedzialność za swoją dziedzinę wiedzy, ale także słuchać siebie nawzajem i szybko reagować na zmiany. 

Wszystkie te działania pomagają opanować sztukę radzenia sobie z problemami, które mogą pojawić się w projekcie. Sztuka rozwiązywania problemów nie należy do najłatwiejszych, ale pozwala uniknąć powielania wysiłków i wchodzenia sobie nawzajem w zakres odpowiedzialności. Dzięki jej wdrożeniu zespoły mogą pracować ramię w ramię, aby stworzyć wysokiej jakości produkt końcowy dla klienta. 

Utrzymanie wymaganego poziomu jakości oprogramowania również nie jest łatwym zadaniem. Można opracować i przyjąć wiele zasad i ocen punktowych regulujących procesy, ale bez uwzględnienia czynnika ludzkiego daleko się nie zajedzie. 

Jego brak nie eliminuje ryzyka niepowodzenia projektu, wręcz przeciwnie. W końcu wszyscy jesteśmy ludźmi.  

Zadania i obowiązki DevOps Engineera

Zapewne dobrze wiesz, czym zajmują się software developerzy, lecz omówmy pokrótce, na czym polega praca inżynierów DevOps. 

 

Inżynierowie DevOps pracują nad rozwojem oprogramowania i operacjami IT w celu skrócenia procesu rozwoju i zapewnienia ciągłości dostaw przy zachowaniu najwyższej jakości. Ich główną rolą jest skuteczna komunikacja i poprawa widoczności w całym CI/CD pipeline – a ten zestaw obowiązków wymaga ciągłego uczenia się nowych rzeczy. 

 

Ktoś kiedyś powiedział, że „DevOps jest jak kung-fu”. Jak to możliwe? Przeanalizujmy to. 

„Kung” oznacza pracę i osiągnięcia, a „Fu” – człowieka. Kung-fu w tym kontekście może więc oznaczać doskonałość osiągniętą dzięki długotrwałemu ćwiczeniu swoich umiejętności. I tak,  istnieje wiele szkół Kung-fu.

 

Widzisz tę analogię? DevOps to także pewna forma kultury i linii specjalizacji. Wymaga praktyki, doświadczenia i innowacyjności. Pamiętaj, że silne relacje i poznanie ludzi, z którymi pracujesz, zwykle procentują lepszym produktem. 

DevOps to przede wszystkim ludzie

Technolog Andy Clemenko podzielił się kiedyś pewnymi trafnymi spostrzeżeniami w książce „DevOps Paradox”. Jak to ujął: „DevOps to styl życia. Chodzi o to, aby umieć dostosować się do nowych technologii, nie tylko z punktu widzenia developera, ale także z punktu widzenia operacyjnego.” 

Po wielu latach pracy w branży DevOps mogę szczerze powiedzieć, że nie ma czegoś takiego jak stały zestaw reguł. Zamiast tego tworzymy je w toku współpracy i poznawania nowych osób i projektów. 

Kultura DevOps ma na celu zaprowadzenie porządku w świecie chaosu, który często rodzi się przez przypadek. Mobilizuje nas do usuwania przeszkód, o których istnieniu często nawet nie wiedzieliśmy. Promuje również empatię wśród członków zespołu, pomagając im postawić się w sytuacji klienta. 

Pomimo przywiązywania dużej wagi do wartości i kultury, nie zapominajmy o narzędziach i umiejętnościach, które ułatwiają pracę inżyniera DevOps. Ostatecznie nazwa tego stanowiska składa się z dwóch równie ważnych elementów: rozwoju i operacji. 

Przyszłość projektów informatycznych

Zbierzmy wszystko, co zostało tu omówione. 

Skupiając uwagę w równym stopniu na technologiach, procesach i ludziach, DevOps zaprasza nas do tworzenia nowego trendu. Nowego podejścia, które przestaje powielać wady starego świata IT, w którym rozwój i operacje były oddzielone od reszty działań.

 

Wykorzystajmy tę okazję, aby skupić się na wartości tworzenia nowych produktów i interakcji. Aby odnieść sukces, zespoły potrzebują specjalistów o zróżnicowanych umiejętnościach i pochodzących z różnych środowisk – i tak, mam tu na myśli połączenie kultury DevOps i developerskiej. 

 

Świat technologii wymaga bezprecedensowego stopnia specjalizacji – znacznie wyższego niż ten, który w ciągu swojego życia mógłby osiągnąć nawet najlepszy specjalista. 

Wszystko zmienia się tak dynamicznie, że nie jesteśmy w stanie przewidzieć, jak rzeczywistość będzie wyglądać za dziesięć lat – wartości i procesy DevOps pomagają natomiast w zaakceptowaniu tej ciągłej zmiany.

O autorze: Mateusz Grządzielski, posiada prawie 10-letnie doświadczenie w branży IT. Pracował na wielu stanowiskach wsparcia technicznego – od specjalisty po team leadera.

W Tenesys kieruje zespołem Inżynierów DevOps, skupiając się na projektach klientów i dobrej atmosferze całego zespołu. Poza informatyką Mateusz studiuje na Uniwersytecie Ekonomicznym w Poznaniu i prowadzi własną firmę. 

previous next
scroll