Kierunek Babilon pt.2

Minęło już półtora tygodnia od czasu jak zacząłem moją pracę w Sabre i myślę, że jest to dobry czas by pokusić się o małe podsumowanie tego jakie są moje wrażenia i czy moje oczekiwania, które przedstawiłem w poprzedniej części artykułu w jakimś stopniu miały okazję się spełnić.

Dla przypomnienia, powody, dla których postanowiłem zmienić środowisko z PHP na Javę:

  1. Rodzaj projektów – miałem dość projektów typu „strona – wizytówka”, portali, cms-ów etc
  2. Organizacja pracy – brak sformalizowanego procesu wytwarzania oprogramowania, brak specyfikacji, metodologii etc
  3. Zarobki

Czy wobec perspektywy tych trzech powodów, zmiana miała sens ? Jak najbardziej ! Po półtora tygodnia pracy mogę powiedzieć że:

  1. Uczestniczę w projekcie a raczej w rozwoju produktu ze skomplikowaną logiką biznesową
  2. Proces wytwarzania kodu jest ściśle sformalizowany
  3. Oprócz zdecydowanej podwyżki, w stosunku do „PHP-owego okresu mojej kariery”, mam do dyspozycji wiele bonusów (tzw. socjału oraz szkoleń)

Największą różnicą między tym co dotychczas robiłem a tym co teraz robię jest przede wszystkim rozmach. Realizując projekty PHP-owe dotychczas pracowałem zwykle sam, lub maksymalnie w około 5-cio osobowym zespole, który pracował zwykle w jednym pokoju biurko w biurko.

W obecnej pracy, jestem członkiem działu (nie mylić z oddziałem), który tylko w Polsce liczy ponad 100 osób (w firmie, która tylko w Polsce zatrudnia około 1200 osób), jestem członkiem jednego z 4ech zespołów pracujących nad jednym produktem i bezpośrednio współpracuje z około 20-toma osobami. To dość duża zmiana mentalna.

Jeszcze większą mentalną zmianą jest to, że często się zdarza, że nad jednym „user story” (odpowiednik pojedynczego „ficzera”) pracuje nierzadko z kilkoma osobami. Zmienia to zupełnie sposób pracy i wymaga ciągłej komunikacji, zrozumienia i trzymania się ściśle ustalonych standardów.

Kolejnym faktem, który wiele zmienia, są Unit Testy. Pierwszy raz, rozwijam aplikację, której część biznesowa jest prawie w całości pokryta testami jednostkowymi (bo w przypadku frameworków to jest norma).

Generalnie wiele rzeczy prowadzonych jest „książkowo”, jak np. praca w metodyce Scrum. Codzienne „standupy”, iteracje i ich planowanie – uczestniczę w nich i widzę, że ma to sens.

Wracając do rzeczy czysto programistycznych mogę powiedzieć tyle, że łyknąłem już dość dużo Javy, przede wszystkim wszelakich adnotacji i typów generycznych, sposobu obchodzenia się z projektami – Maven, integracja z IDE, debbugger, Tomcat oraz frameworki JUnit oraz Mockito.

Cały czas tutaj wymieniam plusy i zalety, natomiast nie wspomniałem o kilku rzeczach, które można by nazwać wadami tej roboty. Pierwsze co od razu rzuciło mi się w oczy to dość duża biurokracja – na wstępie musiałem wypełnić 11-stronnicowy formularz. Druga kwestia to niestety nieproporcjonalność wyposażenia mojego laptopa do ogromu projektu (poranny update potrafi trwać nawet 15 minut !) – niestety nawet 4gb ramu i najnowszy Core i5 nie zapewniają w jego przypadku komfortowej pracy.

Tak więc pokrótce wyglądają moje wrażenia z pierwszego tygodnia pracy. Jeżeli ktoś chciałby również spróbować pracy w „corpo” z Javą, dajcie znać, chętnie Was polecę :)

  1. wookieb pisze:

    Nie mogłeś podjąć lepszej decyzji :)! Gratuluję!

  2. starach pisze:

    Myślałem że w przypadku pracy w takim molochu będziesz zaraz narzekać, a tutaj proszę. Czyżby przełożony czytał twojego bloga? 😛

  3. @wookieb – Ha, dzięki, ale starczy już tych gratulacji. Najważniejsze w tym wszystkim jest jedno – da się w naszym kraju znaleźć pracę, gdzie tworzy się kod dobrze i firmę, która potrafi zadbać o swoich pracowników :)

    @starach – nie, przełożony prawdopodobnie nic o nim nie wie, jeżeli chodzi o narzekanie, to generalnie mógłbym ponarzekać troszkę na kod nad którym obecnie pracuje, ale jako, że nie mogę ujawniać żadnych większych szczegółów to tego nie zrobię. Może wystarczy, że powiem, że w tej części w której ja pracuje, jest to typowy przykład anemicznego modelu domeny (w kategoriach DDD) ;), ale da się z tym jakoś żyć.

  4. Zyx pisze:

    Jeśli chodzi o proces wytwarzania oprogramowania, korporacje są chyba najlepszym miejscem, gdzie można sobie to przećwiczyć. Ja tam trochę dłużej już siedzę w takowej i choć nie robię jeszcze nic szczególnego (skala projektu, który trzeba najpierw ogarnąć), to również jestem zadowolony, zarówno z nowych doświadczeń, zarobków, jak i tego, że porządne firmy dbają o swoich pracowników.

    W zasadzie jedyne, do czego można się przyczepić, to narzędzia, z jakich czasem przychodzi korzystać. Bywa, że firma zainwestowała przed wiekami w jakiś komercyjny system, który w porównaniu z dzisiejszymi (darmowymi!) rozwiązaniami jest duży, ociężały i zmusza do robienia ręcznie tego, co te robią automatycznie, ale migracja na coś innego byłaby obecnie ekstremalnie kosztowna, więc trzeba przeboleć i się męczyć.

  5. @zyx – to fakt, u nas na szczęście nie spotkałem się dotąd z żadnymi „legacy” rozwiązaniami :)

  6. Artur Świerc pisze:

    Beany w javie są wszędzie, często jest to anemiczny model, bo tak po prostu uczą w książkach :) A DDD to stosunkowo młode podejście.

  7. @Artur Świerc – tylko, że tak naprawdę DDD nie wnosi nic nowego, jest tylko zebraniem, rzeczy, o których było wiadomo, tylko zostały zebrane i opisane w sposób spójny…

  8. dariuszp pisze:

    O ile zgodzę się że w Polsce zarobki są lepsze w wypadku Javy o tyle cała reszta mnie odrzuca. Mam kolegę który się Javą para zawodowo.
    Fakt, robota bardzo uporządkowana ale nudna jak flaki z olejem.
    Szybko się wyspecjalizujesz. To ci gwarantuje. Nie wiem jak w Twojej firmie ale w tamtej ma on rzeczy za które jest odpowiedzialny i chyba już 3 lata robi ciągle to samo.
    Jest to chyba jedyny minus takiej roboty.

    Jednak w pełni Cie rozumie. Programiści PHP mają płacone marnie bardzo często bo z klepania stronek się nie dorobisz. Dlatego z klepania stronek zrezygnowałem. Wziąłem się za aplikacje online (w PHP, nie JavaEE). W ciągu roku będę mógł powiedzieć jak mi poszło.

  9. Theq pisze:

    Pracujesz na laptopie? Nie jest to zbyt ergonomiczne.

  10. theodenpl pisze:

    @Theq zapewne Wojciech nie miał za dużego wyboru. W korporacji jest standard że określony sprzęt tyle.

  11. theodenpl pisze:

    @Theq zapewne Wojciech nie miał za dużego wyboru. W korporacji jest standard że określony sprzęt ma być używany i wiele nie zwojujesz:)

  12. Pracuje na laptopie, jednak, każde stanowisko wyposażone jest w monitor, normalną klawiaturę i mysz oraz słuchawki ;). Co do specjalizacji, to ja myślę, że jak ktoś się uprze to jest się w stanie przenieść do innego działu i zacząc robić coś innego.

  13. Zyx pisze:

    Zważywszy na rozmiar systemów, jakie są realizowane w dużych firmach ciężko wymagać, by pracownik wdrażał się najpierw pół roku w jakimś dziale, po czym natychmiast przechodził do czegoś zupełnie innego. Inaczej to tam by nic nie robiono, tylko się w kółko wdrażano. Ścieżka kariery tu idzie trochę inaczej: nie z projektu w projekt, tylko z jednego poziomu abstrakcji w kolejny.

    Inna sprawa, że klepania w PHP w kółko kolejnych projektów też nie nazwałbym ciekawym w sytuacji, gdy są one wtórne aż do bólu: sklep/portal/CMS, sklep/portal/CMS, sklep/portal/CMS. Napisanie dobrego, nietrywialnego i niewtórnego frameworka… o, to jest ciekawe, tylko co z tego, kiedy 99% programistów nie będzie w stanie pojąć koncepcji i nawet o zwykłą satysfakcję ciężko z tego tytułu?

  14. @Zyx – nie mógłbym tego lepiej ująć +1 dla Ciebie 😉

  15. Maks pisze:

    Gratulacje! wyrwania się z poprzedniej pracy i zaczęcia nowego etapu kariery. Jak dla mnie przyjąłeś dobry kierunek rozwoju. Ciekawe czy po dłużej pracy z Javą wrócisz do PHP w jakimś projekcie?

    To, że w Sabre kładziony jest duży nacisk na testy unit-owe to chyba normalne bo w każdej dobrej firmie tak jest. Z mojej dziedziny wiem, że piszą tam też we Flex-ie/Javie i nawet rozwijali własne oprogramowanie do „test driven”/testów asynchronicznych dla UI.

    ps. Mnie osobiście cieszy, że będziesz pisał o Javie na blogu.

  16. Ha, mnie też cieszy, ale jak na razie minął miesiąc od tego wpisu i wszystko leży 😛

  1. There are no trackbacks for this post yet.

Leave a Reply

Informuj mnie o odpowiedziach poprzez e-mail. Możesz również subskrybować wpis bez zostawiania komentarza.