Pierwsze kroki w IT · Odcinek #35

Od Juniora do Regulara

Nadia Zhuk, programistka języka Ruby, która samodzielnie się przebranżowiła, opowiada o swojej drodze od juniora do regulara. Rozmawiamy o wyzwaniach, jakie czekają na nas po wejściu do branży IT, o metodach organizacji pracy pomagających osiągać sukcesy i o codzienności programistów.

Host: Mateusz Bogolubow

Gość: Nadia Zhuk

27-05-2022

(aktualizacja: 30-09-2026)

Dziś moim gościem jest Nadia Żuk. Nadia opowie nam o swojej drodze od juniora programowania do regulara. Nadio, dziękuję, że przyjęłaś moje zaproszenie na rozmowę! Dziękuję bardzo za zaproszenie, miło mi być tutaj gościem. To Nadio, może powiedz nam coś więcej o sobie i o tym, co łączy cię z branżą IT. Właśnie pracuję jako full-stack programista w firmie, która się nazywa Intercom w Londynie. Intercom to firma, która produkuje różnego rodzaju produkty pozwalające biznesom komunikować się ze swoimi klientami, czyli na przykład taki czat, który pojawia się na stronie internetowej, w sklepie, czy innym biznesie. Pracuję głównie z technologią Ruby on Rails na backendzie i Ember.js na frontendzie, a także ze standardowym HTML-em i CSS-em. Przedtem pracowałam przez trzy lata w Polsce. Pracowałam w kilku różnych firmach, głównie z technologią Ruby on Rails. Zaczynałam w małej firmie, w której tworzyliśmy aplikację o nazwie Timenotes, która służy do śledzenia czasu, czyli taki time tracking. To był mój pierwszy kontakt z pracą w IT. Na początku to był staż, a potem praca jako programistka. To było fajne doświadczenie i dużo się nauczyłam. Potem zmieniłam pracę, bo chciałam spróbować czegoś nowego. Dla mnie to była praca w firmie Netguru. Myślę, że wielu słuchaczy kojarzy tę firmę, bo to duży software house w Polsce. To było świetne miejsce do pracy, bardzo przyjazne pracy zdalnej, co pozwoliło mi w ogóle nauczyć się pracy zdalnej, zanim to stało się powszechne z powodu pandemii. W Netguru pracowałam przy kilku różnych projektach, między innymi w branży FinTech, tworząc aplikacje bankowe, a także przy projektach z branży EdTech, czyli związanych z edukacją online. Pracowałam też przy projekcie związanym z rynkiem nieruchomości. Z czasem jednak stwierdziłam, że wolę pracować w firmach produktowych i przeszłam do Zendesk. To duża firma z biurami na całym świecie, pracowałam tam głównie jako backend developer przy projektach w Ruby on Rails. To była praca w zespole w Krakowie, więc to była kombinacja dużej korporacji i pracy w mniejszym zespole. To był okres bardzo szybkiego rozwoju dla mnie. W zeszłym roku zdecydowałam się na przeprowadzkę z Polski do Londynu, gdzie teraz mieszkam i pracuję. Przed rozpoczęciem mojej przygody z programowaniem miałam zupełnie inne życie. Studiowałam dziennikarstwo w Bułgarii, pracowałam jako tłumaczka, dziennikarka, i redaktorka portalu informacyjnego, prowadziłam też podcasty. Po zamknięciu portalu informacyjnego zdecydowałam się na zmianę zawodu i przeprowadziłam się do Polski, żeby zacząć karierę jako programistka. Co zdecydowało o tym, że postanowiłaś uczyć się języka Ruby? Przyjaciel mi polecił ten język. Stwierdził, że ma bardzo intuicyjną składnię i niski próg wejścia, co sprawia, że można dość szybko zacząć pisać produktywny kod w Ruby on Rails. Na początku próbowałam też z JavaScriptem, ale zupełnie mi to nie szło. Dopiero jak znalazłam tutorial dotyczący Ruby on Rails, zaczęło to nabierać dla mnie sensu. Uczyłaś się samodzielnie przez dziewięć miesięcy. Jak wyglądała Twoja nauka? To była nauka całkowicie na własną rękę. Zaczynałam od platform takich jak Codecademy, by opanować podstawy Ruby. Potem przerobiłam słynny Ruby on Rails Tutorial Michaela Hartla – to takie tworzenie podstawowej kopii Twittera. Przerobiłam ten kurs trzy razy, zanim w pełni zrozumiałam, o co w nim chodzi! Później brałam udział w takich wyzwaniach jak Build 30 rails apps in 30 days. Oczywiście, do tego doszły też książki, ale z perspektywy czasu żałuję, że za własne, mniejsze projekty zabrałam się tak późno. Kiedy otrzymałaś pracę w IT i po jakim czasie stałaś się regularem? Od momentu rozpoczęcia nauki od zera, minęło dziewięć miesięcy do mojego pierwszego zatrudnienia w Timenotes, gdzie spędziłam kolejne 9 miesięcy. Następnie pracowałam w Netguru, zaczynając jako junior, a po 3 miesiącach awansowałam na regulara. Później dołączyłam do Zendesku, gdzie przez rok byłam na stanowisku associate engineer, by następnie również awansować na poziom regular. Warto zauważyć, że firmy bardzo różnie definiują te poziomy. Zupełnie inaczej wygląda to w firmach produktowych, a inaczej w software house'ach. Zdarzają się firmy, gdzie mając mniej niż 2-3 lata doświadczenia wciąż jesteś postrzegany jako junior. Niemniej, bycie juniorem ma swoje plusy: jest mniej presji, otrzymuje się więcej wsparcia, a także ma się więcej czasu na naukę. Czy miałaś przydzielonego seniora, do którego mogłaś zwrócić się o pomoc? Tak, miałam tak zwanego buddy'ego, ale mogłam też swobodnie prosić o pomoc innych inżynierów w zespole. Czy jako junior otrzymywałaś od zespołu feedback na temat tego, czego powinnaś się nauczyć, doczytać lub przećwiczyć? Zdecydowanie tak. Korzystaliśmy z takich metod jak pair programming, shadowing, regularne code review, a także organizowaliśmy learning sessions, podczas których mogłam się wiele nauczyć. Czy stosujesz jakieś metody organizacji, które usprawniają Twoją pracę? O tak, wyłączam wszystkie powiadomienia, szczególnie te ze Slacka, żeby móc skupić się na pracy. W kalendarzu rezerwuję sobie czas na focus time, kiedy nikt mi nie przeszkadza. Ważne jest też umiejętne odmawianie, mówienie nie na przykład udziałowi w niektórych spotkaniach, które nie są niezbędne. Co wiązało się z przejściem ze stanowiska juniora na mida? Może otrzymujesz teraz trudniejsze zadania lub stałaś się odpowiedzialna za szczególną część projektu? Przede wszystkim zyskałam o wiele większą samodzielność w podejmowaniu decyzji. Wiązało się to też z większym wzięciem odpowiedzialności za projekt lub jego część, stając się często pierwszym punktem kontaktu dla innych zespołów. Oczekiwania na tym poziomie obejmują także dzielenie się wiedzą z mniej doświadczonymi członkami zespołu. Poza tym, znacznie lepiej zrozumiałam na czym polega moja praca – to nie jest tylko pisanie kodu samo w sobie, ale przede wszystkim rozwiązywanie problemów użytkowników. Czy samodzielna nauka programowania wpłynęła na to, jak szybko podniosłaś potem poziom swoich umiejętności w pracy? W jaki sposób? Zdecydowanie. Kiedy byłam juniorem, czytałam bardzo dużo książek o programowaniu, i to bez wątpienia była moja przewaga nad innymi. Miałam też dostęp do budżetu szkoleniowego. Zrozumiałam wtedy, że tylko mi zależy na moim własnym rozwoju, więc to ja muszę ten proces kontrolować. Zrozumienie, że nikt inny nie pokieruje twoją ścieżką rozwoju tak dobrze jak ty sam, to ważna lekcja. Jakie zadania były dla Ciebie najbardziej rozwijające na początku pracy, a jakie są teraz? Na początku najważniejsze było po prostu pisanie kodu, jak najwięcej kodowania. Teraz, jako programista z większym doświadczeniem, najbardziej rozwijające jest dla mnie pisanie planów technicznych, myślenie o architekturze rozwiązań. Czy w Twojej firmie jest określona ścieżka kariery, czyli na przykład każdego czeka awans na regulara po roku pracy, czy decydują o tym umiejętności oceniane na przykład przez team leadera? Istnieje określona ścieżka, chociaż awanse nie są automatyczne po konkretnym czasie. Mamy performance review co pół roku, gdzie oceniane są konkretne kompetencje potrzebne na danym poziomie inżynieryjnym. Omawiamy też plan rozwojowy z przełożonym, aby ustalić, nad czym trzeba jeszcze popracować. Czy z dzisiejszej perspektywy inaczej byś wykorzystała czas na stanowisku juniora? Chyba nie. Ten czas w Zendesku był dla mnie niezwykle owocny. Może jedynie powiedziałabym sobie, żeby na początku się tak nie stresować. Co chciałabyś poradzić osobom, które dopiero rozpoczynają pracę jako juniorzy? Część z nich na pewno się stresuje. Cytując słowa z mojej książki: masz prawo być najgorszym, masz prawo nie wiedzieć wszystkiego i nic nie szkodzi, jeśli do czegoś nie pasujesz. Nie wywierajcie na siebie zbyt dużej presji. Do kogo skierowana jest Twoja książka „Crossing the Rubycon: How to Learn to Code and Build a Programming Career”? Książka jest skierowana do każdej osoby, która aktualnie uczy się programować, bądź też niedawno zdobyła swoją pierwszą pracę w tej branży. Będzie to również świetna lektura dla tych, którzy zastanawiają się nad zmianą kariery, ale obawiają się, że są za głupi lub zbyt starzy na rozpoczęcie przygody z programowaniem. Chcę przekazać im prostą wiadomość: „skoro ja to zrobiłam, ty też możesz”. Jaką książkę polecisz juniorowi, który chce szybko podnieść swój poziom umiejętności w pracy? Zdecydowanie polecam sięgnąć po dobrą książkę o testowaniu oprogramowania, np. "Effective Testing with RSpec 3" Myrona Marstona. Warto też przeczytać coś o konkretnym paradygmacie, w jakim się programuje, na przykład o programowaniu obiektowym – świetną książką jest "Practical Object-Oriented Design in Ruby" autorstwa Sandi Metz, która omawia zasady OOP i SOLID w bardzo przystępny sposób. Gdzie możemy Cię znaleźć w sieci? Można mnie łatwo znaleźć, ponieważ jestem dość aktywna w internecie! Wyszukajcie mnie pod nickiem @beetlehope na dev.to, YouTubie czy Twitterze. Na LinkedIn i Instagramie znajdziecie mnie pod moim imieniem i nazwiskiem: Nadia Zhuk. Nadio, bardzo Ci dziękuję za tę rozmowę i podzielenie się z nami swoimi doświadczeniami. Ja również bardzo dziękuję, było mi naprawdę miło.

Konsultacja i warsztaty devmentor.pl

Masz pytania o rozwój w IT? Porozmawiajmy.