Sytuacja kobiet w IT w 2024 roku
22.07.20215 min
Adrian Janowski

Adrian JanowskiSoftware DeveloperNV

Jak wyglądają początki programisty juniora w korpo

Sprawdź, jak wygląda proces rekrutacji i onboardingu w korporacji w przypadku programisty juniora lub stażysty oraz jakie narzędzia będą przydatne na początku pracy.

Jak wyglądają początki programisty juniora w korpo

Chciałbym przedstawić Wam, jak wyglądają początki pracy programisty na stanowisku juniora/stażysty w korporacji. Tekst podzielę na dwie części: w pierwszej opiszę, jak wyglądała rekrutacja i pierwsze dni w firmie, a w drugiej skupię się na niezbędnych umiejętnościach i narzędziach, które wykorzystuje się właściwie od samego początku pracy

Rekrutacja i onboarding

Początki w różnych firmach i na różnych stanowiskach zdecydowanie różnią się od siebie, ale chciałbym pokazać, czego możesz się spodziewać po firmie takiej jak moja. Od niespełna roku pracuję w firmie średniej wielkości, zajmującej się wytwarzaniem oprogramowania. Posiada ona własny produkt, który rozwija od wielu lat. Pracę udało mi się uzyskać dzięki wygraniu naboru na letni, corocznie organizowany staż.

W przypadku mojej firmy przebieg rekrutacji na staż był bardzo profesjonalny. Pierwszym etapem była rozmowa telefoniczna, a następnie spotkanie w siedzibie firmy. Spotkanie to składało się z trzech części: rozmowy z bezpośrednim przełożonym, testu wiedzy, oraz sprawdzianu z umiejętności miękkich. Analizowane były także moje projekty na Githubie, a przynajmniej ostatni, o którym dużo rozmawialiśmy z moim przyszłym opiekunem stażu. 

Profesjonalne podejście do rekrutacji prezentowane przez moją firmę nie jest jednak normą. Podczas poprzednich rekrutacji spotykałem się ze zdecydowanie odmiennym nastawieniem. Normą były spotkania, w których osoby rekrutujące w absolutnie żaden sposób nie przygotowywały się do rozmów z kandydatami. Analiza Twoich projektów na Githubie, czy nawet zaznajomienie się z CV, nie jest zbyt powszechną praktyką. 

Dlatego nie warto się przejmować, jeżeli nawet przez dłuższy czas nie udaje Ci się znaleźć swojej pierwszej pracy. Trzeba dalej się uczyć, kodować i nie poddawać się oraz oczywiście rozsyłać nadal swoje CV. Pewnego dnia to zaprocentuje. 

W firmie trafiłem do działu backendu. Piszę w C#, więc to raczej naturalne dla mnie środowisko. Pierwsze dni to organizacja miejsca pracy i poznawanie najbliższych współpracowników oraz obowiązkowe szkolenia. Ten krótki czas pozwala także na poznanie z grubsza, czym zajmuje się firma, jakie rozwija produkty oraz czym zajmuje się Twój dział. 

Korporacja korporacji nie równa. W mojej dział dzieli się na zespoły, które znajdują się w różnych pokojach, będących bardzo blisko siebie. Atmosfera jest całkiem fajna, luźna, nie mamy dress codu, a przerwy na kawę są raczej spontaniczne. Bardzo cenię te z pozoru błahe zalety, ponieważ z opowieści znajomych, bywa z tym naprawdę bardzo różnie. 

W początkowym okresie uczysz się także metodytyki pracy. W moim przypadku, jako że to moja pierwsza praca programisty i pierwsze doświadczenia ze scrumem, minęło trochę czasu, zanim to podejście zaczęło być dla mnie jasne. Na samym początku organizowane były także szkolenia obywające się w różnych działach firmy, bym mógł dowiedzieć się, w jaki sposób wytwarzane jest programowanie od początku do końca, oraz jaka panuje tu organizacja pracy. 

Liczba szkoleń na starcie może przytłaczać. Chociaż pewnie nawet nie tyle liczba, co ilość przekazywanej wiedzy. Są one jednak naprawdę przydatne, ponieważ poza typowo produktowymi, odbywają się także scrumowe aktywności, które lepiej pozwalają Ci zrozumieć, jak wytwarzane jest oprogramowanie w Twoim dziale. Szkolenia te posiadają także tę zaletę, że dzięki temu, iż odbywają się z różnymi ludzi, łatwiej Ci poznać nowych kolegów. W „wolnych” chwilach przeglądałem repozytoria produktu, nad którym pracowaliśmy. Przydaje się to, by przynajmniej mniej więcej wiedzieć, o czym rozmawiają Twoi nowi współpracownicy.

Narzędzia

Teraz opiszę podstawowe narzędzia, bez których trudno rozpocząć pierwszą pracę. Samo stanowisko pracy będziesz zapewne mieć przygotowane. Basicowe programy zainstalowane, a hasła dostarczone i zabezpieczone w jakiejś kopercie. W mojej firmie panuje dowolność w rodzaju wykorzystywanego oprogramowania, ale trzeba korzystać z tych, które są przez firmę zatwierdzone. 

Najważniejszym programem, poza IDE (oczywiście Visual Studio), które już zapewne dobrze znasz, musi być narzędzie do kontroli wersji. Na studiach i domowych projektach całkiem dobrze w konsoli sprawdzał się git. Uwierz mi jednak, że w każdej nieco większej firmie, obowiązkowo będziesz potrzebować graficznego programu, który wspiera gita. 

Najpopularniejszymi rozwiązaniami w mojej firmie są SourceTree i GitExtensions. W internecie bardzo łatwo znaleźć poradniki na temat tego, jak korzystać z takich programów. Warto je przejrzeć i wykorzystać we własnych projektach. Nie tylko pomogą Ci one z własnym kodem, ale w pracy będziesz także zdecydowanie bardziej sprawnie poruszał się w repozytoriach produktu. 

Drugim niezwykle popularnym narzędziem jest połączenie Confluence oraz Jiry. Pierwszy z nich, czyli Confluence, to taki Word online. Pozwala tworzyć dokumenty, które są od razu dostępne dla Twoich współpracowników. Confluence będzie dla Ciebie źródłem wszelkich informacji przydatnych w codziennej pracy. Jira natomiast pozwala organizować pracę. To w niej opisane są zadania do wykonania oraz czas pracy, jaki na nie poświęciłeś. 

Ostatnim narzędziem, którym posługuję się codziennie, jest Jenkins. Narzędzie to służy do ciągłego wdrażania czy integracji kodu. W uproszczeniu jest to narzędzie, które pozwala budować komponenty, nad którymi pracujesz. Dzięki niemu sprawdzasz, czy po wprowadzonych przez Ciebie zmianach, dany komponent systemu nadal bezproblemowo się instaluje. Jenkins posiada także opcje, które pozwalają testować Twój kod. Dzięki testerom piszącym testy integracyjne, które odpalane są przez Jenkinsa, masz większą pewność, że Twój kod nie popsuje aplikacji. 

Wspominając testy, ważną umiejętnością każdego developera jest tworzenie testów jednostkowych, które jako pierwsze wykrywają nasze błędy. Czy wybierzesz xUnita, Nunita, MSTest, to nie ma aż tak dużego znaczenia, ponieważ jeżeli tylko zrozumiesz schemat ich działania, łatwo dostosujesz się do standardu panującego w Twojej firmie. 

Warto posiadać także przynajmniej podstawową wiedzę na temat baz danych oraz obsługi środowisk wirtualnych. Zdecydowana większość aplikacji, czy komponentów aplikacji, korzysta w jakiś sposób z baz danych. Należy więc znać podstawowe zapytania do nich oraz czynności administracyjne. Tworzone przez Ciebie oprogramowanie nie jest zwykle uruchamiane bezpośrednio na Twoim komputerze, lecz za pomocą maszyn wirtualnych / kontenerów. Znajomość podstaw ich obsługi na pewno ułatwi Ci pierwsze dni w firmie. 

Będąc jeszcze na rozmowach rekrutacyjnych, pytaj o budżety szkoleniowe, i ogólnie o szkolenia, które będą dla Ciebie dostępne, ponieważ zwłaszcza na początku, fajnie by było, gdybyś także w domu po pracy czytał i ćwiczył kodowanie. W ten sposób również przyśpieszysz swoją integrację z zespołem i produktem, a  Twoje pytania będą coraz bardziej konkretne.

Podsumowanie

Podsumowując, pierwszy okres pracy w nowej firmie jako stażysta, mogę powiedzieć, że wszystkie moje wyobrażenia dotyczące pierwszej pracy w IT zdecydowanie różniły się od tego, jak tworzenie oprogramowania wygląda naprawdę. Nowe środowisko, nowi ludzie, oraz samo programowanie, które jest zdecydowanie odmienne od tego, które znasz na co dzień, potrafi być nieco przerażające. 

Najważniejsze to się nie poddawać oraz pytać, pytać i jeszcze raz pytać, nawet gdy pytania wydają Ci się głupie. Pozwolą Ci one zaoszczędzić naprawdę sporo czasu, ale też poznać ludzi, którzy będą Ci pomagać. Z czasem tych pytań będziesz zadawać coraz mniej, a Twój wkład w kolejne sprinty będzie coraz większy. 

<p>Loading...</p>