Moje przebranżowienie z perspektywy 2 lat pracy w zawodzie

By 19 stycznia 2017Inspiracje

No dobra, dwa lata pracy jako programista Java zbliża się nieuchronnie, jakby nie patrzeć, jest to spory kawałek doświadczenia. Postaram się wiec w tym wpisie przybliżyć wam to, co dały mi 2 lata programistycznej pracy. Jak z tej perspektywy oceniam swoje przebranżowienie, naukę i co dalej :) Zapraszam do lektury.

Słowem wstępu

Jeśli nie znasz genezy bloga, to 2,5 roku temu postanowiłam zupełnie zmienić branżę i zacząć naukę programowania. Po pół roku znalazłam pierwszą programistyczną pracę, a potem kontynuowałam swój rozwój zawodowy. W tym czasie na blogu opublikowaliśmy kurs, z którego sama się uczyłam, a także wpisy uzupełniające wiedzę skierowane do juniorów. Więcej o mojej nauce znajdziesz w tym wpisie: http://kobietydokodu.pl/jak-zaczelam-programowac/, oraz kolejnych, już w nich podlinkowanych. Tymczasem, przejdźmy do tego, co głównie chciałam w tym wpisie przekazać, czyli zmian jakie zaszły przez te 2 lata.

Po pierwsze, wolność

Może to dziwne słowo, ale tak właśnie nazwałabym stan, kiedy język programowania nie przeszkadza Ci w pracy :) Mam tu na myśli moment, kiedy ze swoim programowaniem w Javie poczułam się na tyle pewna, że po prostu mogłam skupić się na dostarczaniu wartości biznesowej. Nie chodzi mi o sytuacje, w której wiem, jak wszystko napisać i nie musze sprawdzać, albo pozjadałam wszelkie rozumy i wiem najlepiej, odrzucając feedback czy inny punkt widzenia. Raczej jest to stan, gdy wiem, jak poradzić sobie z problemem, jak debugować, jak szukać rozwiązań i pomocy. Tak, to przyszło juz jakiś czas temu, ale myśle że warto o tym tu wspomnieć. Moment, kiedy programujesz, a nie tylko kodujesz, jest ważny dla każdego juniora. A nabywanie w ten sposób doświadczenia nabiera zupełnie innego wymiaru. Dla mnie samo pisanie kodu nie jest najprzyjemniejszą rzeczą na świecie, ale fakt, lubię też to. Znacznie bardziej interesuje mnie jednak dobieranie technologii i rozwiązań, zadawanie pytań biznesowi i próba dokładnego zrozumienia oczekiwań; programowanie jako proces, który przynosi konkretną wartość, a nie tylko działające linijki kodu. Im pewniej czuję się ze swoją wiedzą techniczną, tym łatwiej jest mi myśleć o potrzebach biznesu, o kodzie, jako o rozwiązaniu konkretnego problemu.

A im lepiej umiesz jeden język, tym łatwiej ci z drugim. Ostatni sprint spędziłam na nauce Angular’a 2 (nauce połączonej z dostarczeniem konkretnej story, więc trochę presji było :) ). I jest to zupełnie inna nauka, bo zupełnie nie boje się próbować, czy popełniać błędy. Wiem, czego mniej więcej mam oczekiwać od kodu (choć do miłości do front endu jeszcze daleko). Radze sobie sama, mam nawet z tego fun, nawet gdy się nie kompiluje :)

Po drugie, wyzbycie się kompleksów

Na początku swojego programowania, czy nawet przy pierwszych rozmowach rekrutacyjnych często myślałam o sobie jako o „tej gorszej”, bo przecież nie mam studiów w IT. Z resztą i rekruterzy lubili przy pierwszej czy drugiej pracy na to marudzić.

Jednak już pierwsze doświadczenia i współpraca z ludźmi świeżo po studiach pokazała mi, że dyplom może mieć znaczenie, albo może nie mieć go wcale. A właściwie, że osoba po świeżo studiach może umieć znacznie mniej, ale może faktycznie też być niezłym wyjadaczem. Ale tutaj, warto wspomnieć o jednej, mega ważnej rzeczy. Nie ilość a jakość. Moje, choć małe doświadczenie ze Springiem i Javą, okazywało się często największym na tle innych juniorów. I faktycznie, może umieli oni napisać skomplikowane zapytania SQL, ale o Spring Data nie wiedzieli za dużo. Wiedza, jaką miałam na początku naprawdę pozwalała mi fajnie i ze zrozumieniem przystępować do działania. Jasne, miałam braki, nie byłam też biegła w Javie. Jednak znałam w praktyce proces tworzenia aplikacji webowej ze Springiem, Spring Data, wiedziałam co to git, czy w końcu rozumiałam pewne praktyczne koncepcje (jak Exception Handlery, logowanie itp)… Uważam, że droga jaką wybrałam na swoje wejście do branży okazała się skuteczna, a teoria, której czasem brakowało szybko została nadrobiona.

Z resztą, teraz, nadal wiem, że porównywanie się z innymi jest trudne i chyba zwyczajnie niepotrzebne. Praca pracy nierówna, projekt nierówny projektowi, a każdy programista w inny sposób się angażuje i inne rzeczy wyciąga z takiego działania. Warto zatem skupić się na swojej pracy. Na zdobywaniu doświadczenia, dostarczaniu jakości. I właśnie na tej podstawie oceniać swój postęp i planować rozwój.

Po trzecie, wartość dodana

Moja wiedza techniczna to jedno, jednak na co dzień przydają się też inne umiejętności: analizy, zadawania pytań, rozumienia, współpracy. Kiedy okrzepłam programistycznie znacznie łatwiej było mi skupić się na całości projektu i tym kliencie, który w końcu znajdzie się po drugiej stronie komputera. Ale analityczne myślenie, czy wnikliwość przydają się również w technicznych dylematach: gdy trzeba wybrać jakąś technologię albo podejście. Gdzie warto zadawać pytania jeśli czegoś nie nie rozumie, albo wydaje się, że ktoś źle rozumie dany problem. Bo programowanie to proces złożony, a na dobry kod składa się nie tylko biegłość w jego wstukiwaniu, a także, a właściwie przede wszystkim dokładne rozumienie, co w jego rezultacie powstanie.

Po czwarte, bycie częścią zespołu

Zaangażowanie. Dla wielu programistów będzie to tylko wywiązywanie się z zadań. Dla mnie to bycie częścią zespołu. Pomoc.  Proaktywność. dzielenie się wiedzą. Dopytywanie. Ludzie w moich dotychczasowych zespołach bywali bardzo różni. Od takich, którzy bez problemu kumali Scruma i pracę zespołową, do takich, którzy życzyli sobie by zadawać im pytania tylko na przerwie, a cały dzień klepali kod w słuchawkach.

U mnie dzielenie się wiedza czy po prostu dostrzeganie, jak ktoś ma problem przychodzi dość naturalnie. Nauczenie się pracy z ludźmi, którzy są mniej proaktywni, czy chętni do współpracy było i jest wyzwaniem. Kiedy szłam do pierwszej pracy miałam w głowie obraz Seniora, który będzie dla mnie autorytetem technicznych, który będzie dbał o rozwój zespołu, który będzie wyznaczał techniczny kierunek w projekcie. Superogarniacza. Nadal na niego czekam, ale wiecie co? W między czasie po prostu biorę na siebie tyle, ile mogę by taki ideał zastąpić. I mimo, że moje doświadczenie nie jest ogromne, jest ono conajmniej wystarczające by wspierać zespół, siebie samą, a także projekt w odpowiednim rozwoju.

Po piąte, morze możliwości

Dwa lata temu, to wszystko było jasne. Byłam Anią, która z marketingowca chciała zostać programistą. Moim celem było przetrwać ;) Zdobyć pierwsze doświadczenie, zobaczyć czy to dla mnie, douczyć się tych brakujących podstaw. Teraz, planowanie ścieżki kariery jest znacznie bardziej skomplikowane. Dróg i możliwości jest wiele, czynników, które mogą wpłynąć na konkretne wybory również. Patrząc na ostatnie dwa lata jestem mega dumna, bo przeszłam wiele a z miejsca na jakim jestem obecnie mam naprawdę ciekawe perspektywy. Jednak myślę, że odkąd na pytanie co chcę dalej robić, odpowiedź: programować, jest zdecydowanie niewystarczająca, planowanie kariery i rozwoju jest po prostu trudne. Albo inaczej, jeśli chce się to zrobić porządnie to faktycznie wymaga to czasu.

To chyba tyle moich przemyśleń. Na koniec dodam tylko jedno: decyzja o zmianie branży okazała się naprawdę słusznym wyborem. I nawet, jeśli czasem sobie ponarzekam (idealne projekty w idealnych firmach po prostu idealnie nie istnieją), to jestem naprawdę szczęśliwą programistką Java.

  •  
  •  
  •  
  • 50
  •  
  • Piotr Goławski

    Bardzo fajny wpis, Twój blog pomógł mi się przekwalifikować na Jave, dzięki :)

  • Gratuluję 2 lat i życzę dalszej radości z tego, co robisz! :)

  • Nie wiedziałem o tym, ale to super ;]

  • Agnieszka Piętka

    Dalszych sukcesów i żeby udało Ci się zaplanować swoją dalszą karierę. I mam nadzieję że będziemy mogli ją tutaj śledzić ;)

  • Amadeusz Jakóbczak

    Pani Aniu,
    Bardzo cenne spostrzeżenia ale zabrakło jednej bardzo ważnej kwestii – finansowej.
    Proszę opisać jak zmieniły się Pani zarobki po przebranżowieniu i jakie są perspektywy na przyszłość.
    Pozdrawiam.

    • NIe wspomniałam o zarobkach, bo nie były one głownym motywatorem do mojej zmiany. Zarobki programistów można sprawdzić sobie na portalu https://www.glassdoor.ie. W pierwszej pracy zarabiałam mniej niż w ostatniej jaką małam przed przebranżowieniem. Gdybym nadal pracowała w makretingu, to mimo wszystko również nie zarabiałabym „mało”.

      • baluk

        Dlaczego w Polsce tak niewiele osób głośno mówi o tym, ile zarabia? Z czego to właściwie wynika? Używasz słów takich jak „mniej” czy „niemało”, ale one absolutnie nic nikomu nie mówią. W każdej firmie, w jakiej pracowałem zarobki zawsze była jakąś dziwną tajemnicą poliszynela. Albo ktoś zarabia za mało i się wstydzi, albo ktoś zarabia dużo i nie chce, żeby inni myśleli, że się chwali. Dla mnie to jest dziwne.

        • Uważam, że mam prawo traktować moje zarobki jako moją prwatną sprawę, bo konkretne liczby nikomu do szczęścia nie są potrzebne, a widełki można bez problemu znaleźć na wspomnianym wyżej protalu. Jak to się mówi, gentelmani o pieniądzach nie rozmawiają :)

          • baluk

            No nie. Napisałaś artykuł o przebranżowieniu – zmieniłaś jeden zawód na drugi i nawet, jeśli stało się to w obrębie tej samej branży, to z pewnością nie pozostało to bez wpływu na Twoje zarobki.
            I jasne, masz prawo o nich nie mówić, ale wg. mnie cierpi na tym nieco Twoja wiarygodność.
            A widełki to służą do innych rzeczy, a nie do rozmawiania o pieniądzach.

          • O wiele bardziej straciłabym na wiarygodności gdybym zdradziła coś, co mam zastrzeżone w kontrakcie jako poufne. Pozdrawiam,

          • baluk

            Nie, no spoko, jak masz tak w kontrakcie, to luz. Po prostu czytelnik tego nie wie. Ja nie zarabiam specjalnie świetnie tzn. nie jest najgorzej, ale wiem, że znajomi zarabiają lepiej (są też tacy, którzy zarabiają mniej). Po prostu brakuje mi rzetelnych informacji o zarobkach ludzi pracujących w konkretnych językach programowania (bo od tego też dużo zależy).

          • Język programowania to tylko jeden z czynników, inne to konkretna rola, firma, projekt (dla porównania – szukając ostatnio pracy w roli Senior Java Developer dostawałem oferty z wynagrodzeniem 2/3 najwyższej oferty – w tym samym mieście oczywiście, oferty bezpośrednie i żadna nie była na kontrakcie). Jeśli chcesz porównać który język daje statystycznie wyższe wynagrodzenie, możesz zerknąć na masę raportów które są ogólnodostępne (np. http://www.business2community.com/tech-gadgets/15-highest-paying-programming-languages-2016-01559832#ToK0V37hFZ6JSp7i.97 – ogólnie wystarczy poszukać np http://lmgtfy.com/?q=programming+language+salary+comparison). W Polsce oczywiście wartości będą inne (kwoty w raporcie to kwoty brutto, pensje najczęściej są podobne po uwzględnieniu kosztów życia, które są u nas sporo niższe), ale skala i ‚kolejność’ będzie mniej więcej ta sama.

            Niemniej znajdziesz wiele ofert, które wybijają się z tego schematu. Dlaczego? Powody są różne, często są to określone specyficzne kompetencje (np. klient wymaga znajomości niszowej technologii lub posiadania certyfikatu), warunki pracy (np. kontrakt godzinowy), specyficzny projekt (wymagający intensywnego rozwoju z nielimitowanym czasem pracy na pewnym etapie lub po prostu straszny syf którego nikt nie chce dotykać) lub specyficzne środowisko (np. musisz samodzielnie przejąć odpowiedzialność za produkt i rozmawiać z klientami jako jednoosobowy ‚zespół’). Podobnie rzecz ma się z językami programowania – absolutnie najlepiej płatne obecnie są te nieujęte w zestawieniu – Fortran, Cobol, Ada, Lisp, Assembler – właśnie ze względu na bardzo małą ilość programistów, którzy się nimi posługują / chcą poświęcić czas na ich naukę.

            Między innymi z powyższych powodów porównywanie konkretnych zarobków nie ma większego sensu i nie jest to informacja cokolwiek mówiąca – często osoby na tych samych stanowiskach w tym samym projekcie w tej samej firmie mają różne zarobki z uwagi na ich własne kompetencje oraz to, jak poprowadzili swoje rozmowy rekrutacyjne.

          • Uve

            Jasne, potrafię korzystać z Google, nie w tym rzecz. Czym innym są zestawienia, raporty, porównania, analizy i statystyki, a czym innym prawdziwe życie i przelew, jaki co miesiąc znajdują miliony pracowników na koncie. Znalazłem też coś na polskiej stronie (http://bit.ly/2nIjPfJ), z tym, że dane również dotyczą USA i rocznej pensji w dolarach. Na końcu są jednak dane z serwisu wynagrodzenia.pl, gdzie z kolei te polskie stawki są jakieś strasznie niskie. W każdym razie kończąc wątek: i tak uważam, że rozwiązania praktykowane np. w Skandynawii, gdzie w ramach jednej organizacji pensje są jawne, to zdrowsza opcja. Pozdrawiam.

          • Anonim

            ^Uve, po części Cię rozumiem, ale to o to chodzi, że zarobki programistów strasznie skaczą między pułapami. Nie tak jak w innych zawodach, że różnica jest co najwyżej w paru stówkach.

            Np. w małopolsce jako Junior Developer, możesz dostać albo tylko marne 2100zł na rękę, albo nawet 4000zł netto. Za takie same umiejętności, za tyle samo przepracowanych godzin, za taką samą umowę i będziesz dokładnie to samo robił co inni.

            Powód aż tak dużej, 2x krotnej różnicy w zarobkach?

            To zależy od majętności firmy i PRZEDE WSZYSTKIM, od umiejętności sprzedania siebie, swojej osoby :) (Doświadczenie w handlu, na każdym kroku się przydaję).

            Btw.
            I teraz pomyśl, że twój kolega obok, też Junior, w dodatku będąc jeszcze młodszym stażem niż Ty, a zarabia 2x tyle co Ty xD
            Powiedzmy sobie wprost, szlag by Cię trafił i od razu byś poleciał do szefa o podwyżkę. Niestety byś tylko usłyszał, że jej nie dostaniesz, że musisz poczekać. Jaki efekt, jawnych zarobków, dostajemy?

            Ano taki, że tylko po przez to, że wiesz jaka występuję różnica w zarobkach, będziesz nienawidził kumpla, który np. siedzi obok Ciebie. Za to, do tej pory świetnie się dogadywaliście, razem chodziliście na piwo i bilard itp. Będziesz zły na firmę i będziesz myślał o zwolnieniu się z niej.

            I po co Ci to? Czasami niewiedza jest lepsza ;) Bo w innym wypadku, niezależnie czy Ty więcej zarabiasz, czy ktoś inny na podobnym stanowisku, może dojść do zgrzytów, kwasu i złej atmosfery.

  • Dzięki!

  • Podziwiam kobiety, które nie boja się zmian i uparcie dążą do celu. Gratuluję!

  • Fantastyczna sprawa :) Gratuluję, że udało Ci się tak wspaniale odnaleźć w nowej branży :)

  • Rafał

    Super! Tak trzymaj. Ja również próbuję ale, dla mnie największą trudność w nauce stanowi nieumiejętność rozwiązywania problemów:/ Poznałem składnię Pythona całkiem nieźle, zrobiłem cały kurs na Codeacademy, a wykładam się na zadaniach z olimpiady informatycznej dla gimnazjum. Macie jakieś patenty, na odpowiednie podejście do rozwiązywania zadań? Przerabi

  • AdrianB

    Hej! Co z Projektem Bilet? ;-) Planujecie w najbliższej przyszłości kontynuować tę serię?

    • Tak, jak najbardziej, niestety sporo pracy w pracy spodowodowało, że nie było czasu na bloga w styczniu. Będzie w lutym już pełną parą. I mam nadzieję, że kilka rzeczy, które przy okazji wpadło nam do głowy również Wam się spodoba.

  • Moni

    Aniu gratuluję wytrwałości i trzymam kciuki za kolejne projekty i decyzje;-) nieśmiało czytam Twój blog i chodź myślę o próbie przebranzowienia się obawiam się czy dla humanistki po 30 nie jest za późno :-(?

    • Chyba nigdy nie jest za późno na zmiany ;)

      • Adrian Grzebyk

        Właśnie zaczynam czwarty tydzień stażu (na pół etatu) jako Junior Java Developer, a w zeszłym tygodniu świętowałem 41 urodziny.

        Uczyłem się z Twojego bloga, kursów na edX, i wszystkiego co mogłem znaleźć, w sieci. Z wykształcenia jestem anglistą, 15 lat doświadczenia jako nauczyciel. Więc każdy może, zwłaszcza młodzież w wieku trzydziestu-kilku lat :)

        • Super! Powodzenia!

        • Katarzyna Kubat

          Adrian, wielkie gratulacje

        • Paweł

          Adrian możesz dać jakiś namiar na Siebie? nie ukrywam że mnie zainspirowałeś swoim głosem w dyskusji – mam perspektywę juniorowania po 35. roku życia ;)

          • Adrian Grzebyk

            maila mam na gmailu, ze standardowym loginem imieniem i nazwiskiem z kropką pomiędzy, jestem także na LI i FB pod własnym imieniem i nazwiskiem, także możesz się kontaktować albo przez maila albo przez ich komunikatory.

    • Andrzej Bąba

      Nigdy nie jest za pozno. Zaczalem robic magistra jako software enginner w Irlandii w wieku 32 lat. Mam 35. Nie zaluje. Nie trzeba miec studiow zeby robic ta prace, szkola najbardziej mi sie przydala zeby dostac sie na rozmowy kwalifikacyjne. Autorka jest tu dobrym przykladem. Jak to lubisz i czujesz ze to dla Ciebie to do roboty. Latwo nie jest ale mozna ! Okreslij soe jaka technologia najbardziej Cie dziala i isc w tym kierunku. Najwiecej pracy jest w javie, aczkolwiek jakbym chcial jak najszybciej nauczyc sie czegos i zaczac prace w programowaniu to bym poszedl w railsy albo django. Stosunkowo szybciej owladniesz material niz cala jave + j2ee + jej frameworki. Nie tylko programisci sa w IT. Pomysl moze o devops albo o web design tez. Ja juz napisalem wczesniej jakbym zaczynal od zera to ruby+rails albo python+django. Owladniasz to stosunkowo szybko, robisz pare side projects i atakujesz prace pokazujac co zrobilas. To powinno Ci pomoc dostac sie na interviews. Na rozmowach kwalifikacyjnych niestety mecza zadankami z algorytmow, data structures itp… Polecam wtedy ksiazke „Cracking the Coding Interview” . Ten blog to tez super kompendium wiedzy

  • Michal

    Gratulacje, i wielkie dzięki za inspirację. Sam jestem na początku drogi, zaczynam się uczyć Javy, mam mnóstwo doświadczenia winnej branży (humanista pełną gębą;) i 37 lat na karku ale stwierdziłem, że nigdy nie jest za późno na zmiany. To co robię przestało mi wystarczać i chcę czegoś innego i to coś znajduje w klepaniu kodu. Wiem że dużo jest jeszcze do zrobienia ale mam mega motywację i nigdy jeszcze tak szybko nie wchodziła mi wiedza do głowy. Pozdrawiam i wielkie dzięki za Twoje wpisy.

    • Łukasz Maciek

      I michale znalazłeś prace w tym wieku? Ja mam lat 34 lata ucze sie javy po roku nauki juz 6 miesiecy szukam pracy i nic…

  • Super!

  • Kamila C Mnich

    Wspaniała historia! Gratuluję! Bardzo się cieszę, że znalazłam Twój blog. Dziękuję, za inspirację i wiedzę, którą się dzielisz. :)