Prolog
Odkąd pamiętam, zawsze lubiłem majsterkować. Rozkręcać, ulepszać, naprawiać, robić to samemu. Częste prace z tatą nauczyły mnie dokładności i perfekcyjności – nawet w najmniej istotnych rzeczach. Poligonem doświadczanym był mój BMX (dziś już ponad dwudziestopięcioletni). Pomimo wieku, na każdym robił wrażenie. Niebieska perła z płonącym lakierem, bezszelestnie jadąca po asfalcie. Z czasem mój zapał roznosił się na dziedziny elektroniki i komputerów. To właśnie dzięki tak małym elementom życia codziennego poczułem chęć ciągłego doskonalenia się. Do niedawna nie wiedziałem, jak dużo im zawdzięczam.
Projekt wakacyjny
Po kilkunastominutowej rozmowie z architektem byłem zadowolony. Nic tak nie dodaje pewności siebie jak uczucie, że zrobiłeś na kimś wrażenie. Moim projektem wakacyjnym okazała się aplikacja webowa oparta o ASP.NET MVC wraz z architekturą Domain-Driven Design, rozpoczęta przez studentów rok wcześniej. Był to typowy dashboard monitorujący komponenty architektury, pozwalający na podstawowe działania przyśpieszające prace supportu i działu testów. Projekt miałem współtworzyć z Elą, inną stażystką o której wspomniałem w poprzedniej części. Duet developer – testerka zapowiadał się niezwykle ciekawicie, więc po kilku minutach poświęconych na sklonowanie repozytorium otworzyłem solucję – ponad piętnaście podprojektów, architektura o której nie mam pojęcia… Nie. Zacznę jutro.
Począwszy od następnego dnia, praca ruszyła powoli. Na początek baza danych, z którą miałem się komunikować – tabele, relacje i workflow przepływu danych. Proste, można przejść do następnego punktu – solucji Visual Studio. Na wstępie zabrałem się za prześledzenie zaimplementowanej infrastruktury. Idąc od części UI, zauważyłem Repository Pattern ubrany w ogromny nadmiar warstw komunikujących się ze sobą poprzez interfejsy, kilkanaście klas typu Data Transfer Object, sporo ręcznych mapowań i tych robionych za pomocą cudownej biblioteki – AutoMappera. Schodząc coraz niżej dotarłem do źródła zasilającego system – repozytorium opartego na NHibernate. Pomimo, że projekt na początku wyglądał na mocno przerośnięty – powoli wszystko stawało się coraz bardzie jasne. Taka infrastruktura była bardzo łatwa w rozbudowie i utrzymywaniu, a w dodatku – pozwalała nauczyć się wielu profesjonalnych podejść do projektowania aplikacji. GUI było oparte o wiele kontrolek firmy Telerik czy jQuery UI – świetnie. Po kilku latach pracy jako freelancer, miałem dość front-end’u. Im mniej programowania po stronie przeglądarki, tym lepiej.
Następne tygodnie mijały strasznie szybko. Praca, intensywne kodowanie, integracja z zespołem i zwiedzanie Wrocławia – jak ja lubię to miasto! Cały spokój został zachwiany jednym telefonem od mojej mamy.
Wyrzucony z uczelni
Poinformowała mnie, że uczelnia wysłała do mnie list polecony. Byłem pewny, że chodzi o akademik. Mieszkałem nim przez pierwszy rok i wyprowadzając się nie złożyłem podania o przyznanie miejsca na przyszłe semestry. Pozwoliłem mamie otworzyć list, lecz przez następne kilkanaście sekund słyszałem tylko ciszę, a po niej dwa słowa wypowiedziane przerażająco smutnym głosem:
Wyrzucili Cię
Za co? Dlaczego? Te pytania zajmowały mój umysł przez najbliższe godziny. Telefon Centrum Obsługi Studenta był niczym widmo – nikt go nie odbierał lub celowo odkładał słuchawkę. Zainwestowałem kilka złotówek kupując pakiet darmowych połączeń – tak łatwo nie dam się spławić. Po kilku godzinach wydzwaniania, ktoś odebrał telefon.
Proszę więcej nie dzwonić, pracownicy biura Pańskiego wydziału są na urlopie
Kto dał urlop wszystkim osobom reprezentującym mój wydział w tym samym czasie?
Po dwóch tygodniach udało mi się skontaktować z pracownikami politechniki. Według nich, ciągle byłem studentem, a sekretariat nic nie wysyłał. Na pewno – przecież mieliby odnotowane w historii. W tym momencie poczułem, że dalsza rozmowa nie ma sensu. Przede mną leżało pismo podpisane przez Prodziekan ds. Edukacji oraz kilka pieczątek.
Po blisko miesiącu do mojego domu trafił kolejny list – sprawa wydalenia z uczelni została anulowana. Bez przeprosin, tłumaczeń ani dodatkowych informacji. Ot tak.
Wrocław Koduje
Na początku sierpnia w naszym projekcie pojawiła się nowa osoba. Kilka lat ode mnie starszy praktykant – Jakub, który miał odbyć miesięczny staż z programu urzędu miasta. W ten oto sposób zostałem nieoficjalnym mentorem. Po ponad tygodniowym wdrożeniu, Kuba dołączył do mnie i Elżbiety. Pomimo tylko miesięcznego szkolenia z C#, nowy członek zespołu zdecydowanie dobrze sobie radził i prace mocno ruszyły do przodu. Udało mu się nawet zostać na następne trzy miesiące, a ja nauczyłem się kolejnej bardzo ważnej rzeczy – pracy zespołowej i podziału zadań.
Projekt coraz bardziej się rozrastał i pojawiały się drobne problemy. Do najtrudniejszych należała przebudowa repozytorium i kaskady dla ORMa tak, aby obsługiwał N baz danych. Zadanie wyglądało teoretycznie prosto, jednak zaprogramowana implementacja sprawiała kilka problemow. Wspólnie z Jakubem postanowiliśmy kontynuować zasadę otwarte-zamknięte i napisaliśmy własne rozszerzenie. Ku naszemu zdziwieniu – miesiąc później pojawił się oficjalny feature w NHibernacie pozwalający na to samo.
Program urzędu miasta oceniam bardzo pozytywnie. Osoby, które nigdy wcześniej nie były związane z IT mogły nauczyć się programować w Javie lub C#, by następnie zostać stażystami w jednej z kilku korporacji. Z pewnością tylko garstka z nich zostanie zawodowymi programistami, jednak wszyscy zdobędą doświadczenie i będą mieć solidną podstawę do znalezienia pracy.
Chcę zostać
Ósmego Sierpnia obchodziłem dwudzieste urodzin. Za półtora miesiąca staż miał się skończyć, a ja wrócić do codzienności Opola i studiowania. Po krótkiej analizie i rozmowie z najbliższymi mi osobami postanowiłem zostać we Wrocławiu i kontynuować karierę. Opole, podobnie jak większość miast zdecydowanie odbiega od stolicy dolnego śląska czy Warszawy pod względem możliwości rozwoju osobistego i kariery. Jedyną szansą na wybicie się było pozostanie. Kilkanaście dni później wakacyjny projekt nabierał końcowych kształtów, a ja postanowiłem porozmawiać z Team Leaderem naszego zespołu na temat mojej przyszłości z firmie. W ciągu kilku minut sytuacja stała się niesamowicie jasna. Usłyszałem bardzo wiele miłych słów i informację, że od kilku tygodni jestem brany pod uwagę jako etatowy Software Developer. Następne trzy tygodnie minęły niezwykle szybko, głównie na usprawnieniach GUI i robieniu pobocznych zadań, np. wdrożeniu continuous integration na środowisko QA.
23 września, tydzień przed końcem stażu udało się zamknąć wszelkie formalności. Mając dwadzieścia lat spełniłem osobisty cel, który wyznaczyłem sobie na okres studiów – zostałem etatowym programistą w znanej korporacji. Czy żałuję?
Podsumowanie
Jak oceniam cały program praktyk studenckich? Według mnie jest to świetny pomysł, który pozwala młodym osobom zdobyć doświadczenie i pokazać umiejętności, a nawet zdobyć pracę. Oprócz mnie, w Volvo zostało sporo osób, m. in. Ela – aktualna gwiazda zespołu. Oprócz korzyści materialnych zdobyłem również wiele znajomości, kontaktów i przyjaźni. Gdybym miał wymienić najważniejszą rzecz jaką nauczyłem się w tamte wakacje, wybrałbym pewność siebie. To ona pozwoliła mi rozwinąć skrzydła i odkryć ile jestem wart.
Jeśli jesteś młodym programistą i chciałbyś przeżyć przygodę podobną do mojej – zacznij działać, uczyć się i uwierz w siebie, we własne umiejętności. Jestem żywym przykładem, że można. Być może w tym roku to właśnie ja będę odbierał Cię z poczekalni w wielkim holu firmy 🙂
Ode mnie
Długo czekałem, aby spisać moją historię. Czas, który minął od stażu pozwolił mi na swobodne, obiektywne spojrzenie. Niezmiernie dziękuję wszystkim za tak pozytywny odbiór mojego bloga. Przekracza on wszystko to, co mogłem sobie wyobrażać. Ten post jest ostatnim z cyklu 19-latka w korporacji, jednak już niedługo nowa seria.