3 miesiące stażu w firmie programistycznej: Opis, odczucia, podsumowanie
16.10.2013 18:10
Wraz z końcem września nadszedł koniec moich letnich praktyk w jednej z bardziej znaczących firm programistycznych w Polsce. Miałem w planach zrobić odpowiedni opis poszczególnych etapów mojego stażu na bieżąco, ale plan ten umarł wraz z właściwą pracą i chęcią wykorzystania długich letnich wieczorów po powrocie z pracy.
Wrócił październik, nadszedł czas powrotu na II rok studiów informatycznych i zrobienia kilku podsumowań (studiuję na WAT i także chcę zrobić podsumowanie 1‑wszego roku ;)), które planowałem już od pewnego czasu. Zatem zapraszam do wpisu!
Gdzie aplikowałem i jak poznałem firmę?
O firmie do której aplikowałem na letnie praktyki dowiedziałem się, gdy pojawiła się na targach pracy na moim wydziale i tam też nawiązałem kontakt z miłym panem z działu HR. Firma jest młodym (10‑letnim) polskim przedsiębiorstwem i znajduje się w pierwszej 50‑tce najszybciej rozwijających się firm w Europie. Dowiedziałem się tam o tym, że firma poszukuje studentów z jakąkolwiek znajomością C# i dowolnym, wartościowym dorobkiem w portfolio. Miły pan z HR‑u opowiedział mi także o tym jak funkcjonują praktyki w firmie i że często mają one za zadanie wyłonić potencjalnych pracowników. Na końcu wypełniłem krótką ankietę, w której podałem swoje zainteresowania w zakresie jakiegokolwiek developmentu i wypełniłem pola ze znajomością technologii w skalii 1‑5 (np.: Javascript, C#, SQL, HTML/CSS, itd.)
Kilkanaście tygodni później w maju otrzymałem E‑Mail od tego samego Pana, w którym napisano, że firma jest zainteresowana mną jako potencjalnym praktykantem oraz poproszono mnie o przesłanie przykładowych projektów przy których wcześniej pracowałem.
Jako, że robiłem kilka projektów w technologiach skupionych wokół .net i nie tylko, zaraz uploadowałem zipy z przykładowymi projektami wykonanymi dla różnych firm i udostępniłem linki w wiadomości zwrotnej. Dwa tygodnie później jeden z developerów z firmy przejrzał projekty i… zostałem zaproszony na rozmowę kwalifikacyjną na praktyki :)
Rozmowa kwalifikacyjna
Na rozmowie kwalifikacyjnej po raz pierwszy zobaczyłem biuro, pomieszczenia w których wszyscy pracują, obejrzałem kuchnię i kilka innych miejsc. No i oczywiście porozmawiałem z osobą, która miała wcześniej do czynienia z moimi próbkami kodu źródłowego. Osoba, która prowadziła moją rozmowę kwalifikacyjną jest jednym z prowadzących grupę .net w Warszawie, więc można powiedzieć, że miałem do czynienia z szychą ;)
Ciężko naszą rozmowę nazwać typową rozmową kwalifikacyjną. Nazwałbym to bardziej niezobowiązującą rozmową dwójki programistów. Najpierw poproszono mnie abym opisał ogólne dzianie mojej aplikacji bazodanowej dla pewnej firmy. Opowiedziałem o sposobie przekazywania danych między aplikacją kliencką a aplikacją serwerową oraz o możliwościach obiektowości C#, których zdecydowałem się użyć.
W drugiej części naszej rozmowy poproszono mnie abym omówił różnice w zarządzaniu pamięcią w C/C++ a C#, podyskutowaliśmy trochę o joinach w SQL i możliwościach dziedziczenia w różnych językach programowania.
Tydzień później dowiedziałem się, że czekają mnie 3‑miesięczne praktyki w firmie, w której pracują ludzie z pasją taką jak moja. I co najlepsze – za każdy z tych trzech miesięcy firma była gotowa zapłacić za moją pracę, pomimo że byłem tylko praktykanem.
Początki
Wszystkie rzeczy, które miałem do wykonania na praktykach, wykonywałem wraz z 4 kolegami, którzy również przeszli przez trudy rozmowy kwalifikacyjnej :)
Przez 3 miesiące korzystaliśmy z biznesowych Delli z procesorami Core i3/i5, minimum 4 GB pamięci operacyjnej oraz ze środowiska Visual Studio 2012 i Team Foundation Server, aby praca grupowa była wygodna. Co prawda do teraz nadal nie jestem przekonany do TFSa, bo kilka razy nas zawiódł. Dlatego też we własnych projektach pozostanę przy GIT i SVN.
Już w pierwszych dniach praktyk przekonałem się, że wymagania postawione nam na rozmowie kwalifikacyjnej były dosyć wyśrubowane, ponieważ moi koledzy stażyści w wielu dziedzinach developerki prezentowali świetną wiedzę praktyczną i teoretyczną.
W ciągu pierwszych dwóch tygodni praktyk zajmowaliśmy się problematyką NoSQL i RavenDB.
Duży projekt i wielkie zaangażowanie
Po zapoznaniu się z bazą danych RavenDB zaczęliśmy się zajmować projektem repozytorium materiałów cyfrowych z dostępem dla dziennikarzy dla jednego z większych warszawskich muzeów. Projekt był oczywiście wykonywany dla muzeum za darmo.
Opracowując projekt dla tego muzeum, zostaliśmy potraktowani jak pełnoprawni pracownicy. Obowiązywały nas te same zasady – jak codzienne spotkania, na których mówiliśmy co zostało zrobione, co zamierzamy zrobić i jakie widzimy zagrożenia.
W tym czasie miałem okazję pracować z analitykami, testerami, a także spróbować prototypowania aplikacji zarówno w darmowym Pencilu jak i płatnym Axure. Moją zabawę z prototypowaniem będę wspominał dobrze, pomimo tego, że wiedza zdobyta z zakresu prototypów była zaledwie wierzchołkiem góry lodowej, jaką jest ta tematyka.
Sam projekt wykonywaliśmy na bazie kodu istniejącego CMSa, który wcześniej był użyty do projektu jednej z największych polskich stacji radiowych. Może to stworzyć złudne wrażenie, że mieliśmy mało pracy. Jest to faktycznie wrażenie złudne. Codziennie wkładaliśmy wielki wysiłek w oczyszczenie CMSa ze „śmieci” po stacji radiowej, zaś praktycznie cała logika biznesowa, front end i związane z nim Javacripty były do napisania „od zera”. I było to świetne doświadczenie! Mogłem popracować na istniejącej bazie kodu źródłowego, czyli pracować z nieswoim kodem. Ponadto nauczyłem się pracy w grupie i związanym z nią rozwiązywaniem problemów. Projekt był tym bardziej ciekawy, bo nie skorzystaliśmy z dobrodziejstw nowoczesnego ASP.NET MVC, a byliśmy zmuszeni korzystać ze sprawdzonych WebFormsów ze względu na starą architekturę CMSa . I dobrze – nauczyło mnie to wytrwałości w warunkach, gdy „z góry” przychodzą założenia projektowe, w których nie można zacząć nowego projektu z najnowszymi i przyjemnymi technologiami.
Atmosfera w firmie
Podsumuję to krótko – tylko więcej takich firm. Atmosfera w firmie sprzyja kreatywności, a co jest dla mnie ważne – nie ma żadnego dress codu. Każdy zależnie od pogody może przyjść w szortach i T‑Shircie albo i stylowych kaloszach w deszczowy dzień :) W przerwach można korzystać do woli z ekspresu do kawy i niewyczerpanych zapasów mleka, z czego oczywiście ochoczo czerpałem pełnymi… filiżankami. Bardzo przypadła mi do gustu atmosfera w kuchni, gdzie często toczyły się absolutnie niedeveloperskie rozmowy.
Rzeczą na którą trzeba było uważać szczególnie było blokowanie ekranu. Jedno odejście od komputera z niezablokowanym ekranem, skutkowało rozesłaniem do całego działu R&D oferty z hamburgerami dla chętnych i innymi rzeczami, które na łamach blogu pominę szeroko się uśmiechając :)
Co dalej?
Firma finansuje dla mnie wypad na Microsoft Technology Summit i oczekuje mojego powrotu w wymiarze 1 etatu na 3 rok studiów. A ja oczekuję, że po moim powrocie praca da mi równie dużo satysfakcji jak podczas praktyki. Rozwinąłem swój warsztat programistyczny, zyskałem mnóstwo doświadczenia i dostałem wielki bonus do ambicji. Było świetnie!
W pigułce
Co było fajne?
[item]Ciekawy projekt dla prestiżowego klienta[/item][item]Świetny wpis do CV[/item][item]Mnóstwo doświadczenia[/item][item]Za rok wracam jako junior developer[/item][item]Wspaniali ludzie[/item][item]Dużo kawy i mleka[/item][item]Kreatywna atmosfera i fajne biuro[/item][item]VPN i możliwość pracy zdalnej[/item]
Co nie było fajne?
[item]Praca z kilkoma oknami ze źródłami na 1366x768 na 15"? Błagam...[/item][item]Niespecjalnie mocne komputery lubiły przymulić na wielkiej solucji, oj lubiły....[/item][item]Solucja z kilkudziestoma projektami[/item][item]Fanem TFSa to nie jestem i nie będę[/item][item]Czasami projekt stał dla całego zespołu w miejscu z powodu problemu "nie do obejścia"[/item]