Junior – Akt II

Wysiadam z autobusu. Po pięciu minutach spaceru staję przed budynkiem firmy. Jest ogromny! Wchodzę do środka. Poczułem się mały. Jestem przekonany, że w tamtej chwili rozglądałem się wokół siebie z otwartą buzią. Zagubiony podszedłem do recepcji. Miły pan w garniturze wskazał mi drogę. “Zdaje się, że jestem nieodpowiednio ubrany” – pomyślałem przeglądając się w lustrze w windzie. Wysiadłem z windy. Jednak mój ubiór był w porządku. To piętro z pewnością należy do programistów. Kolorowe koszulki z krótkimi rękawkami pozwalały ich odróżnić od ludzi z parteru. Podczas rozmów rekrutacyjnych na staż, programiści również różnili się wyglądem od rekruterów z działu HR, czy od szefów projektów. Historie słyszałem różnie, począwszy od programowania w piwnicy, przez długą brodę i okulary, aż po koszulki poplamione sosem pomidorowym z pizzy. Cóż, wyglądają po prostu… normalnie.

– Cześć, jestem Maciek! Jesteś jednym z nowych stażystów? – zapytał jeden z nich, gdy mnie zauważył.
– Tak. Cześć, jestem Mateusz.
– Świetnie! Reszta stażystów już jest, czekaliśmy tylko na ciebie. Chodź, pokażę Ci twoje biurko, zostawisz przy nim swoje rzeczy i podejdziemy do sali konferencyjnej. Posadzimy cię niedaleko Piotrka, jednego z programistów w naszym projekcie. Będzie ci pomagał.

Mój własny mentor!

– Jesteśmy już w komplecie. To jest Mateusz. – Maciek przedstawił mnie każdej osobie. Na początku czułem się nieco skrępowany, ale to uczucie szybko minęło. Przemiła atmosfera sprawiła, że się wyluzowałem. W końcu na to czekałem. Znalazłem się na stażu, zostałem młodszym programistą. Po wielu rozmowach, egzaminach i różnych etapach rekrutacyjnych, nareszcie poczułem się w pewien sposób doceniony. Poczułem, że jednak nie jestem do bani, nie jestem tylko głupim studentem z trzymiesięcznym doświadczeniem w Javie. Teraz, gdy czeka mnie nauka wprost od mentora, który został mi przydzielony, wszystko się jakoś ułoży. Na pewno nauczę się wielu nowych rzeczy.
– Mateusz, poznaj Piotrka – uścisnęliśmy sobie dłonie.
– A więc to ty jesteś moim stażystą? No dobrze, zobaczymy, co z tego będzie! – powiedział i zaśmiał się. Ja również się zaśmiałem. Poziom stresu podniósł mi się nieznacznie, ale wyczuwalnie. To pewnie zwykłe żarty.

Poznałem pozostałych stażystów, było ich dwoje, dziewczyna i chłopak. Dziewczyna miała na imię Magda, była brunetką średniego wzrostu, z włosami ściętymi do ramion. Nosiła okulary. Chłopak był wysokim blondynem, bardzo szczupłym, nazywał się Rafał. Oboje byli ubrani podobnie do mnie, zwyczajnie – t-shirt, krótkie spodenki i trampki. Od razu mi ulżyło. Wydawali się bardzo mili. Spędzę z nimi kolejne trzy miesiące, dlatego dobrze jest poznać się lepiej. Pewnie będzie jeszcze niejedna okazja. Każdemu juniorowi – juniorzy, tak właśnie do nas mówili – został przydzielony mentor. Moim był Piotrek, natomiast Magda dostała Adama, a Rafał Norberta. Mentorzy poprosili nas, żebyśmy kolejnego dnia pojawili się w biurze o 9 rano.

Pojawiłem się już o 8. Miałem czas żeby zjeść śniadanie i rozejrzeć się po biurze. Wszystko tutaj było! Stoły do piłkarzyków, darmowa kawa, herbata, woda. Dostałem nawet swój własny komputer!

Reszta zespołu powoli się zbierała, aż w końcu wybiła 9. Mentorzy wprowadzili nas w szczegóły stażu. Opowiadali o projekcie, jak powstał, jakie technologie zostały w nim użyte, czym zajmują się teraz. Niesamowite! Ten system jest ogromny! Kilkaset tysięcy lini kodu! Po wprowadzeniu dostaliśmy czas na zaznajomienie się z kodem projektu już indywidualnie. Przydzielono nam dostęp do dokumentacji projektowej. Mogliśmy znaleźć tam informacje chociażby o przyjętej architekturze. Wiem, mądrze to wszystko brzmi, aczkolwiek jeszcze nic z tego nie rozumiałem. Dokumentacja? Architektura? Poszliśmy razem z mentorami na lunch, a po lunchu zagraliśmy w piłkarzyki. Było super! Czułem, że chciałbym pracować w tej firmie!

Kolejnego dnia dostaliśmy pulę zadań do wykonania, głównie naprawienie różnych błędów. Mogliśmy je rozdzielić między sobą. Zgłosiłem się do jednego z nich. Przeczytałem kilka razy opis problemu. Nie bardzo wiedziałem od czego zacząć. Chyba na początku powinienem spróbować odtworzyć ten błąd. Tylko jak się dostać do tej części systemu? Widzę go dopiero po raz drugi na oczy, jeszcze nie znam wszystkich jego funkcjonalności. Zauważyłem, że Magda i Rafał również utknęli w swoich zadaniach, bo rozmawiają właśnie ze swoimi mentorami.

– Piotrek, czy mogę Cię prosić o pomoc? Nie wiem jak…
– Już w pierwszym zadaniu? No ładnie, ładnie. No dobra, co tam jest do zrobienia? – przerwał mi w pół zdania. Pokazałem mu ekran mojego komputera.
– Nie wiem, jak odtworzyć ten problem. Próbowałem…
– Czekaj, czekaj. Przeczytam.

Czytał skupiony. Miał brązowe włosy, przystrzyżone bardzo krótko, niebieskie oczy i okulary. Był średniego wzrostu, nieco wyższy ode mnie.

– Aha! To przecież proste jest. Piętnaście minut i powinieneś to skończyć. Co ode mnie chciałeś? A! Jak go zreprodukować? Patrz.

Używał klawiatury sprawnie i szybko. Ani razu nie dotknął myszki! Musiałem mocno się wysilić, żeby zapamiętać całą ścieżkę i żeby nadążyć za wszystkimi jego ruchami. Wydaje mi się, że zapamiętałem. Podziękowałem mu i szybko wróciłem na swoje miejsce. Przeszedłem kroki reprodukcji – tak to się podobno nazywa – jeszcze kilka razy, żeby je dobrze zapamiętać. Udało mi się odtworzyć problem, teraz czas na jego naprawienie. Szukałem miejsca w systemie, które mogło powodować nieprawidłowe działanie. Nie było to takie proste. Ta funkcjonalność obejmuje dziesiątki klas! Błąd prawdopodobnie nie występował tylko w jednym miejscu. Wiele innych klas korzystało z funkcji, które właśnie badałem, a z tych innych klas korzystało jeszcze więcej kolejnych. Moje programy na studiach miały po dziesięć klas, a tutaj dziesięć korzysta z tej jednej… Jaki ten system jest ogromny! Spróbuję zaproponować jakieś rozwiązanie, ale i tak muszę je skonsultować – nie rozumiem wszystkiego, co się dzieje w tym kodzie, ale tych kilka metod jest w miarę zrozumiałych.

– Hej Piotrek, masz może chwilkę?
– Ta, zbierałem się właśnie na kawę. Co tam?
– Badałem ten problem, o którym rozmawialiśmy wcześniej…
– Jeszcze to robisz? – spojrzał na zegarek – Przecież minęła już godzina! Tam problem pewnie jest w… – i wymienił kilka miejsc, które faktycznie badałem.
– Tak, tak. Podejrzewałem, że błąd jest w tamtym miejscu…
– To w czym problem? – odpowiedział nieco zniecierpliwiony. Patrzył na mnie i na kuchnie za moimi plecami, na mnie i znowu na kuchnie.
– Mógłbyś spojrzeć? Nie jestem pewny tego rozwiązania.
– Pokaż. – wziął ode mnie komputer, sprawdził wprowadzone przeze mnie zmiany – Nie, nie, nie. Tak tego nie możesz zrobić. Nie widzisz? Ten i ten serwis również z tego korzystają i przestaną poprawnie działać. Zmień to i to – po czym sam zmienił tę część kodu przy mnie. – Dobra, idę na kawę – podziękowałem, ale chyba nie usłyszał, był już w połowie drogi do kuchni.

Wziąłem się za kolejne zadanie. Błąd występował w zupełnie innej części systemu. Przez ponad dwadzieścia minut próbowałem go odtworzyć. Nie udało mi się. Widziałem, że Magda pracuje już nad trzecim z kolei zadaniem, a Rafał zabrał się właśnie za czwarte. Oboje dużo rozmawiają ze swoimi mentorami. Zamiast podejść do Piotrka, postanowiłem do niego napisać. Wiem, że siedzi dwa biurka dalej, ale nie chciałem go odrywać od jego pracy. Chyba ma dużo na głowie i pewnie stąd to zniecierpliwienie moimi pytaniami.

Przez kolejne piętnaście minut nie odpisywał. W końcu wstał i ruszył w stronę korytarza.

– Piotrek! Znalazłbyś może dla mnie chwilę? Mam pytanie o zadanie, za które się zabrałem. Nie potrafię go odtworzyć.
– Zreprodukować tak? No to jak nie potrafisz, to daj na testy. – i poszedł.

Odetchnąłem z ulgą. Już straciłem na to zadanie ponad trzydzieści minut, a jeszcze nawet nie zabrałem się za jego naprawę. Za radą Piotrka przeniosłem to zadanie do testów. Tak właśnie pracujemy na co dzień. Z puli zadań, które wzięte zostały do zrealizowania przez dwa tygodnie, biorę jedno po drugim, implementuję rozwiązanie (juniorzy głównie powinni rozwiązywać niedziałające funkcje systemu – “bugi” – tak nam powiedziano), potem sprawdzają to rozwiązanie inni programiści, a potem testerzy. Gdy zadanie zostało poprawnie zaimplementowane i działa jak należy, to uważane jest za skończone.

Kolejny dzień rozpoczął się nieoczekiwaną sytuacją. Podeszła do mnie testerka Edyta i mówi:

– Ej, młody. Ty robiłeś to zadanie? Co ty tutaj nawywijałeś? – wskazała na zadanie, które wczorajszego dnia przeniosłem do testów.
– Yyy, tak. Nie potrafiłem go zreprodukować.
– To trzeba było mnie zapytać. Ja zgłosiłam ten błąd. Tutaj jest napisane. – wskazując na autora zgłoszenia nacisnęła palcem na ekran laptopa, wyginając go przynajmniej o 30 stopni. Była bardzo zdenerwowana. – Od dwudziestu minut testuję to zadanie. Nie działało. Nadal działo się to, co dokładnie było opisane w zadaniu. Pomyślałam sobie: “Nieee, no na pewno coś tam naprawili. Może na wersji developerskiej to działa, a z jakiegoś powodu na testerskiej nie.”. Zaczęłam sprawdzać, testować, szukać, o co może chodzić. A tu nadal nic, błąd występuje wszędzie. Sprawdziłam więc, tak tylko dla pewności, czy jakiekolwiek zmiany dla tego zadania zostały wykonane. Okazało się, że nie! Task po prostu przerzucony do testów bez ani jednej linijki kodu, żadnego komentarza, żadnej informacji. – po tym zdaniu przerwała. Patrzyła na mnie wściekłym wzrokiem.
– Nie potrafiłem go zreprodukować. Wykonywałem kroki opisane w zadaniu. Wszystko działało jak należy.
– A czytałeś może komentarze? Tam jest przecież cała dyskusja o tym zadaniu.
– Komentarze? – złapała za myszkę i pokazała mi, gdzie znajdują się komentarze do zadania.
– Na drugi raz zapytaj, jeżeli czegoś nie jesteś pewny, albo gdy nie potrafisz zreprodukować zadania, a nie jakąś samowolkę tutaj odstawiasz. Mamy już wypracowane konkretne procesy i warto o nich pamiętać. Im szybciej je ogarniesz tym lepiej, oszczędzisz swój i mój czas. – powiedziała i odeszła zdenerwowana.

Było mi wstyd. Edyta mówiła podniesionym tonem głosu, wszyscy wokoło z łatwością mogli usłyszeć całe zdarzenie. Rozejrzałem się wokół siebie. Mentorzy zerkali to na mnie, to na siebie. Stażyści również się na mnie gapili, a gdy tylko patrzyłem w ich stronę, opuszczali wzrok, udając, że są czymś zajęci. Spojrzałem na Piotrka. Słyszał całe zdarzenie i nie odezwał się ani słowem. Po wszystkim założył tylko z powrotem słuchawki, które wcześniej ściągnął, żeby posłuchać całego zdarzenia.

Kolejne dni wyglądały podobnie. Gdy wróciłem w piątek do domu, odetchnąłem z ulgą. Nie tak to sobie wyobrażałem. Może kolejne tygodnie będą lepsze. Na pewno.

– Hej! Masz sekundę? Mam problem z jednym zadaniem.
– Jasne, poczekaj chwilkę… Już! Co tam? Pokaż mi proszę, co robimy.
– To. Chyba nie do końca ogarniam, o co chodzi w tym zadaniu.
– O widzisz. Jest bardzo technicznie opisane. Kiedy to było zgłoszone? Miesiąc temu. Już niektórych komponentów opisanych w tym zgłoszeniu, po prostu nie ma. No dobra, popatrz, problem występuje tu i tu. Spróbujmy może najpierw zobaczyć, jakie są skutki dla użytkownika, i czy w ogóle jakieś są, żebyśmy potem wiedzieli, czego spodziewać się po zmianach.
– Jasne, ma to sens.

Obserwowałem Magdę i Adama z zazdrością. Często ze sobą współpracowali. Wiedziałem, że Adam jest miły i pomocny. Wiem, że jego obowiązkiem jest pomaganie Magdzie, nie mnie, ale postanowiłem spróbować. Piotrek na pewno jest zajęty i tylko by mnie skrytykował.

– Adam, mógłbym cię prosić o pomoc? – zbierałem się długo, lecz w końcu zapytałem.
– Hej, yyy, jasne. Co tam robisz? – opisałem zadanie, którym się zajmowałem.

Adam pomógł mi je rozwiązać, ale musiałem dojść do rozwiązania samodzielnie. On mnie tylko naprowadzał. W trakcie pracy z nim dowiedziałem się o więcej o działaniu systemu, niż przez cały poprzedni tydzień. Niestety, gdy kolejny raz potrzebowałem pomocy, poprosił mnie, abym podszedł z tym problemem do Piotrka, bo nie da rady niestety pomagać mnie i Magdzie, zbyt wiele czasu by mu to zajęło.

– Piotrek, próbuję naprawić błąd, który opisany jest w tym zadaniu, ale nie wiem, co on oznacza i gdzie leży problem.
– A googlowałeś wcześniej, co on oznacza? – odpowiedział nie odrywając wzroku od ekranu swojego komputera – Na pewno jest on gdzieś opisany i znajdziesz jakieś rozwiązanie.

Niestety nic przydatnego nie potrafiłem znaleźć, a większości rozwiązań na podobny problem nawet nie rozumiałem. W końcu pomógł mi Rafał, przechodził obok i zagadał, czym się teraz zajmuję. Na szczęście naprawiał już ten problem, tylko w innej części systemu.

Następnego dnia przyszedłem do biura nieco później niż zwykle. Do ekranu mojego komputera przylepiona była kartka, a na niej Bart Simpson wypisujący:

Użyję Google, zanim zadam głupie pytanie.
Użyję Google, zanim zadam głupie pytanie.
Użyję Google, zanim zadam głupie pytanie.
Użyję Google, zanim zadam głupie pytanie.
Użyję Google, zanim zadam głupie pytanie.
Użyję Google, zanim zadam głupie pytanie.
Użyję Google, zanim zadam głupie pytanie.

Widziałem uśmiech na twarzy Piotrka. Uśmiechało się też kilka innych osób, których nie znałem. Siedzieli kilka biurek dalej. Było mi wstyd. Czułem się zakłopotany. Nie wiedziałem, jak się zachować. Uśmiechnąłem się się również pod nosem, udawałem, że mnie to nie dotknęło a nawet rozśmieszyło, ale nie było mi wcale do śmiechu. Chciałem iść do domu. Nie miałem już na to siły. Pewnie czeka mnie kolejne zadanie, z którym będę miał problem i zamiast się na nim skupić i spróbować je rozwiązać, to będę zastanawiał się, czy Piotrek ma dobry humor i mi pomoże, czy lepiej podejść do kogoś innego, czy może lepiej po cichu odstawić to zadanie i zabrać się za inne, łatwiejsze, z którym sam sobie poradzę. Nie nadaję się do tej pracy, do Javy EE. To nie dla mnie.

Jakoś ten dzień mijał. Zabierałem się za te łatwiejsze zadania. Dzisiaj po południu czekało nas spotkanie z klientem. Moje pierwsze. Stresuję się, bo nie wiem, czego się spodziewać. Będziemy podsumowywać naszą pracę i planować zadania na kolejne dni.

Spotkanie trwało dwie godziny. Nie zdawałem sobie sprawy, że można rozmawiać z klientem w tak przyjemnej i miłej atmosferze. Zauważalne było, że cały zespół pracuje już ze sobą od bardzo dawna. Lider zespołu opowiadał klientowi, czym zajmowaliśmy się w ostatnim czasie, a następnie przeszliśmy do planowania zadań na kolejny okres. Dostrzegłem małe zmieszanie na twarzach mentorów, gdy klient poprosił ich o wcześniejszy termin ukończenia kilku zadań. Starali się namówić klienta na nieco późniejszy termin, ale bez powodzenia – w końcu zgodzili się na ten zaproponowany przez niego, powiedzieli, że spróbują zdążyć.

– Co za gościu. Przecież wiadomo, że nie zdążymy. Co on, na głowę upadł? W jeden miesiąc te wszystkie zadania?
– Nauczy się. Damy mu znać za miesiąc, że zadania nie są oczywiście gotowe, to znowu się zdziwi i wkurzy. A przecież już dzisiaj dostał sygnał, że mogą być kłopoty z tym terminem. No ale jak chce wszystko na raz, to jego problem.
– Nic nie wie o sofcie, a terminy nam wyznacza. Powinien nas słuchać, a nie kombinować z datami.
– A ta nowa funkcjonalność, o której dzisiaj wspomniał? Dobrze, że ona również nie została wliczona do tego terminu. Przecież pół roku na nią nie wystarczy. Czemu nam o niej wcześniej nie powiedział? Rzeźbimy już od kilku lat ten system i wystarczyło wspomnieć, że coś takiego może się kiedyś w przyszłości pojawić. Przygotowalibyśmy się na to.
– To jest problem na za miesiąc. Może już nawet nie nasz!

Przysłuchiwałem się tej rozmowie. Podczas spotkania wydawało mi się, że mentorów oraz klienta łączą raczej partnerskie stosunki. Omawiali projekt, ustalali terminy. Natomiast po spotkaniu zachowywali się, tak jakby tylko im przeszkadzał, tak jakby burzył ich spokój kolejnymi zmianami i terminami, jakby był problemem. Pewnie kryje się za tym jakaś dłuższa historia. Widocznie ten klient ma sporo za uszami. Widocznie z klientami nie ma tak łatwo i nie wszystko powinno im się mówić na spotkaniach. Może dla ich własnego dobra?

Atmosfera wokół projektu i w zespole była zadziwiająco dobra. Spędzaliśmy ze sobą sporo czasu, nawet po pracy zdarzało nam się gdzieś wyjść. Jadaliśmy razem lunche i graliśmy w piłkarzyki. Tylko ta nieszczęsna Java EE. Gdy tylko wracałem do komputera, zaczynał mnie boleć brzuch. Nie wiedząc nawet, za jakie zadanie się zaraz zabiorę i tak wiedziałem, że nie chcę go robić, że będę go robił za długo, że jestem zdany na siebie. Jeszcze tylko dwa miesiące do końca stażu. Rozmawiałem ze starszymi kolegami ze studiów. Podobno w przyszłym semestrze na jednych zajęciach będzie można zrealizować projekt na Androida! Prowadzącemu podobno chodzi jedynie o Javę. Aplikacje na telefon? Warto spróbować.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *