DevOps - zestaw narzędzi czy rola w IT?


DevOps to nie tylko narzędzia, to także zmiana kulturowa i filozofia pracy, która rewolucjonizuje sposób, w jaki organizacje tworzą oprogramowanie oraz zarządzają infrastrukturą IT. Kim jest, co robi i jaka jest jego rola w projektach, opowie Krystian Sobolewski - programista i DevOps w codelabs.rocks. Będzie to wywiad o tym jak DevOps może być kluczowym czynnikiem wspierającym rozwój jednostek, jak i organizacji jako całości. Rozmowę przeprowadziła Angelika - nasza HR&EB Specialist.

Czy DevOps engineer jest programistą, czy nie? A może jest administratorem?

Krystian: DevOps zazwyczaj jest programistą albo ma podłoże programistyczne. Nie musi być administratorem, jednak umiejętności administratora systemu na pewno się przydają. Natomiast nie jest wymagane, aby była to jedna osoba pełniąca tą funkcję.

Czy DevOps engineer ma coś wspólnego z architektem oprogramowania?

Krystian: DevOps nie jest architektem oprogramowania, natomiast decyzje architekta oprogramowania wpływają na pracę DevOpsa, czyli na to jakie serwisy i w jaki sposób musi utrzymywać albo wdrażać w projekcie.

Czy DevOps engineer jest członkiem zespołu developerskiego, czy „wolnym elektronem”, który ma pod sobą na przykład kilka projektów w firmie?

Krystian: To jest raczej zależne od konkretnej organizacji, tego jak duże są projekty, jak duże są zespoły i tego w jaki sposób są zorganizowane. DevOps może być zarówno członkiem zespołu deweloperskiego jak i wolnym elektronem. Bądż każdą z tych opcji osobno. Ja na przykład jestem trochę członkiem zespołu, a trochę wolnym elektronem. Myślę, że w codelabs.roks łączę te dwie funkcje w zależności od projektu.

Dlaczego wybrałeś taką ścieżkę kariery? Jaka była Twoja droga do obecnego stanowiska?

Krystian: Droga w zasadzie wybrała się sama. Zależało mi na wygodzie pracy mojej i moich kolegów. Jeżeli napotykaliśmy na jakieś wyzwania to starałem się znajdować na nie rozwiązania. W taki sposób powoli, krok po kroku stawałem się DevOpsem.

Co Ci się najbardziej podoba w Twojej pracy?

Krystian: Gdy widzę jak takie żmudne, nieprzyjemne i niesatysfakcjonujące czynności, które wcześniej trzeba było wykonywać ręcznie są automatyzowane. Dzięki temu jak to mówią niektórzy, “rzeczy dzieją się same”. Powoduje to radość deweloperów, którzy mogą się skupić na rozwijaniu aplikacji, a nie powtarzaniu żmudnych czynności. To zdecydowanie podoba mi się najbardziej, gdy mogę usprawniać i ułatwiać, to tak w skrócie.

A czy możemy mówić o jakichś “cieniach” pracy w roli DevOpsa? Jakie są największe bolączki, problemy związane z tą rolą w IT?

Krystian: Dla mnie największa bolączką jest testowanie rozwiązań które wprowadzam. Zazwyczaj trzeba to robić trochę na żywym organizmie. Drugim problemem jest to, że jeżeli DevOps jest też programistą jak w moim przypadku to często mogą zdarzać się sytuacje wymagające szybkiej interwencji, co zaburza plan pracy. W tej roli trzeba opanować umiejętność zarządzania sobą w czasie, właśnie na takie przypadki.

Skąd bierzesz pomysły, czego się uczyć i jakich technologii szukać?

Krystian: Staram się dostrzegać i nasłuchiwać na potrzeby dokoła mnie i wtedy staram się znaleźć rozwiązanie problemu, który występuje. Jako inspiracje dla konkretnych rozwiązań staram się czytać artykuły, oglądam filmy na yt, uczęszczam na prelekcje na konferencjach lub sam je prowadzę :) , słucham podcastów.

Wracając do roli DevOps engineer, czy współpracuje on też bezpośrednio z klientami firmy?

Krystian: Może, ale najczęściej nie ma takiej potrzeby.

Jakie korzyści DevOps przynosi firmie, a jakie jej klientom?

Krystian: Na pierwszym miejscu na pewno wymieniłbym poczucie bezpieczeństwa i to zarówno dla zespołu developerów jak i dla klienta. Po prostu jest mniej błędów związanych z infrastrukturą i dodatkowo na pewno oszczędza to czas deweloperów. Mogą oni skupić się na ciekawszych problemach niż na przykład wdrażanie albo naprawianie produkcji.

Mam wrażenie, że metodyka czy kultura DevOps jest spotykana głównie w większych firmach. Jak myślisz, dlaczego?

Krystian: Napewno jest dodatkowy nakład pracy w formie inwestycji, ponieważ profity pojawiają się po jakiś czasie. Firma zazwyczaj musi być na tyle duża, aby móc zainwestować w takie procesy.

Czy mniejsze software house’y jej nie wykorzystują, czy może jej nie potrzebują? A może jest to zbyt duży nakład?

Krystian: DevOps przydaje się w każdej firmie, niezależnie od jej wielkości. Często mniejsze Software House nie wykorzystują DevOps głównie przez to, że te projekty są małe i nie jest tam potrzebny DevOps na pełny etat. Wtedy jest potrzebny ktoś w zespole, kto jest zainteresowany tematem, chce usprawniać te wszystkie procesy i najczęściej to on je wprowadza i to daje wartość firmie.

Czy Agile ma coś wspólnego z DevOpsem? Czy procesy DevOps można stosować równocześnie pracując w metodykach zwinnych?Jak to wygląda z Twojej perspektywy?

Krystian: DevOps bardzo ułatwia, a wręcz bym powiedział umożliwia korzystanie z metodyk zwinnych., które z zasady potrzebują dynamicznego i częstego wdrażania zmian co jest dostarczane przez procesy Devopsowe.

Jaką dałbyś jedną radę początkującemu DevOpsowi?

Krystian: Początkującemu DevOpsowi… Jedna rada byłaby taka, żeby wprowadzał zmiany małymi krokami i żeby się nie bał - to są dwie rady, ale idą ze sobą ramię w ramię, i się uzupełniają. No i warto.