Jak wyglądają pierwsze dni w pracy programisty?

Nowa praca zwykle wywołuje wiele emocji – zarówno podekscytowanie, jak i lęk czy tremę. Zadajemy sobie mnóstwo pytań, zastanawiamy się, czy podołamy nowym obowiązkom. Rozpoczęcie pierwszej pracy jako programista nie jest tutaj wyjątkiem. Wielu z nas towarzyszy uczucie, że stoimy w obliczu nieznanego i nic od nas nie zależy. Pojawia się obawa, że najzwyczajniej w świecie sobie nie poradzimy. Obowiązki nas przytłoczą. Nie damy rady. A może jednak jesteśmy w stanie przewidzieć, co może nas spotkać i przygotować się na tyle, aby pierwsze dni w nowej pracy nie przypominały horroru?

Zanim zaczniesz denerwować się pierwszym dniem w pracy, pamiętaj, że to nowa sytuacja nie tylko dla Ciebie, ale również dla Twojego szefa i współpracowników. Te pierwsze dni są zazwyczaj czasem wzajemnego poznawania się, obserwowania. Nie zastanawiaj się zbyt długo nad tym, czy masz odpowiednie kwalifikacje i umiejętności. To zadaniem firmy i jej procesu rekrutacyjnego jest sprawdzenie, czy się nadajesz. Jeżeli pomyślnie przeszedłeś rozmowę kwalifikacyjną i dostałeś pracę, a Twoje CV zawierało prawdziwe informacje i mimo tego sobie nie poradzisz, to jest to wina wyłącznie firmy i jej procedury rekrutacyjnej.

Wiem, że nic nie wiem

Nikt nie oczekuje od Ciebie, że wiesz wszystko na temat danej technologi, biegle potrafisz wykorzystywać framework X, Y, Z i od pierwszego dnia staniesz się widocznym wzmocnieniem zespołu. No nie, tak to nie działa. Nie musisz się o to obawiać. Masz prawo nie wiedzieć wielu rzeczy i zadawać pytania. Nigdy nie spotkałem się z sytuacją, aby kogoś wyśmiano tylko za to, że przyznał się, że czegoś nie wie i chce o to dopytać.

Osoby pracujące na stanowisku junior’a czy generalnie młodszego programisty, mają zdecydowanie większy margines błędu. Oczekiwania w stosunku do osób rozpoczynających swoją przygodę z zawodowym programowaniem nie są aż tak wygórowane. Pracodawca zdaje sobie sprawę, że nowa osoba nie będzie wiedzieć wszystkiego, czasem zdarzy się jakiś błąd, a samodzielność w pracy osiągnie dopiero po jakimś czasie. Dlatego, jeżeli czegoś nie umiecie, nie potraficie ruszyć z rozwiązaniem jakiegoś zadania, albo w trakcie rozwiązywania napotkaliście problem, którego nie możecie przejść, to zgłaszajcie ten fakt i proście o pomoc. To bardzo ważna umiejętność. Przyznawanie się do błędów i proszenie o pomoc. Jestem przekonany, że zawsze znajdzie się jakaś bardziej doświadczona osoba, która pomoże w rozwiązaniu problemu.

Kolejną istotną kwestią jest nauka w czasie pracy. Pamiętaj, że w godzinach pracy, część czasu przeznaczasz na naukę. To absolutnie normalne, że projekt zawiera technologie, w których nie masz doświadczenia. Nie sposób nauczyć się wszystkiego „na zapas”. Nie poświęcaj wszystkich wieczorów i każdego weekendu na doszkalanie się we własnym zakresie z technologi, z których korzystasz w pracy. Odpoczynek również jest ważny i spędzanie nad czymś zbyt dużej ilości czasu przynosi często odwrotne efekty.

Pierwsze dni w pracy

W zależności od specyfiki i polityki firmy pierwsze dni mogą wyglądać różnie, jednak niektóre czynności są nieodłącznym elementem wprowadzania nowego programisty do zespołu. Przedstawienie zespołowi, pokazanie biurka, szkolenie bhp 🙂  i zapoznanie z zakresem obowiązków to dopiero początek. Potem przychodzi czas na przygotowanie środowiska do pracy. Zalogowanie się na konto pocztowe przy pomocy programu do obsługi poczty elektronicznej (np. Outlook). Instalacja środowiska programistycznego (np. Microsoft Visual Studio/Visual Studio Code). Czasami trzeba także zainstalować system zarządzania bazą danych (np. MSSQL) oraz środowisko do zarządzania bazą danych (np. SQL Server Management Studio). Pobranie źródeł ze zdalnego repozytorium (np. przy pomocy systemu kontroli wersji Git). Instalacja i konfiguracja VPN, a właściwie to programu klienta VPN (np. Cisco AnyConnect/OpenVPN). Klient VPN umożliwia tworzenie bezpiecznych połączeń między naszym komputerem, a komputerem klienta. Dzięki temu przy pomocy np. usługi Podłączanie pulpitu zdalnego, możemy nawiązać połączenie z komputerem klienta i przejąć sterowanie. Czasami do uzyskania dostępu zdalnego do pulpitu klienta używa się narzędzi takich jak TeamViewer, Remote Assistant 365 czy AeroAdmin. Następnie przychodzi czas na instalację oprogramowania pomocniczego (np. Total Commander, WinRAR/7-Zip, Notepad++). Ostatnią, ale w zasadzie najważniejszą kwestią jest kontakt z ludźmi z zespołu. Warto od samego początku integrować się z zespołem. Poznać lepiej innych, ale też dać poznać siebie. Atmosfera ma duży wpływ na jakość wykonywanej przez nas pracy. Warto o tym  pamiętać.

Jak wyglądały moje pierwsze zadania w pracy jako programista

Jako nowa osoba rozpoczynałem pracę w trzech miejscach, więc udało mi się zebrać trochę doświadczeń w tym obszarze. Za każdym razem z jednej strony odczuwałem stres i wyzwanie, a z drugiej strony pozytywną dawkę adrenaliny. Firmy, w których miałem/mam okazję pracować mają podobną charakterystykę i obszar działania, ale można zauważyć między nimi dość wyraźne różnice w procesie wdrażania nowego pracownika, co wynika zapewne z wielkości i skali działania przedsiębiorstw. Omówię teraz pokrótce, jak wyglądały moje pierwsze zadania w pracy jako programista w każdej z firm.

Pierwsza praca 

Mikro przedsiębiorstwo zajmujące się wdrażaniem i obsługą systemów ERP (enova 365). 

Pierwszego dnia moim głównym zadaniem było przygotowanie środowiska do pracy. Musiałem zainstalować środowisko programistyczne (Microsoft Visual Studio), system zarządzania bazą danych (MSSQL), środowisko do zarządzania bazą danych (SQL Server Management Studio) oraz system klasy ERP (enova 365). Otrzymałem instrukcje krok po kroku jak to zrobić, a w razie problemów mogłem na bieżąco dopytywać. Drugiego dnia miałem utworzyć demonstracyjną bazę danych wraz z przykładowymi danymi oraz zapoznać się z interfejsem użytkownika systemu enova 365. Przeszedłem szkolenie z podstawowych funkcjonalności systemu enova 365 oraz otrzymałem dostęp do filmów instruktażowych z modułów CRM (zarządzanie relacjami z klientami) oraz Handel (obsługa zamówień i magazynu). Trzeciego dnia miałem uruchomić projekt programu, który dokonuje elementarnych operacji w module Handel, np. dodanie dokumentu, płatności, przeglądanie kartoteki towarów i kontrahentów. Otrzymałem link do projektu na GitHub’ie wraz z instrukcją jak go uruchomić. Przez kilka kolejnych dni zajmowałem się tym zadaniem oraz oglądaniem filmów instruktażowych.

Pierwsze „prawdziwe” zadanie (tz. prace wykonane dla klienta) sprowadzało się do wsparcia wdrożeniowców przy migracji danych. Dokładnie chodziło o wprowadzenie planu kont do systemu enova 365 na podstawie listy dostarczonej od klienta, a następnie eksportowanie danych do programu Excel. Nie było to jednak zadanie stricte programistyczne. Pierwsze zadanie programistyczne dotyczyło dodania nowego formularza w aplikacji wspomagającej pracę w firmach udzielających pożyczek pod zastaw, która bazowała na funkcjonalnościach systemu enova 365. Formularz miał służyć do obliczania kosztów dodatkowych pożyczki, mi. kosztów magazynowania, kosztów naprawy, kosztów transportu. Użytkownik wprowadzał odpowiednie dane, po czym następowały odpowiednie obliczenia, a następnie rezultat zapisywany był w bazie danych. Zadanie realizowałem korzystając z biblioteki WinForms oraz API systemu enova 365.

Jednym z kolejnych zadań było napisanie migratora umożliwiającego przeniesienie danych z zewnętrznego programu do systemu enova 365. W moim przypadku chodziło o migrację danych z systemu SaldeoSMART (program księgowy) do systemu enova 365. Program SaldeoSMART generuje plik w formacie EDI++ na podstawie faktury. Migrator miał zaczytać taki plik i na jego postawie utworzyć ewidencję sprzedaży dla poszczególnych pozycji z dokumentu. Po zakończeniu działania aplikacja miała wyświetlić informacje na temat niepoprawnie dodanych pozycji i zapisać rezultat importu do pliku.

Druga praca 

Małe przedsiębiorstwo zajmujące się wdrażaniem i obsługą systemów ERP (Comarch ERP XL
oraz Comarch ERP Optima), CRM, BI, WMS, DMS oraz rozwiązań autorskich.

Tak jak w przypadku pierwszej pracy, na samym początku moim głównym zadaniem było przygotowanie środowiska do pracy. Musiałem zainstalować środowisko programistyczne (Microsoft Visual Studio), system zarządzania bazą danych (MSSQL), środowisko do zarządzania bazą danych (SQL Server Management Studio) oraz system klasy ERP (Comarch ERP XL). Następną czynnością było pobranie źródeł z repozytorium TFS oraz skompilowanie i uruchomienie z poziomu Visual Studio jednej z aplikacji – systemu do zarządzania produkcją. Drugi dzień upłynął mi na zapoznaniu się z interfejsem programistycznym (Duża Hydra) systemu Comarch ERP XL, który umożliwia tworzenie w systemie własnych dodatków. Dzięki temu, że API systemu Comarch ERP XL było podobne do API systemu enova 365, a charakterystyka pracy w obu firmach dość zbliżona, to w zasadzie po tych dwóch dniach byłem gotowy do wykonywania „prawdziwych” zadań.

Pierwszym zadaniem było napisanie dodatku rozszerzającego funkcjonalność systemu Comarch ERP XL. Klient korzystał ze sklepu internetowego Comarch e-Sklep współpracującego z systemem Comarch ERP XL. Klient prowadził ewidencję towarów i gospodarkę magazynową w systemie ERP i odpowiednio oznaczała towary, które miały wyświetlać się w e-Sklep’ie. Jedną z informacji o towarze wyświetlaną po stornie e-Sklepu był opis. W opisie towaru po stronie e-Sklepu klient chciał wyświetlać kod HTML. Po stronie systemu Comarch ERP XL w pole Opis można było wprowadzić tylko zwykły tekst. Moim zadaniem było przygotowanie dodatku, który umożliwiał wprowadzanie dla danego towaru kilku opisów HTML oraz wybranie opisu domyślnie wyświetlanego po stronie e-Sklepu. Dodałem  nowy formularz, który uruchamiał się po naciśnięciu odpowiedniego przycisku, znajdującego się na karcie towaru w systemie Comarch ERP XL. Na formularzu użytkownik mógł wprowadzić własne opisy przy pomocy edytora kodu HTML, a następnie wybrać domyślny opis. Dodałem także odpowiednie struktury na bazie danych oraz obsługę zapisu, edycji oraz usuwania danych po stronie aplikacji. Moja część prac dotyczyła obsługi mechanizmu tylko po stronie Comarch ERP XL. Inny programista w tym samym czasie zajmował się obsługą mechanizmu po stronie e-Sklepu. Zadanie realizowałem korzystając z kontrolek DevExpress WinForms, API systemu Comarch ERP XL oraz SQL’a. Już przy okazji realizacji pierwszego zadania mogłem doświadczyć nowych dla mnie elementów pracy, tj. współpraca z innym programistą, współpraca z testerką oraz wykorzystanie systemu kontroli wersji.

Trzecia praca

Duże przedsiębiorstwo oferujące kompleksowe programy do zarządzania dla firm i instytucji, w tym systemy informatyczne TETA HR oraz TETA ERP.

Pierwsze dni w mojej trzeciej pracy wyglądały zupełnie inaczej, niż w przypadku dwóch poprzednich firm. Byłem na to jednak przygotowany, ponieważ spodziewałem się, że praca w korporacji wiąże się z przejściem przez określoną liczbę procesów. Pierwszego dnia brałem udział w serii szkoleń (BHP, RODO, itp). Poza tym poznałem mojego team leadera oraz pozostałych członków zespołu. Dowiedziałem się trochę na temat produktu, nad którym będę pracował – systemu TETA HR, pozwalającego na kompleksowe zarządzanie zasobami ludzkimi oraz na obsługę całości procesów kadrowo-płacowych. Na koniec odebrałem komputer oraz resztę sprzętu i przygotowałem swoje biurko do pracy. Następnego dnia standardowo rozpocząłem pracę nad przygotowaniem środowiska. Pobranie i instalacja całego niezbędnego oprogramowania, uzyskanie poświadczeń do wszystkich kont, pobranie źródeł z repozytorium, kompilacja i uruchomienie aplikacji zajęło mi kilka dni. Następnie przystąpiłem do szkolenia wewnętrznego z programowania, które trwało trzy tygodnie. Firma rozwija produkt przy pomocy wewnętrznego framework’a, bazującego na technologiach .NET, WinForms oraz Oracle. Aby w ogóle rozpocząć prace programistyczny nad projektem, należy najpierw nauczyć programować się w specjalnym framework’u oraz poznać obowiązujące zasady i standardy programowania w C# oraz PL/SQL. Po okołu miesiącu byłem gotowy na przystąpienie do pracy nad produktem.

Trafiłem do zespołu, który w tym czasie zajmował się pracą nad modułem PPK – Pracownicze Plany Kapitałowe. Moim pierwszym zadaniem było dodanie w aplikacji TETA HR formularza umożliwiającego ewidencję instytucji finansowych, czyli możliwość wprowadzenia danych o podmiotach gospodarczych oferujących prowadzenie Pracowniczych Planów Kapitałowych. Zadanie realizowałem na podstawie analizy dostarczonej od analityka. Korzystałem z API systemu TETA HR oraz PL/SQL’a. Nowym dla mnie elementem była praca w Scrumie (o tym napiszę więcej w przyszłości), współpraca z analitykiem, mnogość różnego rodzaju spotkań i współpraca nie tyle z innymi programistami, co z zupełnie innymi zespołami.

Podsumowanie

Pierwsze dni w pracy są zwykle stresujące i trzeba to zaakceptować. Staraj się zrobić dobre wrażenie. Pamiętaj, że po drugiej stronie też są ludzie, którzy w większości chcą Ci pomóc, przetrwać te trudne dla Ciebie dni. Osobiście zawsze trafiałem na ludzi, którzy okazywali się życzliwi i pomocni prawie w każdej sytuacji. Nie czuj się przytłoczony mnogością informacji oraz nawałem nowych obowiązków. Kwestią czasu jest, że wszystko stanie się dla Ciebie jasne i przejrzyste. I na koniec: Nie bój się zmian! To nie odłączony element naszego życia.


Bądź na bieżąco!

Dziękuję za przeczytanie tego artykułu i mam nadzieję, że spotkamy się jeszcze na moim blogu. Jednocześnie mam do Ciebie wielką prośbę: jeśli cokolwiek co przeczytasz na tym blogu uznasz za wartościowe, to KONIECZNIE mi o tym napisz (w komentarzu, bądź mailowo). Każdy potrzebuje nieco motywacji i znacznie łatwiej będzie mi usiąść do tworzenia kolejnego materiału wiedząc, że Tobie też się to przydaje. Zachęcam Cię do polubienia strony na Facebooku oraz subskrybowania kanału na YouTube.

Polub stronę na Facebooku

Chcesz otrzymywać powiadomienia o nowych artykułach? W takim razie zapraszam Cię do polubienia strony na Facebooku. Miej pewność, że nie przegapisz kolejnych postów!

Subskrybuj kanał na YouTube

Chcesz otrzymywać powiadomienia o nowych praktycznych filmach i tutorialach o programowaniu? W takim razie zapraszam Cię do subskrybowania kanału na YouTube

3