Jak wdrażamy się w nowe technologie? Rozmowa z naszym developerem, Marcelem

Jak wdrażamy się w nowe technologie? Rozmowa z naszym developerem, Marcelem

Nasi inżynierowie korzystają z kilkudziesięciu narzędzi i technologii. W zależności od produktu, programują w różnych językach. Poznają scrypty bazodanowe, tworzą automatyczne testy, operują w środowisku chmurowym. Czy przychodząc do Metapack musisz się na tym wszystkim znać?

Przeczytaj rozmowę z Marcelem, który w ciągu trzech lat przeszedł już przez trzy nasze produkty, a ostatni z nich rozwija jako jeden z pierwszych developerów w firmie. W krótkiej rozmowie zdradza, jak wygląda proces wdrażania developerów w nowe technologie i jak pomaga w tym nasza kultura organizacyjna.

Marcelu, jesteś z nami już 3 lata, ale zacznijmy od początku. Czy zawsze wiedziałeś, że chcesz być programistą? 😉

Zrozumiałem to dosyć wcześnie, jeszcze w technikum, kiedy w pierwszej klasie pojawiła się informatyka. Wtedy miałem pierwszy kontakt z programowaniem. W ramach kwalifikacji zawodowych dostałem zadanie stworzenia szeroko rozumianej aplikacji internetowej. Pracowałem nad nią w JavaScripcie, PHP, było też trochę komunikacji z bazą, czyli skrypty SQL-owe. W miarę szybko to wszystko załapałem i polubiłem te zajęcia. Mieliśmy, co prawda, wymagającego nauczyciela, ale dzięki temu łatwiej było później na studiach.

Bo studia też wybrałeś informatyczne.

Tak, studia pomogły mi podszkolić się z JavaScriptu, poznałem też nowy język programowania – C#, z którym miałem do czynienia już w Metapack. Pracowałem też nad własnymi projektami i przyszedł moment, że poczułem, że czas na wykorzystanie wiedzy w praktyce, w pracy zawodowej. Byłem wtedy na trzecim roku studiów i złożyłem moje CV właśnie do Metapacku.

Co ciekawe, w tym samym momencie realizowaliśmy na studiach projekt grupowy i akurat na mojej specjalizacji ten przedmiot był prowadzony we współpracy z Metapackiem. Mieliśmy przedzielonego z firmy opiekuna, który nadzorował projekt, pomagał w części merytorycznej, podpowiadał, jak wykonać pewne zadania. Jednocześnie trwała rekrutacja na stanowisko, na które aplikowałem. Myślę, że ta współpraca na studiach odegrała jakieś znaczenie, bo dała firmie wgląd w to, jak pracuję.

Zdecydowanie, mieliśmy dzięki temu okazję Cię przetestować jeszcze na etapie weryfikacji CV. Czy zmieniło to standardowy proces rekrutacji dla Ciebie? Przechodziłeś etapy inaczej niż Twoi koledzy?

Nie, proces rekrutacji był taki sam, jak dla wszystkich. Aplikowałem do Metapack w 2019 roku, jeszcze przed pandemią, więc etapy wyglądały wtedy troszkę inaczej. Dostałem oczywiście do wykonania zadanie, miałem tydzień na zrobienie aplikacji. Moje zadanie zostało ocenione, otrzymałem feedback z informacją, co zrobiłem dobrze, co warto poprawić i kilka wskazówek, jak pracować nad podobnymi zadaniami. Aplikacja jednak spodobała się i dzięki temu przeszedłem do kolejnego etapu rekrutacji. Była to rozmowa, już bardziej techniczna, z jednym z liderów w dziale developmentu. Po tej rozmowie zostałem zaproszony na ostatni już etap, czyli spotkanie z kolegami z zespołu, do którego miałem dołączyć. Rozmawialiśmy o tym, jak lubię pracować, poznawaliśmy się, wymienialiśmy doświadczeniami.

Przychodząc do Metapack zasiliłeś zespół pracujący nad naszym polskim produktem. Znałeś już JavaScript, C#, bazy danych. Jakie technologie poznałeś na stanowisku developera i czy ich zgłębianie stanowiło dla Ciebie problem?

Pracując nad produktem, do którego zostałem przydzielony, musiałem poznać Jenkins, AWS, Team City, bo właśnie na tych narzędziach pracowaliśmy przede wszystkim. Nie było jednak tak, że zostałem rzucony na głęboką wodę i musiałem używać ich, mimo że jeszcze nie miałem z nimi do czynienia. Przeciwnie, poznawałem je wszystkie stopniowo. Przez pierwszy rok pracowałem głównie na C#, który znałem już wcześniej, a jednocześnie uczyłem się Team City. Po roku, zaczęły pojawiać się tematy integracji między naszym polskim systemem a brytyjskim. Wtedy zaczął się pojawiać Jenkins i Docker. Uczyłem się tego wszystkiego w trakcie wykonywania zadań, co było bardzo fajnym doświadczeniem i zresztą, nadal jest, bo ciągle pojawiają się nowe wyzwania, nowe produkty. Na przykład teraz skupiamy się przede wszystkim na produkcie amerykańskim i do jego rozwoju stosujemy różne technologie – te, które już znam i nowe.

Kiedy pojawiała się nowa technologia do nauczenia się, otrzymywałeś bezpośrednią pomoc od starszych stażem koleżanek i kolegów?

Tak, cały czas czułem wsparcie kolegów. U nas jest bardzo silna kultura, jeżeli chodzi o dzielenie się wiedzą. Mamy też bardzo dużo instrukcji spisanych przez innych kolegów, są w nich odpowiedzi na najczęściej pojawiające się pytania, najprostsze procesy, dzięki którym wiemy, jak coś odtworzyć samodzielnie. Kiedy jednak te instrukcje okazywały się niewystarczające, zadawałem pytania i zawsze otrzymywałem pomoc.

Mówiłeś, że pracowałeś nad polskim produktem, brytyjskim, a następnie amerykańskim. Czy nauka nowych technologii wynikała z pracy nad poszczególnymi systemami, do których zostałeś przypisany? Z jakimi językami programowania miałeś do czynienia przy pracy nad każdym z nich?

W polskim produkcie, jak już mówiłem, operowałem głównie językiem C#. Przy brytyjskim doszedł kolejny – Groovy. Jednocześnie pojawił się duży nacisk na skrypty bazodanowe. Pracowaliśmy też na Javie, ale bardziej od strony testowania i tworzenia automatycznych testów. Od roku natomiast korzystamy też z TypeScript i rzeczywiście jest on przypisany do amerykańskiego produktu, który aktualnie rozwijamy. Pierwszy modulik stworzyliśmy jeszcze w JS, ale wspólnie zdecydowaliśmy, że kolejne rozwijać będziemy w TypeScripcie.

Wspomniałeś już o tym, że poznając nową technologię czy narzędzie, miałeś do dyspozycji instrukcje i dokumentację przygotowaną przez koleżanki i kolegów. Przybliż, proszę, ten proces tworzenia procedur dla programistów w Metapack na podstawie zdobywanej wiedzy.

Zaczynając pracę nad amerykańskim produktem, zostałem przydzielony do nowego zespołu, dedykowanego właśnie temu systemowi. Pracowałem więc nad nim jako jeden z pierwszych i oprócz prac nad samym produktem, ja i mój zespół, mieliśmy też za zadanie stworzenie takiego procesu, który pozwoli kolejnym programistkom i programistom na szybkie wdrożenie się w stosowane przez nas technologie. Można powiedzieć, że wyznaczamy szlaki dla potomnych (śmiech).

Jak to robimy? Oprócz licznych instrukcji, które tworzymy w miarę postępowania prac, zaprojektowaliśmy też tzw. moduł adaptacyjny. To taki wymyślony moduł, który pozwoli nowym pracownikom nauczyć się, jak korzystać z określonych technologii, jak pisać kod pod nasz konkretny produkt. Przez taki moduł adaptacyjny przechodzi każdy, zanim jeszcze otrzyma jakieś biznesowe zadania i ja też uczyłem się na podobnym module, rozpoczynając pracę nad naszym polskim systemem. Z koleżanką z zespołu postanowiliśmy, że bardzo dobrym pomysłem byłoby stworzenie takiego procesu wdrożenia nie tylko dla nowych pracowników, ale też dla programistów, którzy już są w Metapack. Żeby ten proces nie był zarezerwowany tylko na potrzeby onboardingu, ale żeby inni developerzy też mogli się w ten sposób wdrożyć w produkt.

To też jest fajne doświadczenie, że po tak krótkim czasie pracy udało mi się wstrzelić w ten projekt. Jestem nie tylko programistą, który pracuje nad produktem, ale też osobą, która pomaga innym wdrożyć się w pracę.

Z Twojej perspektywy trzy lata pracy to krótko, ale z tego co mówisz wynika, że bardzo dużo się w tym czasie wydarzyło. Był to dosyć intensywny dla Ciebie czas pod kątem zawodowym.

Zdecydowanie. Kiedy przychodziłem do firmy, już po pierwszym roku miałem wrażenie, że dużo się nauczyłem. Uświadomiłem sobie, jak mało wiedziałem na samym początku. Po każdym kolejnym roku to wrażenie jest takie samo i na tym etapie jestem ciekaw, co będzie za kolejnych kilka lat. Czym mnie jeszcze ta praca zaskoczy i co mnie czeka.

Teraz jest nacisk na AWS, AWS-owe Lambdy i Terraformy, czyli rozwój idzie już nie w stronę Software Engineera, tylko bardziej Dev-Opsa. Cały czas jest możliwość rozwoju, cały czas. To, co mnie szczególnie cieszy, to fakt, że w ramach pracy naprawdę możemy nauczyć się tego, czego chcielibyśmy nauczyć się prywatnie, bo większość technologii, z jakimi mam teraz do czynienia, interesowała mnie też w moich prywatnych projektach. To jest bardzo fajne.

W takim razie życzymy Ci, żeby praca nie przestała Cię zaskakiwać i ciągle była pełna ciekawych wyzwań. Dziękujemy za rozmowę.

Inne aktualności