Moje przebranżowienie z perspektywy 2 lat pracy w zawodzie

By 19 January 2017 Inspiracje

No dobra, dwa lata pra­cy jako pro­gramista Java zbliża się nieuchron­nie, jak­by nie patrzeć, jest to spory kawałek doświad­czenia. Postaram się wiec w tym wpisie przy­bliżyć wam to, co dały mi 2 lata pro­gramisty­cznej pra­cy. Jak z tej per­spek­ty­wy oce­ni­am swo­je prze­branżowie­nie, naukę i co dalej :) Zapraszam do lektury.

Słowem wstępu

Jeśli nie znasz genezy blo­ga, to 2,5 roku temu postanow­iłam zupełnie zmienić branżę i zacząć naukę pro­gramowa­nia. Po pół roku znalazłam pier­wszą pro­gramisty­czną pracę, a potem kon­tyn­uowałam swój rozwój zawodowy. W tym cza­sie na blogu opub­likowal­iśmy kurs, z którego sama się uczyłam, a także wpisy uzu­peł­ni­a­jące wiedzę skierowane do juniorów. Więcej o mojej nauce zna­jdziesz w tym wpisie: http://kobietydokodu.pl/jak-zaczelam-programowac/, oraz kole­jnych, już w nich podlinkowanych. Tym­cza­sem, prze­jdźmy do tego, co głównie chci­ałam w tym wpisie przekazać, czyli zmi­an jakie zaszły przez te 2 lata.

Po pierwsze, wolność

Może to dzi­wne słowo, ale tak właśnie nazwałabym stan, kiedy język pro­gramowa­nia nie przeszkadza Ci w pra­cy :) Mam tu na myśli moment, kiedy ze swoim pro­gramowaniem w Javie poczułam się na tyle pew­na, że po pros­tu mogłam skupić się na dostar­cza­niu wartoś­ci biz­ne­sowej. Nie chodzi mi o sytu­acje, w której wiem, jak wszys­tko napisać i nie musze sprawdzać, albo poz­jadałam wszelkie rozumy i wiem najlepiej, odrzu­ca­jąc feed­back czy inny punkt widzenia. Raczej jest to stan, gdy wiem, jak poradz­ić sobie z prob­le­mem, jak debu­gować, jak szukać rozwiązań i pomo­cy. Tak, to przyszło juz jak­iś czas temu, ale myśle że warto o tym tu wspom­nieć. Moment, kiedy pro­gra­mu­jesz, a nie tylko kodu­jesz, jest ważny dla każdego junio­ra. A naby­wanie w ten sposób doświad­czenia nabiera zupełnie innego wymi­aru. Dla mnie samo pisanie kodu nie jest najprzy­jem­niejszą rzeczą na świecie, ale fakt, lubię też to. Znacznie bardziej intere­su­je mnie jed­nak dobieranie tech­nologii i rozwiązań, zadawanie pytań biz­ne­sowi i pró­ba dokład­nego zrozu­mienia oczeki­wań; pro­gramowanie jako pro­ces, który przynosi konkret­ną wartość, a nie tylko dzi­ała­jące lin­ij­ki kodu. Im pewniej czu­ję się ze swo­ją wiedzą tech­niczną, tym łatwiej jest mi myśleć o potrze­bach biz­ne­su, o kodzie, jako o rozwiąza­niu konkret­nego problemu.

A im lep­iej umiesz jeden język, tym łatwiej ci z drugim. Ostat­ni sprint spędz­iłam na nauce Angu­lar’a 2 (nauce połąc­zonej z dostar­cze­niem konkret­nej sto­ry, więc trochę presji było :) ). I jest to zupełnie inna nau­ka, bo zupełnie nie boje się próbować, czy popeł­ni­ać błędy. Wiem, czego mniej więcej mam oczeki­wać 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 swo­jego pro­gramowa­nia, czy nawet przy pier­wszych roz­mowach rekru­ta­cyjnych częs­to myślałam o sobie jako o „tej gorszej”, bo prze­cież nie mam studiów w IT. Z resztą i rekruterzy lubili przy pier­wszej czy drugiej pra­cy na to marudzić.

Jed­nak już pier­wsze doświad­czenia i współpra­ca z ludź­mi świeżo po stu­di­ach pokaza­ła mi, że dyplom może mieć znacze­nie, albo może nie mieć go wcale. A właś­ci­wie, że oso­ba po świeżo stu­di­ach może umieć znacznie mniej, ale może fak­ty­cznie też być niezłym wyjadaczem. Ale tutaj, warto wspom­nieć o jed­nej, mega ważnej rzeczy. Nie ilość a jakość. Moje, choć małe doświad­cze­nie ze Springiem i Javą, okazy­wało się częs­to najwięk­szym na tle innych juniorów. I fak­ty­cznie, może umieli oni napisać skom­p­likowane zapy­ta­nia SQL, ale o Spring Data nie wiedzieli za dużo. Wiedza, jaką miałam na początku naprawdę pozwalała mi fajnie i ze zrozu­mie­niem przys­tępować do dzi­ała­nia. Jasne, miałam bra­ki, nie byłam też biegła w Javie. Jed­nak znałam w prak­tyce pro­ces tworzenia aplikacji webowej ze Springiem, Spring Data, wiedzi­ałam co to git, czy w końcu rozu­mi­ałam pewne prak­ty­czne kon­cepc­je (jak Excep­tion Han­dlery, logowanie itp)… Uważam, że dro­ga jaką wybrałam na swo­je wejś­cie do branży okaza­ła się skutecz­na, a teo­ria, której cza­sem brakowało szy­bko została nadrobiona.

Z resztą, ter­az, nadal wiem, że porówny­wanie się z inny­mi jest trudne i chy­ba zwycza­jnie niepotrzeb­ne. Pra­ca pra­cy nierów­na, pro­jekt nierówny pro­jek­towi, a każdy pro­gramista w inny sposób się angażu­je i inne rzeczy wycią­ga z takiego dzi­ała­nia. Warto zatem skupić się na swo­jej pra­cy. Na zdoby­wa­niu doświad­czenia, dostar­cza­niu jakoś­ci. I właśnie na tej pod­staw­ie oce­ni­ać swój postęp i planować rozwój.

Po trzecie, wartość dodana

Moja wiedza tech­nicz­na to jed­no, jed­nak na co dzień przy­da­ją się też inne umiejęt­noś­ci: anal­izy, zadawa­nia pytań, rozu­mienia, współpra­cy. Kiedy okrzepłam pro­gramisty­cznie znacznie łatwiej było mi skupić się na całoś­ci pro­jek­tu i tym klien­cie, który w końcu zna­jdzie się po drugiej stron­ie kom­put­era. Ale anal­i­ty­czne myśle­nie, czy wnikli­wość przy­da­ją się również w tech­nicznych dylemat­ach: gdy trze­ba wybrać jakąś tech­nologię albo pode­jś­cie. Gdzie warto zadawać pyta­nia jeśli czegoś nie nie rozu­mie, albo wyda­je się, że ktoś źle rozu­mie dany prob­lem. Bo pro­gramowanie to pro­ces złożony, a na dobry kod skła­da się nie tylko biegłość w jego wstuki­wa­niu, a także, a właś­ci­wie przede wszys­tkim dokładne rozu­mie­nie, co w jego rezulta­cie powstanie.

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

Zaan­gażowanie. Dla wielu pro­gramistów będzie to tylko wywiązy­wanie się z zadań. Dla mnie to bycie częś­cią zespołu. Pomoc.  Proak­ty­wność. dzie­le­nie się wiedzą. Dopy­ty­wanie. Ludzie w moich doty­chcza­sowych zespołach bywali bard­zo różni. Od takich, którzy bez prob­le­mu kumali Scru­ma i pracę zespołową, do takich, którzy życzyli sobie by zadawać im pyta­nia tylko na prz­er­wie, a cały dzień klepali kod w słuchawkach.

U mnie dzie­le­nie się wiedza czy po pros­tu dostrze­ganie, jak ktoś ma prob­lem przy­chodzi dość nat­u­ral­nie. Naucze­nie się pra­cy z ludź­mi, którzy są mniej proak­ty­wni, czy chęt­ni do współpra­cy było i jest wyzwaniem. Kiedy szłam do pier­wszej pra­cy miałam w głowie obraz Senio­ra, który będzie dla mnie auto­ry­tetem tech­nicznych, który będzie dbał o rozwój zespołu, który będzie wyz­naczał tech­niczny kierunek w pro­jek­cie. Super­og­a­r­ni­acza. Nadal na niego czekam, ale wiecie co? W między cza­sie po pros­tu biorę na siebie tyle, ile mogę by taki ideał zastąpić. I mimo, że moje doświad­cze­nie nie jest ogromne, jest ono cona­jm­niej wystar­cza­jące by wspier­ać zespół, siebie samą, a także pro­jekt w odpowied­nim rozwoju.

Po piąte, morze możliwości

Dwa lata temu, to wszys­tko było jasne. Byłam Anią, która z mar­ketingow­ca chci­ała zostać pro­gramistą. Moim celem było przetr­wać ;) Zdobyć pier­wsze doświad­cze­nie, zobaczyć czy to dla mnie, douczyć się tych braku­ją­cych pod­staw. Ter­az, planowanie ścież­ki kari­ery jest znacznie bardziej skom­p­likowane. Dróg i możli­woś­ci jest wiele, czyn­ników, które mogą wpłynąć na konkretne wybo­ry również. Patrząc na ostat­nie dwa lata jestem mega dum­na, bo przeszłam wiele a z miejs­ca na jakim jestem obec­nie mam naprawdę ciekawe per­spek­ty­wy. Jed­nak myślę, że odkąd na pytanie co chcę dalej robić, odpowiedź: pro­gramować, jest zde­cy­dowanie niewystar­cza­ją­ca, planowanie kari­ery i roz­wo­ju jest po pros­tu trudne. Albo inaczej, jeśli chce się to zro­bić porząd­nie to fak­ty­cznie wyma­ga to czasu.

To chy­ba tyle moich prze­myśleń. Na koniec dodam tylko jed­no: decyz­ja o zmi­an­ie branży okaza­ła się naprawdę słusznym wyborem. I nawet, jeśli cza­sem sobie ponarzekam (ide­alne pro­jek­ty w ide­al­nych fir­ma­ch po pros­tu ide­al­nie nie ist­nieją), to jestem naprawdę szczęśli­wą pro­gramistką Java.