Witam, rozpocznę od wstępu, który przybliży bardziej moją sytuację.
Studiowałem kierunek niepokrewny do informatyki, jednak w połowie ubiegłego roku zainteresowałem się programowaniem, a konkretnie językiem C++. Przerobiłem kurs ze strony cpp0x.pl, spodobało mi się więc potem zakupiłem książkę "Język C++. Szkoła programowania." Praty. Przeczytałem ją od deski do deski plus wykonałem ćwiczenia programistyczne po każdym rozdziale. Nie wykonałem jednak jakiegoś większego projektu w tym języku. Pomyślałem, że fajnie byłoby sprawdzić jak dużo mi brakuje, aby załapać się na juniora w tej technologii. Nauczyłem się podstaw Gita i podstawowych komend Linuxowych. Wysłałem kilka CV, ku mojemu zdziwieniu wiedza, którą nabyłem wystarczyła, aby przejść pozytywnie proces rekrutacji w jednej z korporacji. I tak od stycznia rozpocząłem pracę na stanowisku juniora.
W pierwszym tygodniu konfiguracja środowiska. W drugim tygodniu dostałem pierwszego taska. Ogólnie rzecz biorąc zadanie polegało na tym, żeby przekopiować istniejące już w innym miejscu projektu rozwiązanie problemu podobnego do mojego. Szokiem dla mnie było to jak ogromny jest projekt, po którym się poruszam, ogarnięcie zależności pomiędzy poszczególnymi software unitami i to gdzie wstawić konkretne elementy. Choć zadanie szło mi jak krew z nosa to ostatecznie, również dzięki pomocy teamu udało mi się po jakichś 3 tygodniach dostarczyć rozwiązanie pokryte testami. Drugi task polegał na refaktoryzacji sposobu przechowywania danych jednej z klas. Zanim w ogóle ruszyłem musiałem nieco doczytać o bibliotece STL. Tutaj miałem już dużo więcej problemów, ponieważ było wiele software unitów powiązanych z tym refaktoryzowanym i wywaliło się wiele testów. Zadanie znów szło mi jak krew z nosa. Jednak dzięki pomocy teamu, pracy po godzinach i "debuggowaniu dupą" udało się doprowadzić sprawę do końca razem z pokryciem testami w 1,5 miesiąca. Po tym okresie zostałem poinformowany o tym, że pozytywnie przeszedłem okres próbny, co nie było wcale takie pewne.
W kolejnym miesiącu mój zespół dostał nowego ficzera. I tak przez tydzień każdy zapoznawał się z dokumentacją tego jak ficzer ma w ogóle działać. Następnie ficzer został podzielony na poszczególne etapy i tak jeden z nich losowo został mi przydzielony do implementacji i pokrycia testami. No i niestety od dwóch dni nic a nic nie ruszyłem do przodu, choć wcale się przez ten czas nie opierdzielałem i wiem co ma zostać zakodowane. Problem jest w tym, że nie potrafię znaleźć miejsc z projekcie, w których ten kod wklepać. W drugim podejściu próbowałem zacząć od napisania testów, jednak też nie wiem, w którym miejscu projektu je napisać. Dodatkowo nie pocieszający jest fakt, że lider zespołu stwierdził, że moją część jest króciutka i można ją szybciutko klepnąć. No cóż czeka mnie trudna rozmowa z PMem.
Reasumując, dotychczas taski szły mi jak krew z nosa, ale jakoś finalnie udało mi się je realizować. Minęły jednak około 4 miesiące, a ja nadal poważne problemy mam z orientacją w dużym projekcie. Problemy w tym gdzie znaleźć miejsca, w których wklepać konkretne rzeczy. Czuję się jak debil, bo pozostali członkowie zespołu klepią kod aż miło popatrzeć. Osobiście uważam, że powinienem taski realizować szybciej i po takim czasie już orientować się w miarę w projekcie, a co Wy o tym sądzicie? Poza tym moje przygotowanie przed pracą pozostawia sporo do życzenia, myślicie że realizacja samodzielnie kilku większych autorskich projektów sprawiłaby, że nie miałbym takich problemów w pracy?