fbpx
Ogólne

Marzenia, błędy i świetne decyzje – czyli case study tego, jak zostałam programistką

Skoro zamierzam pokazać Ci jak zdobyć pierwszą pracę jako programista, to wypada zacząć od opowiedzenia swojej historii. Nie zaskoczę pewnie nikogo jeśli powiem, że drogi do sukcesu nie przebyłam spacerkiem, ale kluczyłam niczym ryba, która z trudem pokonuje trasę w górę wartkiego strumienia.

Bywało śmiesznie i irytująco. Były okresy optymizmu i okresy: “ja chyba zwariowałam, nie nadaję się”. Były też przestoje, gdy przez kilka tygodni nie zaglądałam nawet do programowania, bo nie miałam siły podjąć na powrót tej męczącej podróży.

W końcu jednak – dopłynęłam! A że podróż trochę trwała, to nie będzie krótki wpis.

Krok 0 – Marzenia

Zagadki logiczne i artykuł w gazecie.

Dlaczego zero? Bo marzenia o tym, czym chcielibyśmy się zajmować w przyszłości, jak żyć i ile zarabiać są tym, od czego rozpoczyna się proces poszukiwania pracy. Wiele osób na marzeniach zacznie, i na nich skończy, inni spróbują je zrealizować, ale szybko się zniechęcą, a jeszcze inni przekształcą je w listę możliwych do wykonania kroków, powieszą ją na ścianie i skreślając jeden po drugim w końcu osiągną to, co sobie wymarzyli.

A poza tym w większości języków programowania numerowanie zaczyna się od zera 😉

U mnie zaczęło się od zagadek logicznych i matematycznych (znajdź kolejną liczbę ciągu…), które lubiłam jako nastolatka i artykułu w gazecie, mówiącego, że programowanie to takie właśnie rozwiązywanie zagadek. Pomyślałam wtedy, że byłaby to dobra praca dla mnie.

W tamtych czasach Internet w mojej miejscowości bywał, jeśli akurat antena radiowa miała kaprys zadziałać, zresztą nawet do głowy by mi wtedy nie przyszło, że programowania można nauczyć się z Internetu. Zdobyłam więc skądś podręcznik ANSI C, który zresztą mam do dzisiaj, napisałam parę pętli for, postanowiłam stworzyć program sortujący listę (kilka lat później zajrzałam do tego kodu i okazało się, że nieświadomie napisałam sortowanie bąbelkowe) i na tym moje pomysły się skończyły. Nie bardzo wiedziałam jak z tego etapu przejść do stworzenia czegoś użytecznego, więc dałam sobie z programowaniem spokój na długie lata.

Kolejny epizod programistyczny pojawił się dopiero pod koniec studiów. Promotor powiedział mi, że ma na liście temat pracy magisterskiej, którego nie chce nikt wziąć, bo trzeba napisać program. Na Elektrotechnice, którą studiowałam, nie mieliśmy w ogóle zajęć z programowania, więc chętnych brakowało. Uznałam, że to świetna okazja, żeby przypomnieć sobie o co w tym wszystkim chodziło i wzięłam ten temat.

Program napisałam w Javie, całkowicie po omacku, i nie przesadzę ani odrobiny jeśli powiem, że był koszmarny. Podejrzewam, że gdyby zobaczył go Robert C. Martin, czyli światowej klasy specjalista do spraw czystego kodu, to mógłby doznać apopleksji. Na szczęście w mój kod nikt nie zaglądał, a tym, co interesowało mojego promotora i komisję, przed którą broniłam dyplomu, było czy program działa. A pomimo swojej tragicznej budowy działał i zwracał poprawne wyniki obliczając parametry zwarć w liniach wysokich napięć.

Dyplom został obroniony, jednak programowanie po omacku tak mnie wykończyło, że po raz kolejny dałam sobie z nim spokój.

Krok 1 – Wybór technologii i języka

Algorytmy we Frankfurcie nad Menem i wszyscy się uczą Pythona.

Choć promuję świadomy wybór języka i technologii, w jakich zamierzamy pracować, to nie mogę powiedzieć, abym sama podjęła tę decyzję z należytym namysłem.

Do programowania wróciłam kilka lat po studiach, po mniej więcej dwóch latach spędzonych w Samsungu, gdzie pracowałam jako tester (nie mający nic wspólnego z programowaniem). Główną zaletą tej pracy była duża ilość podróży służbowych za granicę oraz znajomi, z którymi wyjeżdżałam.

Po pracy często wychodziliśmy odpocząć gdzieś nad Sekwanę, Tamizę lub Men. Siedzieliśmy na brzegu, patrzyliśmy na przepływające statki wycieczkowe i narzekaliśmy na pracę, której większość z nas nie lubiła. Wszyscy wtedy planowaliśmy wkrótce znaleźć coś lepszego i oczywiście wszyscy zamierzaliśmy zostać programistami. Kusiły dobre zarobki i historie o ludziach, którzy pracują całkiem zdalnie i mogą mieszkać w dowolnym miejscu na świecie. Coś, co obecnie nie jest już niczym niezwykłym, w 2014 roku było przywilejem dostępnym tylko dla nielicznych.

Być może te marzenia i nieśmiałe plany skończyłyby się na niczym; rozpadły wraz z ekipą, która po powrocie do Polski wracała do swojego normalnego życia, gdyby nie kolega Tomek, który jako jedyny szybko przystąpił do działania i podczas jednego z wyjazdów do Frankfurtu nad Menem, zamęczał nas spotkaniami, na których rozwiązywaliśmy zadania algorytmiczne.

Początkowo nie bardzo miałam na nie ochotę, klęłam pod nosem, że się umówiłam, a potem brałam paczkę czekoladowych paluszków z Aldiego i szłam do Tomka walczyć z kolejnymi zadaniami.

Szybko jednak zaczęło mi się to podobać. Z zadaniami szło coraz lepiej, poczułam satysfakcję, że coś potrafię i ochotę, aby nauczyć się więcej. A, że językiem, jakiego wtedy używał Tomek był Python, to i ja zaczęłam w nim programować i wkrótce przepadłam zachwycona prostotą zapisu.

I tak wyglądał mój pierwszy krok na drodze do zostania programistą – przypadkowy, na szczęście udany – wybór języka.

Krok 2 – Nauka

Edx, Udemy i półtora roku w plecy.

Samodzielną naukę programowania w Pythonie zaczęłam od darmowego kursu na platformie edX. Kurs okazał się dobry, przeznaczony dla początkujących i poza samym Pythonem poruszał dużo kwestii związanych z podstawami programowania – to na nim pierwszy raz usłyszałam o złożoności obliczeniowej i dowiedziałam się dlaczego napisane przeze mnie kilka lat wcześniej sortowanie bąbelkowe nie było szczególnie wydajne.

Po kursie, którego przerobienie zajęło mi około miesiąca, byłam pełna entuzjazmu, czułam, że bardzo dużo się nauczyłam i w takim tempie za rok podbiję świat.

Cóż, myliłam się.

Znalezienie kolejnego, dobrego źródła wiedzy okazało się bardzo trudne. Zaczęłam kilka kursów na edX, potem przeniosłam się na Coursea i YouTube, ale nie trafiłam na nic, co przemawiałoby do mnie choć w części tak, jak ten pierwszy kurs. Szkolenia były albo zbyt łatwe, i miałam wrażenie, że po raz dziesiąty ktoś tłumaczy mi zmienne i pętle, albo zbyt specjalistyczne i nie rozumiałam połowy używanych w nich pojęć. A jeśli już zdawało się, że poziom jest odpowiedni, to sposób przekazywania wiedzy w ogóle do mnie nie trafiał. Odkryłam wtedy, że nie każdy, kto uczy programowania w Internecie potrafi to robić, choć w chwilach zwątpienia zastanawiałam się też, czy problem nie leży we mnie i w tym, że po prostu nie nadaję się do programowania.

Wszystkie te poszukiwania zmęczyły mnie i bardzo zniechęciły. Nie zostało nic z entuzjazmu po pierwszym kursie na edX, minęło prawie półtora roku, a ja miałam wrażenie, że choć rozgrzebałam kilka tematów, napisałam trochę kodu, to mam w głowie mętlik większy niż wtedy, kiedy zaczynałam. I że na pewno nie umiem programować na poziomie, na jakim bym chciała.

Jakiś czas później, przeglądając bez większych nadziei to, co wyrzuciły mi Google gdy znowu wyszukiwałam frazę “Python dobry kurs”, trafiłam na Udemy i jeden z najlepszych kursów na tej platformie. Python plus programowanie webowe autorstwa Jose Portilla (obecnie kurs jest mocno przeterminowany i nie polecam jego wykupywania). Wszystko wytłumaczone sensownie i logicznie. Lekcje zaplanowane tak, że nie musiałam co chwilę googlować tego, co mówi prowadzący, bo wszystkie potrzebne informacje były przekazane w odpowiednim czasie i kolejności.

Przeszłam przez kurs jak burza, znowu czując ten entuzjazm, jaki towarzyszył mi gdy zaczynałam na edX. Nauczyłam się dużo i potrafiłam już coś sensownego napisać! Miałam solidne podstawy, i choć nadal wiedziałam, że daleko mi do pełnoprawnego programisty, to odzyskałam wiarę w to, że jeszcze kiedyś nim zostanę.

Krok 3 – Doświadczenie

Gdy już nie możesz patrzeć na swoją pracę – zostań w niej jeszcze pół roku.

W tym czasie miałam coraz bardziej dosyć swojej pracy. Bardzo chciałam ją zmienić, a że miałam już kilka lat doświadczenia i dobrze uzupełniony profil na LinkedInie, to coraz częściej zgłaszali się do mnie rekruterzy oferujący pracę testera.

Wahałam się co zrobić. Nie czułam się jeszcze gotowa by szukać pracy jako programista, ale nie miałam też ochoty kontynuować kariery jako tester. Z jednej strony – myślałam – mogę zmienić pracę już teraz i nadal, wieczorami uczyć się programowania. Wiedziałam jednak, że nie będzie to proste, bo początki w nowej pracy nigdy nie są łatwe i zwykle przez kilka miesięcy wraca się do domu padając na twarz ze zmęczenia. Podejrzewałam, że jeśli przejdę do innej firmy, to odłożę programowanie przynajmniej na kilka miesięcy i kto wie, czy jeszcze do niego wrócę.

Była też druga opcja – zacisnąć zęby, zostać tam gdzie jestem i całą energię przekierować na programowanie z nadzieją, że może już za kilka miesięcy będę umieć na tyle, by próbować podchodzić do rozmów kwalifikacyjnych. Tylko, że w razie, gdyby ten plan się nie powiódł, tkwiłabym nadal w miejscu, w którym nie chcę już być i do tego ze świadomością, że już dawno mogłam pracować gdzie indziej.

Wtedy jednak pojawiła się trzecia droga. A właściwie nie pojawiła, lecz stworzyłam ją sobie sama.

Robiąc kawę w firmowej kuchni usłyszałam fragment rozmowy, z którego wynikało, że ktoś miał pisać oprogramowanie do analizy logów telekomunikacyjnych, ale z tego zrezygnował. Długo się nie zastanawiając dopadłam kolegów, żeby dowiedzieć się więcej i następnego dnia przekonywałam już mojego szefa, że umiem programować na tyle, by ten program do analizy napisać, byleby tylko pozwolili mi to robić.

Na szczęście pozwolili.

Sama historia tego projektu to temat na osobny wpis, i to raczej z gatunku tych będących przestrogą przed tym jak złe zarządzanie i problemy interpersonalne mogą wykończyć psychicznie nawet najbardziej entuzjastycznego pracownika.

W skrócie jednak: kolejne pół roku spędziłam pisząc program najpierw w C#, potem jeszcze raz, w Javie (nie pozwolono mi używać Pythona). Musiałam prawie od zera nauczyć się tych języków. Przez większość problemów przebijałam się sama, polubiłam ze Stack Overflow, utwierdziłam w przekonaniu, że jeśli się uprę, to każdy problem prędzej czy później rozwiążę. Uzyskałam działający kod, analitycy byli szczęśliwi, bo mój program znacznie ułatwił im pracę i chcieli, abym go kontynuowała dodając kolejne moduły.

Ja jednak miałam już totalnie dość i choć sama praca sprawiała mi przyjemność, to wszystkie kwestie wokół stawały się nie do zniesienia. Miałam już jednak co wpisać do CV i pojawiły się pierwsze, programistyczne oferty pracy.

Krok 4 – Prezentacja w sieci

CV Mistrza Worda i Lorda Ciemności.

Profil na LinkedInie założyłam jeszcze w pierwszej pracy, w momencie, gdy postanowiłam ją zmienić. Nie miałam wtedy pojęcia jak powinnam uzupełnić swoje konto i czym mój profil ma się różnić od CV. Wpisałam więc to, co wydawało mi się najbardziej sensowne, a poprawiałam później, przeglądając profile bardziej ogarniętych znajomych i podpatrując jak to u nich wygląda. Zwyczaj aktualizowania tam informacji mi pozostał i gdy rozpoczęłam naukę programowania, to wpisywałam w LinkedIn te technologie, w których czułam się już w miarę pewnie.

Trochę więcej doświadczenia miałam jeśli chodzi o CV. W pierwszej pracy brałam udział w rekrutacji nowego pracownika jako rekruter techniczny i w związku z tym miałam okazję obejrzeć ponad setkę aplikacji, które wtedy do nas spłynęły. Było to bardzo ciekawe doświadczenie, dzięki któremu lepiej zrozumiałam jak wygląda analiza CV w punktu widzenia osoby szukającej pracownika.

Najbardziej zapadło mi w pamięć CV mistrza Worda, który w sekcji “Umiejętności” wpisał sobie “MS Office i Word na poziomie ekspert”. Nie byłoby w tym nic śmiesznego, gdyby nie to, jak wyglądało jego (zrobione w Wordzie) CV. Tekst w każdej linijce kończył się w innym miejscu, kolumny nachodziły na siebie, a puste przestrzenie uzyskiwane były za pomocą wielu spacji i enterów 🙂

Drugie najciekawsze CV miało czarne tło, a tekst napisany był białymi literami i czcionką z gatunku “średniowieczny gotyk”. Z trudem udało mi się odcyfrować imię i nazwisko jego autora, na resztę nie starczyło mi cierpliwości.

Dzięki obu tym kandydatom nauczyłam się, jak ważna jest czytelność, i że nie należy przesadzać opisując własne umiejętności. Wiedziałam też na co rekruterzy patrzą, a jakie informacje są dla nich nieistotne i że czasem prawdą jest wielokrotnie powtarzane w Internecie stwierdzenie, że rekruter na jedno CV poświęca zaledwie 5 sekund (na przykład wtedy, gdy jest ono napisane gotykiem).

Tworząc swoje programistyczne CV opierałam się więc na tych doświadczeniach i starałam uzyskać dokument czytelny, przejrzysty i odzwierciedlający moje prawdziwe doświadczenie i umiejętności.

Krok 5 – Kontakty w branży

Powiedz wszystkim, że chcesz programować.

Miałam więc już pewne umiejętności programistyczne i pół roku doświadczenia w boju w projekcie, który robiłam w pracy. Do tego uzupełniony profil na LinkedInie i gotowe CV.

Miałam jeszcze dwa – bardzo ważne zasoby.

Po pierwsze znajomych, którzy wiedzieli, że chcę się przebranżowić. Większość z nich nie była programistami, tylko testerami tak jak ja, ale uczestniczyli w procesach rekrutacyjnych w różnych firmach. Pewnego dnia jeden z kolegów napisał do mnie, że firma, z którą rozmawiał, poza testerami szuka Młodszego Programisty i czy chcę, żeby mnie polecił. Domyślacie się zapewne co odpowiedziałam 😉

Po drugie miałam dobre kontakty z rekruterami, którzy w ciągu ostatnich dwóch lat próbowali mnie zwerbować na stanowiska testerskie. W pewnym momencie, gdy byłam już zdecydowana, że chcę programować, zaczęłam to mówić wprost odrzucając testerskie oferty. Większość z rekruterów odpowiadała wtedy, że rozumieją i pytała co potrafię jako programista. Rozmowy zwykle kończyły się informacją: “jeśli będę mieć ofertę odpowiadającą pani umiejętnościom, to się odezwę i trzymam kciuki, aby się pani udało”. Traktowałam to wtedy jako uprzejmą formę stwierdzenia: “dziewczyno, z czym do ludzi, za mało potrafisz” – lecz ku mojemu zaskoczeniu, faktycznie część z nich jakiś czas później wróciła do mnie z ofertami.

Krok 6 – Wyjście na rynek

Pani Marto, to chce pani spróbować?

W efekcie działań opisanych w punkcie wyżej praca przyszła do mnie, zanim zaczęłam aktywnie jej szukać.

Było to dla mnie nieprawdopodobne. Pierwszy mail z ofertą “Pani Marto, wspominała Pani kiedyś o programowaniu, mam takiego klienta, który by chciał z Panią porozmawiać” – sprawił, że prawie zemdlałam, a potem wpadłam w panikę, że jak to? Ja? Już? Na rozmowę? Przecież nic nie umiem!

W pierwszym odruchu chciałam się wykręcić, bo przecież groziło mi najgorsze, czyli fakt, że źle mi pójdzie. Potem wzięłam się w garść i uznałam, że raz kozie śmierć. Najwyżej wyrzucą mnie drzwiami, bo przecież chyba nie oknem?

Zanim wybrałam się na tę rozmowę, pojawiła się oferta kolejnej. A potem jeszcze kolejnej. Potem napisali z firmy, do której polecił mnie kolega, i okazało się, że ze współpracującą z nimi rekruterką już się znamy i nawet przegadałyśmy kiedyś pół godziny przez telefon.

Zanim się obejrzałam, miałam umówione kilka rozmów i kiełkującą nieśmiało nadzieję, że może jednak gdzieś się uda.

Krok 7 – Rozmowa rekrutacyjna

Zdaj test i nie dostań pracy. Dostań pracę i ją odrzuć.

No więc ruszyłam na rozmowy.

Jeśli myślicie, że było ciężko, ale po pierwszej dostałam pracę, to cóż, mylicie się tylko w połowie.

W pierwszej firmie było ciężko, przemaglowali mnie z Pythona tak, że godzinę później nie wiedziałam, jak się nazywam, był też trzydziestostopniowy upał i myślałam, że umrę w długich spodniach i koszuli, bo starałam się wyglądać elegancko, ale cała spocona chyba jednak tak nie wyglądałam. Po rozmowie padło klasyczne “odezwiemy się”, a potem równie klasycznie, nikt się nie odezwał. Jakieś dwa miesiące później pracujący w tej firmie znajomy znajomego dopytał HRy co ze mną i dopiero wtedy dostałam maila. “Poszło Pani nieźle, ale jednak trochę za słabo, więc dziękujemy, bo szukamy osoby na wyższym poziomie”.

W drugiej firmie – która zajmuje się tworzeniem testów online dla kandydatów na programistów – zaczęli oczywiście od testu online. Jak wspomniałam wcześniej, zawsze lubiłam zagadki logiczne, a zadania algorytmiczne są do nich podobne. Test poszedł mi więc całkiem dobrze i dostałam zaproszenie na rozmowę. Niestety, na miejscu dopadł mnie stres, popełniłam kilka małych błędów, co zestresowało mnie do reszty. Nie dość, że nie dostałam oferty, to pewnie jeszcze myśleli, że oszukiwałam na teście przez Internet.

W kolejnej firmie, jednej z największych korporacji na rynku, po wstępnej rozmowie telefonicznej zostałam zaproszona na kolejny etap – rozmowę techniczną z niezwykle gburowatym przyszłym przełożonym. Facet cały czas mi przerywał i nie pozwolił chyba dokończyć ani jednego zdania. Poinformował mnie, że mam szczęście, że mogę u nich dostać pracę, ale żebym nie oczekiwała wysokiej pensji, bo dopiero zaczynam. Zaoferowana przez niego kwota była niższa od tej, którą zarabiałam w swojej aktualnej firmie, a nawet gdyby była wyższa, to nie wytrzymałabym będąc podwładną kogoś takiego. Odmówiłam.

Krok 8 – Wybór pracodawcy

Idź tam, gdzie uśmiechałaś się po rozmowie.

Na kolejną rozmowę poszłam już z nieco bardziej wisielczym nastrojem, wychodząc z założenia, że co będzie, to będzie, ja się już nie zamierzam ani przejmować, ani robić sobie nadziei.

Na początku poczęstowali mnie dobrą kawą i zaczęliśmy niezobowiązującą rozmową z potencjalnym przyszłym szefem, i jeszcze jego szefem. Pytali o programowanie w poprzedniej pracy, jaki projekt robiłam, jakie były problemy, jakie technologie. Pytali o to, gdzie nauczyłam się programować i jak sobie radziłam nie mając wsparcia doświadczonych programistów (odpowiedziałam: Stack Overflow). Potem spytali, czy byłabym gotowa nauczyć się programować w C, a ja na to, że czemu nie, skoro musiałam niedawno uczyć się C# i Javy, to może być też C i że nawet mam gdzieś w domu stary podręcznik.

Kiedy myślałam, że pewnie zaraz przejdziemy do pytań technicznych i każą mi rozwiązywać zadania, oni powiedzieli, żebym sobie odszukała ten podręcznik do C, bo za miesiąc zaczynam u nich pracę 🙂

Zakończenie, czyli początek kolejnej podróży.

Cały proces zmiany pracy zajął mi około 2,5 roku. Na początku kilka miesięcy nauki, później półtora roku przestoju, gdy kręciłam się w kółko nie wiedząc, jak ruszyć dalej. Potem jeszcze pół roku intensywnej nauki i nabierania doświadczenia, a w końcu dwa miesiące rozmów kwalifikacyjnych.

Nie jest łatwo płynąć w górę strumienia. Czasami trafiamy na silny nurt, czasami uderzamy w kamień. Czasem wpłyniemy do spokojniej zatoki i potrzebujemy dużo siły woli, aby ją opuścić i ruszać dalej. Jednak konsekwentnie i uparcie wracając na trasę w końcu dopłyniemy do spokojnego jeziora, z którego wypływa ta rzeka.

A jeśli Ty również chcesz przebyć tę drogę, to dzięki mojej wiedzy i doświadczeniu możesz zrobić to szybciej i skuteczniej. Bez kluczenia, straty czasu i mozolnego szukania najlepszej ścieżki. Zapraszam Cię do przeczytania serii artykułów 8 kroków by zostać programistą, w których opisuję na czym polega stworzona przeze mnie metoda.

Jeśli uważasz, że ten wpis jest ciekawy – będzie super, jeśli udostępnisz go swoim znajomym.

komentarze 34

  • sucharek

    Podoba mi się szczególnie rada w ostatnim kroku: Idź tam, gdzie uśmiechałaś się po rozmowie.
    Na ile byłam w stanie sprawdzić we własnym życiu, to działa. Mam wrażenie, że rzadko taka rada się pojawia, może z obawy czy wstydu, że jest mało konkretna czy zbyt bazująca na emocjach zamiast na twardych liczbach czy tabelkach za/przeciw – ale w końcu samopoczucie w pracy często jest czymś, co decyduje o tym czy to praca dla nas.

    • Michał

      Bardzo interesujący wpis i z zaciekawieniem czytałem do samego końca. Gratuluję wytrwałości i sukcesu w postaci przebranżowienia się. Jestem na podobnej drodzę, niedługo kończę kurs w jednej ze szkół programowania. Mam nadzieję, że mi różnież jednego dnia uda się osiągnąć cel, jak Tobie. Pozdrawiam 😉

      • Marta

        Cześć Michał 🙂 Myślę, że to właśnie wytrwałość była kluczem do tego, że mi się udało. Jeśli więc i Tobie jej nie zabraknie, to na pewno się uda. A tak z ciekawości – na jakim etapie nauki jesteś? I na jaki język się zdecydowałeś?

        • Cecilia Dominika

          Cześć Marta, trafiłam właśnie na twojego bloga po wpisie na FB w IT na szpilkach. Też się aktualnie przebranżawiam, chociaż w moim przypadku droga jest nieco dłuższa i jeszcze nie podjęłam pracy jako programistka. Bardzo dodaje mi otuchy to co napisałaś o płynięcia w górę strumienia. Ja postanowiłam zrobić kolejne studia ze względu na karierę programistyczno naukową, ale bez inżyniera i teraz czasem mam wrażenie, że ominęłam zbyt wiele podstaw. Programuję obecnie głównie w Pythonie, chociaż zaczynałam od Javy. I cieszę się, że akurat dziś trafiłam na twój wpis. Dzięki za inspirację!

          • Marta

            Cześć Cecylia 🙂 Cieszę się, że ta metafora z płynięciem do Ciebie trafiła, trochę się wahałam czy będzie zrozumiała dla innych, ale w końcu zdecydowałam się ją zostawić. Bo właśnie tak się czułam podczas całego tego procesu, że ciągle pod prąd i jeszcze po drodze przeszkody do omijania. Mimo wszystko jednak konsekwentnie przebierając płetwami, udało się i wierzę, że Tobie też się uda.
            A jeśli mogę, to chciałabym zapytać – na jakie studia się zdecydowałaś ze względu na programowanie?
            I jakich podstaw masz wrażenie, że Ci brakuje? Faktem jest, że jeśli nie ma się studiów to trzeba nadrobić temat algorytmów i struktur danych, ale to jest do zrobienia 🙂 Może przydałby się wpis, w którym tłumaczę jak do tego podejść i gdzie się uczyć?

          • Marta

            Małgorzato,
            do zrobienia. Mogę taki wpis zaplanować na najbliższe tygodnie. Powiedz proszę czego konkretnie chciałabyś się dowiedzieć, jakiej wiedzy czujesz, że Ci brakuje?

  • Bartek

    Bardzo plastyczny opis. Czyta się bardzo przyjemnie. Gratuluje:)

    Czy możesz wrzucić link do kursu Jose Portilla o którym wspominasz? Z tego co zauważyłem to dosyć płodny autor;) Dzięki!

  • Marcin

    Bardzo budujący tekst – szczególnie dla mnie gdy jestem na etapie gdzieś między krokiem 1 a 2 🙂
    Pozdrawiam serdecznie i gratuje Twego szczęścia!

    • Marta

      Cześć Marcin 🙂 Cieszę się, że tekst jest budujący. W sumie taka miała być jego rola – pokazać innym, że się da, i że nawet jeśli gdzieś po drodze popełnia się błędy, to mimo wszystko może się udać.

      A jeśli Ty jesteś między krokiem 1 a 2, to podzielisz się informacją na jaki język się zdecydowałeś?

      • Marcin

        Oczywiście że się podzielę ale niestety Cię nie zaskoczę to bo Python 🙂
        Jako że mam w historii jeden program napisany w Pascalu na studiach (też tak jak Ty elektrotechnika i o dziwo dla mnie sporo tam nawet pętli zagnieździłem bo liczył szeregi Fouriera) to muszę jednak nauczyć się pisania algorytmów ale i przede wszytkom nowego (na czasie) języka. Myślę że Python będzie odpowiedni – tym bardziej że pracuje dla przemysłu i jakoś bliżej mi zainteresowaniami do Data Science niżeli *-End’ów. Decyzja jednak nie jest ostateczna co do kierunku – za wcześnie jeszcze.

        • Marta

          Faktem jest, że Python to nie zaskoczenie, bo to chyba najczęściej wybierany język dla początkujących – ale nadal to jest bardzo dobry wybór 🙂
          Za szeregi Fouriera – szacun!
          Jeśli o algorytmikę chodzi to podrzuciłeś mi pomysł na post – znam parę miejsc, gdzie można się tego uczyć. Na początek i na szybko podrzucę Ci stronę Codility – mają zadania online z algorytmów i bardzo fajne materiały wprowadzające do każdego tematu. Przerobienie lekcji od 1-10 zdecydowanie wystarczy na początek: https://app.codility.com/programmers/lessons/1-iterations/
          Zainteresowanie Data Science podzielam, a jeśli jesteś umysłem ścisłym i lubisz się z matematyką, to zdecydowanie warto iść w tę stronę.

  • Cecilia Dominika

    Wybrałam studia magisterskie zaoczne z informatyki na PJATK w Warszawie. Do zawodu skłoniła mnie praca lingwisty w Samsungu, gdzie po raz pierwszy usłyszałam o dziale NLP. Zupełnie nie wiedziałam jak zacząć i szukałam studiów/zajęć w tym zakresie przekonana, że to wymóg pracy programisty.
    Mój tato znazał ten kierunek. Prowadzone są zajęcia z inżynierii lingwistycznej, w której ostatecznie nie brałam udziału, bo drugi rok spędziłam na Erasmusie. Przed rozpoczęciem zaoferowali mi rok wyrównaczy (zamiast 4 lat inżyniera miałam wybrane zajęcia, ale w sumie dosyć ogólne, w tym: podstawy Javy i GUI, bazy danych). Zaś same studia są mocno naukowe, i nie ma tu np. tworzenia aplikacji webowych, przedmiotów mocno technologicznych, a bardziej teoretyczne. Chciałabym pracować docelowo w NLP, ale ciężko mi zacząć bez doświadczenia pracy programisty i nawet przeszukując oferty pracy nie wiem właściwie jak jej szukać, jak budować portfolio na githubie, ani jak poprawnie zaprezetować się w CV od strony technologicznej.
    Na razie piszę pracę dyplomową z deep learning, ale mam wrażenie, że brakuje mi podstawowych zastosowań programowania, które mogłabym przedstawić w portfolio i wykorzystać w pracy jako Junior 🙂
    Chętnie przeczytałabym wpis o tworzeniu CV programisty oraz wpis, który zaproponowałaś o danych 🙂

    • Marta

      Dzięki za odpowiedź! Z pewnością masz dużą wiedzę i prawdopodobnie brakuje Ci niewiele, aby spiąć wszystko co wiesz klamrą i być poszukiwanym na rynku specjalistą. NLP to faktycznie mniej popularny temat niż tworzenie aplikacji webowych, ale ludzi, którzy to potrafią też jest odpowiednio mniej. Myślę, że w Warszawie znalazłaby się firma, która poszukuje takich ludzi. Próbowałaś już szukać, czy najpierw planujesz skończyć pracę dyplomową?

      • Cecilia Dominika

        Najpierw chcę skończyć pracę dyplomową, to jednak bardzo duży projekt. A pracy wstępnie szukałam ale spotkałam się z odmową ze względu na brak doświadczenia. Będę próbować dalej wbrew nurtowi 😉

  • AniaZ

    Cześć Marto!

    Bardzo się cieszę, że trafiłam na Twoją stronę <3 Właśnie tego mi było teraz potrzeba – jakiegoś promyka nadziei, że jednak da się osiągnąć coś, co czasami wydaje się niemożliwe.
    Ja od roku uczę się programowania (z przerwami), w zasadzie postawiłam wszystko na jedną kartę a jestem już w połowie drogi między 30-tym a 40-tym rokiem życia 😉
    Ostatnio większość komentarzy na jakie trafiam w internecie jest bardzo dołujące, ludzie w kółko piszą o tym, że rynek juniorów jest przesycony itp. Dlatego taki wpis działa budująco, w przeciwieństwie do wyżej wymienionych, przez które można się załamać i zniechęcić, co czasami mi się zdarza.
    Tak więc zamierzam zostać na tym blogu na dłużej 🙂
    Pozdrawiam serdecznie! Ania

    • Marta

      Cześć Ania!
      Dziękuję za komentarz 🙂 Bardzo się cieszę, że ten wpis dodał Ci otuchy.
      Czytałam podobne komentarze w Internecie, ale mam wrażenie, że w dużej mierze ich autorami są ludzie, którym przekwalifikowanie się nie powiodło, albo utknęli na jakimś etapie, z którego nie potrafią ruszyć dalej, więc wydaje im się, ze to “wina” rynku, który jest zamknięty na Juniorów. Do tego ludzie niezadowoleni zwykle chętniej dzielą się swoimi opiniami niż zadowoleni, więc może to sprawiać fałszywe wrażenie, że Internet pełen jest ludzi, którym przekwalifikowanie się nie udało, a skoro tak, to mi też się nie powiedzie.
      Osobiście uważam – i zresztą ta opinia stała się jednym z powodów do założenia tego bloga – że przekwalifikować się da, ale trzeba wiedzieć, jak to zrobić. W tym celu powstał cykl artykułów “8 kroków”. Mam nadzieję, że mając go już w ręce będzie Ci łatwiej przejść przez ten proces.
      A przy okazji – podzielisz się informacją jakiej technologii się uczysz i na jakim jesteś etapie?
      Pozdrawiam serdecznie 🙂 Marta

      • AniaZ

        Akurat mam dziś słabszy dzień, więc dziękuję, że mnie podbudowałaś artykułem i komentarzem 🙂 Bardzo potrzebuję takich pozytywnych przekazów 🙂
        Naukę programowania zaczęłam od C#, ponieważ mówiono mi, że dobrze zacząć naukę od takiego “klasycznego” obiektowego języka. W międzyczasie zrobiłam studia podyplomowe z systemów informatycznych ale nie uważam, żebym wyniosła z nich jakąś szczególnie cenną wiedzę, ot ogólne liźnięcie szeroko pojętych zagadnień z IT plus dobra znajomość SQL. Przerobiłam kursy na Udemy z HTML, CSS (obydwa myślę opanowałam w niezłym stopniu), JS i TS (tak ogólnie).
        Docelowo koleżanka radzi mi iść w stronę front-endu i w tym celu doradziła mi naukę Angulara, którą niedawno zaczęłam. I tu pojawiły się schody, bo jakoś średnio mi idzie, nie polubiłam się z TS (wolę języki typu C#) i trochę się zaczynam frustrować, bo czas leci a ja mam w swoim porfolio jedną, prymitywną choć całkiem przyzwoicie wyglądającą apkę zrobioną w .Necie i tyle :/ O backendzie nawet nie marzę, bo myślę, że nie ogarnęłabym tego, za trudne to wszystko.
        I tak oto utknęłam teraz w takim gorszym punkcie ale mam nadzieję, że jakoś pójdę do przodu, już za dużo w to zainwestowałam życia, żeby się poddać 🙂 Twoja historia jest motywatorem dla mnie 🙂

        • Marta

          Tak się zastanawiam nad tym co napisałaś, i jeśli polubiłaś się z C#, a nie leży Ci Angular, to może jednak rozważ backend? To nie jest tak, że zawsze robi się tam kosmicznie zaawansowane tematy. C# to w dużej mierze aplikacje bankowe i “korporacyjne”, które mają być solidne, a niekoniecznie super zaawansowane i zoptymalizowane.

        • Julia

          Hej ANIAZ!
          Tak chcę Ci tylko powiedzieć – sama jestem programistką .NET, a C# to mój ulubiony język. Przez dwa lata pracowałam jako fullstack i z frontendem miałam sporo do czynienia. Powiem Ci, że Angular też mi totalnie nie leżał – w porównaniu do elegancji C# był bardzo zaplątany, dużo rzeczy było nieintuicyjnych, wiele trzeba się było nauczyć “na pamięć” (w przeciwieństwie do C#, gdzie moim zdaniem język jest zbudowany na tyle dobrze, że wiele rzeczy rozumie się “samo przez się”).
          Może spróbuj Reacta z frameworków forntendowych? Dla mnie był o wiele, wiele lepszy niż Angular. Próbując się uczyć Angulara nie mogłam zrozumieć, czemu ktokolwiek chce w tym programować, skoro React jest (moim zdaniem, oczywiście) ewidentnie prostszy i przyjemniejszy.
          Powodzenia w rozwoju programistycznym, niezależnie od technologii jaką wybierzesz 🙂
          Julia

  • maroos99

    Witam.

    Ja niestety trochę stonuję pozytywne nastroje. Chyba nikt nie zwrócił uwagi na bardzo, ale to bardzo istotny szczegół. Autorka posta, zanim została programistką, pracowała jako TESTERKA oprogramowania. Czyli już siedziała w branży IT, miała styczność z kodem, miała kontakty, co znacznie ułatwiło jej wejście w rynek. Gdyby nie to, nawet nie dostałaby szansy wykazania się w swoim pierwszym, kilkumiesięcznym projekcie. Mimo kontaktów zajęło to sporo czasu. Pomyślcie teraz, że od tamtego czasu próg się podnosi cały czas, a Wy nie macie “znajomości” 😉

    Realnie sytuacja wygląda tak, że trzeba mieć naprawdę świetnie umiejętności i sporo szczęścia, aby tak z ulicy dostać pracę. Ludzie po 26 roku życia (a gdzie tu starsi) raczej nie mają szans na staże w dużych firmach, ponieważ tam często jest wymóg statusu studenta i mniej niż 24/25 lat. Na juniora we froncie (sam pracuję w nim, więc znam na bieżąco wymagania) minimum 2 lata doświadczenia po zamieszaniu z pandemią. Przed pandemią było to min rok.

    Dlatego życzę wszystkim jeszcze więcej samozaparcia niż miała Autorka, bo inaczej zmarnujecie czas 🙂

    • Marta

      Cześć. Napisałam w poście: “Do programowania wróciłam kilka lat po studiach, po mniej więcej dwóch latach spędzonych w Samsungu, gdzie pracowałam jako tester (nie mający nic wspólnego z programowaniem)”. Konkretnie, zajmowałam się testowaniem współpracy urządzeń mobilnych z sieciami telekomunikacyjnymi. Szansę na wykazanie się w projekcie dostałam – bo się do niego po prostu zgłosiłam. Nie bardzo byli inni chętni się tego podjąć, więc firma uznała, że mogę spróbować.
      Obawiam się więc, że nie doczytałeś dokładnie posta i oparłeś swój komentarz na błędnych założeniach.
      Nie zgadzam się też, że trzeba mieć sporo szczęścia, aby “dostać pracę z ulicy”. Szczęście oczywiście może pomóc, ale solidna praca i odpowiednie przygotowanie do zmiany pracy wystarczą.
      Znam też osobiście ludzi sporo po 30 roku życia, którzy skutecznie się przekwalifikowali.
      Nie wiem do końca jaki masz cel w zniechęcaniu innych – zwłaszcza, że jak piszesz, samemu Ci się udało dostać pracę juniora.
      Nawet jeśli przyszło Ci to z wielkim trudem i dlatego uważasz, że innym się nie uda, to jest to błąd poznawczy – to że u Ciebie tak było, nie znaczy, że tak jest zawsze 😉

  • Wojtek

    Bardzo fajny artykuł, ale jak na koniec doczytałem, że cały proces trwał 2,5 roku, to tak ciężko się robi. Obecnie jestem zapisany na kurs zdalny weekendowy z pythona, a przedtem brałem udział w webinarze prezentacji kursu i wszystko bardzo optymistycznie opisali, że nie będzie większych problemów ze znalezieniem pracy. Może i nie, ale życie bywa przewrotne, a sam niedawno skończyłem pracę, która wymagała częstych wyjazdów za granicę na serwisy, niekiedy wypadające właśnie w weekendy. Na kursie jestem od maja, ale przez tą deregulację czuję, że mam mętlik w głowie, gubię się i właśnie się kręcę wokół przełamania się, żeby coś więcej napisać.

    Mimo to tekst jest budujący. Dzięki! 😉

    • Marta

      Ta moja droga do programowania jednak daleka była do optymalnej. Miałam przestoje i momenty kręcenia się w miejscu.
      Pisałam niedawno artykuł o tym ile moim zdaniem może zająć cały proces przebranżowienia: https://jakzostacprogramista.pl/ile-czasu-potrzeba-by-zostac-programista/ ale w komentarzach zgłosiło się kilka osób, którym zajęło to jeszcze mniej czasu. Z jedną z tych osób, Remigiuszem, przeprowadziłam wywiad, polecam przeczytać, bo nastroi Cię pewnie bardziej optymistycznie niż moje 2,5 roku 😉 : https://jakzostacprogramista.pl/5-miesiecy-od-kasjera-do-programisty/
      Wiadomo, że w życiu różnie bywa, jak się ma pracę i obowiązki to proces nie idzie aż tak szybko, ale myślę, że jak dobrze sobie zorganizujesz naukę (polecam przejrzeć bloga i teksty z cyklu 8 kroków…) to zrobisz to szybciej niż ja 🙂
      Pozdrawiam i życzę powodzenia!

  • Cezar

    Przeczytałem z wypiekami na twarzy. Stwierdzenie “Idź tam, gdzie uśmiechałaś się po rozmowie.” jest kapitalne. Mam 53 lata, gdzie 25 lat spędziłem w HelpDesku, administrowaniu siecią, serwerami. Gdyby nie kultura to byłemu szefowi dałbym “z bani” za to jak mnie traktował i jak potraktował na końcu. Lubię ludzi, lubię im pomagać i lubiłem to co robiłem, a szef to wykorzystywał. Ale po wielu latach bez awansu, przy ogromnych brakach kadrowych miałem dość. Kiedyś też chciałem być Frontendowcem i teraz też, ale chyba za późno, bo PESELoza nie pozwoli mnie zatrudnić, mózg chyba też już nie tej, a do tego mam braki m.in. “0” doświadczenia. I nie chodzi o pieniądze, bo tak to jest często lansowane, tylko o ciekawość i zadowalanie klienta. Hmm potrzebowałbym pracy, rozwijającego stażu w tym zakresie, bylebym się dokształcił. Czy jest szansa?

    • Marta

      Cześć Cezar 🙂 Dzięki za komentarz. Długo się zastanawiałam jak ująć to, o co mi chodzi z wyborem dobrego pracodawcy i miło usłyszeć, że trafiłam z tym stwierdzeniem. Też spędziłam kilka lat w firmie, gdzie było naprawdę nieprzyjemnie. To znaczy – na początku nie tak źle, ale później coraz gorzej. Szczęśliwie udało się odejść, ale niestety są ludzie, którzy w takich miejscach tkwią latami, bo boją się, że nie poradzą sobie na rynku pracy. Zdarzyło mi się pracować z ludźmi naprawdę dobrymi, którzy jednak mówili, że na ostatniej rozmowie kwalifikacyjnej byli 15 lat temu i po prostu boją się znowu być w takiej sytuacji.
      Dlatego też szacunek dla Ciebie, że po 25 latach zdecydowałeś się odejść, zamiast zaciskać zęby i “przebiedować” do emerytury.
      Ciężko mi odpowiedzieć na pytanie czy masz szansę na pracę i staż. To znaczy – myślę, że masz, ale też masz rację, że pracodawcy patrzą na wiek (nawet jeśli nikt się do tego oficjalnie nie przyzna). Swoją drogą nie bardzo rozumiem tą politykę, sama, gdybym miała kiedyś firmę, chętnie zatrudniałabym starsze osoby. Po pierwsze ze względu na doświadczenie, niekoniecznie zawodowe, ale “ogólnożyciowe”, po drugie – bo taka osoba raczej nie zmieni pracy po roku albo dwóch. Na Twoim miejscu rozejrzałabym się po stronach dużych korporacji, takich, które dumnie obnoszą się ze swoją inkluzywnością i tym, że nie dyskryminują pracowników ze względu na płeć/orientację/wiek etc. Oczywiście czasem takie deklaracje są tylko na pokaz, ale nie zawsze.
      No i pytanie czemu Front-end? Myślałeś może o zostaniu w swojej działce czyli administrowaniu siecią? Może warto dorobić certyfikat CISCO i iść po prostu na admina?

  • Cezar

    No cóż. Odszedłem jak wcześniej moi 3 koledzy, bo miałem dość ciśnienia. Przy 350 osobach, 30 serwerach, sieci, serwisie, help i soft desku, zakupach, przetargach, projektach i 50 obszarach administracyjnych nie było jasnego podziału zadań, nie było ani jednego administratora z prawdziwego zdarzenia, byli tylko na papierze, a szef rządził chaosem i pretensjami.
    No i pytanie czemu Front-end? Bo kiedyś lubiłem w tym dłubać, ciekawi mnie jak to działa od spodu.
    Myślałeś może o zostaniu w swojej działce czyli administrowaniu siecią? Może warto dorobić certyfikat CISCO i iść po prostu na admina? Myślałem, ale to jednak mnie nie wciąga, a doświadczenie też mam niewielkie, gdyż z uwagi na braki kadrowe prawie nic nigdy nie zrobiłem od 0 do końca. Nie było mocy przerobowych, więc była taka partyzantka, że część rzeczy robiliśmy my, a część rzeczy firma zewnętrzna.

    • Marta

      Brzmi to jak naprawdę beznadziejne miejsce pracy, przynajmniej z punktu widzenia zarządzania, bo skoro spędziłeś tam aż tyle lat, to musiały być też dobre strony tego wszystkiego.
      Trzymam kciuki za powodzenie z Front-endem. Zawsze jest opcja “oddolna” – zacząć od nauki samodzielnej (np. z Udemy), a potem jeśli uznasz, że już coś potrafisz to łapać zlecenia freelancerskie. Jest dużo serwisów, na których można ich szukać. Wada: na początku raczej słaba kasa. Zaleta: doświadczenie i niezależność od pracodawców.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

LinkedIn
Share