Wyślij zapytanie Dołącz do Sii

Oto moja historia przebranżowienia. Przeplatają się w niej momenty zwątpienia i chwile słabości, ale też radość i satysfakcja z każdego osiągnięcia, rozwiązanego problemu czy znalezionego buga. Początkowo wszystko zdawało się być przeciwko mnie – brak wykształcenia kierunkowego, brak doświadczenia, wiek. Ale udało się!

W tym artykule chciałabym podzielić się tym, jaką ścieżkę wybrałam, co mnie spotkało po drodze, co było dla mnie trudne, co mi się udało, a co zrobiłabym inaczej. I – w końcu – jak oceniam cały proces po ponad roku pracy w komercyjnym projekcie. Czy było warto?

Dlaczego IT?

Był rok 2021. Perspektywa rozpoczęcia kariery w IT była bardzo obiecująca. Branża rozwijała się prężnie i stała się jednym z najbardziej dynamicznych sektorów gospodarki. Wciąż istniało zapotrzebowanie na specjalistów IT, w tym programistów, co przekładało się na dość szeroki wybór ofert pracy i atrakcyjne zarobki. Skuszona wizją dołączenia do owianej sławą branży, postanowiłam spróbować swoich sił.

Na początek kilka słów o mnie, by nakreślić Ci tło:

  • ukończyłam studia magisterskie na Wydziale Zarządzania na Uniwersytecie Gdańskim – tak więc nie mam wykształcenia kierunkowego,
  • pracowałam na różnych stanowiskach, ale nie były to prace związane jakkolwiek z informatyką – a więc nie miałam żadnego doświadczenia związanego z IT,
  • zdecydowałam się na przebranżowienie w wieku 32 lat.

Mimo niesprzyjających warunków i trudności wiedziałam, że programowanie to coś, czego chcę spróbować i do czego – przynajmniej w teorii – mam zadatki. Konsultowałam się w tej kwestii ze znajomymi, którzy już pracowali w IT (dzięki, Zachariasz!), a także wykonałam kilka „testów predyspozycji na programistę” (znajdziesz ich w sieci mnóstwo).

Front-end czy back-end? Jaki język wybrać?

Przyznam szczerze, że na początku nie wiedziałam, od czego zacząć i miałam mnóstwo pytań. Pierwsza i chyba najważniejsza decyzja, przed którą stanęłam jako aspirująca programistka to to, czy wybrać back-end czy front-end. Oraz to, na jaki język programowania się zdecydować.

Front-end to termin używany w kontekście tworzenia stron internetowych i aplikacji internetowych, który odnosi się do części odpowiadającej za prezentację danych oraz interakcję użytkownika z aplikacją. Najpopularniejsze języki programowania we front-endzie to JavaScript, TypeScript (rozszerzenie JavaScript) oraz HTML/CSS.

Z kolei back-end dotyczy części, która działa po stronie serwera, poza widokiem użytkownika. Odpowiada m.in.: za przetwarzanie danych, logikę biznesową, zarządzanie bazami danych i obsługę interakcji użytkowników z aplikacją poprzez front-end. Języki programowania wykorzystywane w back-endzie to m.in.: JavaScript z Node.js (JavaScript może być używany zarówno po stronie front-endu, jak i back-endu za pomocą środowiska Node.js), Python, Java, Ruby, C# czy PHP.

Gdy prosiłam znajomych o rady w tej kwestii, zazwyczaj słyszałam: „wszystko zależy od tego, czym chcesz się zajmować”. Problem w tym, że na samym początku mojej drogi nie byłam w stanie odpowiedzieć sobie na to pytanie. Starałam się więc zebrać jak najwięcej informacji – brałam udział w wielu darmowych webinarach i warsztatach dotyczących zarówno back-endu jak i front-endu, czytałam publikacje dotyczące różnych języków, oglądałam tutoriale. Chciałam poszerzyć moją wiedzę w tym zakresie i mocno wejść w temat.

Analiza rynku

Trudno jednoznacznie stwierdzić, czy łatwiej jest nauczyć się back-endu czy front-endu, ponieważ zależy to od indywidualnych predyspozycji, zainteresowań i doświadczeń każdej osoby. Oba obszary mają swoje wyzwania i zalety, i to, który z nich jest łatwiej przyswajalny – jest względne. Nie mniej, w tamtym czasie spotkałam się z opiniami, że nauka back-endu może uchodzić za mniej „atrakcyjną” niż nauka front-endu. Pomyślałam więc, że teoretycznie próg wejścia dla back-endu może być wyższy, co wiązałoby się z mniejszą konkurencją na rynku pracy wśród juniorów.

Kolejnym krokiem było zbadanie zapotrzebowania rynku, czyli mówiąc najprościej – sprawdzenie liczby ofert pracy w ramach poszczególnych języków. Tu szczególnie polecam zaglądać na strony dedykowane branży IT np. No Fluff Jobs, Just Join IT czy Bulldogjob.

Koniec końców – w oparciu o skrawki zdobytej wiedzy – zdecydowałam się na back-end i Pythona (jest to dość popularny język, łatwy w użyciu, czytelny i ma ogromne wsparcie społeczności).

W jaki sposób nauczyć się programować?

Kiedy podjęłam już tę pierwszą, najważniejszą decyzję, stanęłam przed kolejnym dylematem: w jaki sposób nauczyć się programować? Uczyć się samodzielnie? Zapisać się na bootcamp? Czy może skorzystać z pomocy mentora?

W tamtym czasie – prawdopodobnie za sprawą wszędobylskich reklam – wydawało mi się, że jedyną słuszną drogą do zdobycia wiedzy w zakresie programowania będzie zapisanie się na intensywny, bardzo drogi kurs tzw. bootcamp. Ponownie postanowiłam zasięgnąć opinii moich znajomych, którzy od lat siedzą w branży IT.

W jednej z rozmów powiedziałam koledze, że rozważam bootcamp, bo chyba dobrze mieć motywację w postaci dużych pieniędzy zainwestowanych w ten kurs. Kuba powiedział mi wówczas coś, co mocno wryło mi się w pamięć:

Jeśli ktoś potrzebuje motywacji do nauki, to ta praca zdecydowanie nie jest dla niego.

Myślę, że to zdanie idealnie oddaje istotę podejścia do programowania. Nauka jest niejako wpisana w pracę programisty i jest jej faktycznie dużo. Czasami to może przytłaczać, ale o tym później. Ja lubię się uczyć, więc te słowa mnie wówczas nie zraziły.

Kuba poradził mi, żebym kupiła kompleksowy kurs na platformie Udemy i uczyła się z pomocą mentora, z dużym nastawieniem na samodzielną pracę. Tak też zrobiłam. Zamiast inwestować na starcie kilkanaście tysięcy złotych w bootcamp, zdecydowałam się na kurs e-learningowy za 42,99 zł. Na grupach dyskusyjnych zamieściłam ogłoszenie, że szukam doświadczonego programisty, który chciałby wspierać mnie w procesie nauki. Tak poznałam mojego pierwszego mentora.

System nauki. Ile czasu poświęcić?

Zanim opiszę, jak przebiegała moja współpraca mentoringowa, muszę wspomnieć o jeszcze jednej ważnej decyzji, którą podjęłam. Dotyczyła ona mojego systemu nauczania i odpowiedzi na pytania: Jak powinnam zaplanować naukę? Oraz: ile czasu chcę i mogę poświęcić na naukę?

Ponieważ na tym etapie wiedziałam już, że naprawdę chcę spróbować się przebranżowić, postanowiłam podejść do sprawy poważnie. Podjęłam wówczas kontrowersyjną dla niektórych decyzję – zrezygnowałam z pracy zawodowej i zdecydowałam się na naukę programowania na cały etat.

Tu pragnę podkreślić, że absolutnie nie namawiam nikogo, aby poszedł w moje ślady. Ja po prostu wiedziałam, że to będzie dla mnie duży projekt, więc muszę „skoczyć na głęboką wodę” i potraktować tę naukę jak pracę. Wiedziałam, że prawdopodobnie nie wystarczy mi energii i cierpliwości, by w ciągu dnia pracować w biurze, a czas wolny dzielić między naukę programowania, ogarnianie bieżących spraw, spotkania z przyjaciółmi a odpoczynek. Podziwiam osoby, które mają dość motywacji, aby uczyć się w ten sposób, ale mam świadomość, że raczej nie jestem jedną z nich.

Poza tym miałam ten komfort, że mogłam sobie na takie rozwiązanie pozwolić. Zgromadzone oszczędności postanowiłam przeznaczać na bieżące wydatki, aby z czystą i spokojną głową móc przejść przez cały proces nauki. A to, że nie zdecydowałam się na bootcamp, dodatkowo odciążyło założony budżet.

Aby zmaksymalizować szanse na powodzenie, postanowiłam przeznaczyć 8 godzin dziennie na naukę. W praktyce bywało różnie – były dni, w których praca nad zadaniem pochłaniała mnie na 10 czy 12 godzin. Były też dni, w których potrzebowałam chwili oddechu i ten czas znacznie skracałam. Kluczową rolę odgrywa tu samodyscyplina i skupienie na celu. Ale o tym jeszcze wspomnę.

Oczekiwania vs. rzeczywistość

W trakcie nauki kilkukrotnie musiałam zweryfikować moje oczekiwania na temat tego, jak będzie wyglądał cały ten proces. Rzeczywistość nie zawsze była kolorowa i czasem dość mocno odbiegała od moich wyobrażeń.

Jak wspomniałam wcześniej, naukę zaczęłam od kursu e-learningowego i współpracy z poznanym on-line mentorem. Z początku wszystko szło gładko. Zagadnienia prezentowane w kursie były w pełni zrozumiałe i logiczne, nauka przebiegała bez większych problemów i sprawiała mi mnóstwo satysfakcji. Niestety nie trwało to długo. Już po pierwszym miesiącu dopadł mnie trzeci etap widocznego na poniższym wykresie tzw. efektu Dunninga-Krugera:

Efekt Dunninga-Krugera
Ryc. 1 Efekt Dunninga-Krugera (opracowanie własne na podstawie Strefy Inwestorów)

„To jednak bardziej skomplikowane niż myślałam…”

Zdaję sobie sprawę, że ocena trudności nauki programowania może być subiektywna i różnić się w zależności od osoby, jej wcześniejszego doświadczenia, podejścia do nauki i preferencji. Dla niektórych osób nauka programowania może być stosunkowo łatwa i naturalna, podczas gdy dla innych może być bardziej wymagająca. W moim przypadku programowanie okazało się trudniejsze niż zakładałam.

Przebranżowienie wymaga dużo czasu, pracy i wytrwałości

Odnoszę wrażenie, że czasy reklam głoszących hasła: „zostań programistą w 2 miesiące” mamy już dawno za sobą, ale mimo to, gdy zaczynałam naukę, nie zdawałam sobie sprawy z tego, co mnie czeka. Proces przebranżowienia okazał się żmudny i wymagał ode mnie nie tylko umiejętności rozwiązywania problemów, logicznego myślenia czy wspomnianej wcześniej gotowości do ciągłej nauki. Kluczowe okazały się być:

  • wytrwałość,
  • dobra organizacja pracy,
  • samodyscyplina.

Szczególnie ważne w momentach zwątpienia (patrz: wykres – punkt czwarty: „Chyba nigdy tego nie zrozumiem…”).

Sam język nie wystarczy

Kolejnym zaskoczeniem był fakt, że Python nie wystarczy. Na początku mojej drogi myślałam, że gdy opanuję już podstawy języka, będę mogła powoli myśleć o aplikowaniu na stanowiska juniorskie. Nic bardziej mylnego. Okazało się, że zrozumienie składni to dopiero początek. Jako aspirujący Python Developer musiałam zgłębić także inne obszary związane z programowaniem takie jak np.:

  • Znajomość frameworków – frameworki to zestawy narzędzi, bibliotek i reguł, które ułatwiają programistom tworzenie oprogramowania i aplikacji. Są to struktury lub szablony, które oferują gotowe rozwiązania dla często powtarzających się problemów, pozwalając programistom skupić się na konkretnych aspektach projektu, zamiast ponownie implementować te same funkcje od podstaw. Najpopularniejsze frameworki Pythona to Django i Flask.
  • Obsługa baz danych – umiejętność pracy z bazami danych i zapytaniami SQL jest ważna w większości aplikacji. Python Developer powinien znać podstawy baz danych i umieć integrować je z aplikacjami.
  • Zrozumienie wzorców projektowych i dobrych praktykPython Developer powinien być w stanie pisać czytelny, efektywny i dobrze zorganizowany kod.
  • Testowanie i debugowanie – zdolność do testowania i debugowania kodu jest kluczowa, aby zapewnić wysoką jakość oprogramowania i identyfikować błędy.
  • Praca z narzędziami deweloperskimiPython Developer powinien znać i umieć korzystać z różnych narzędzi deweloperskich, takich jak edytory kodu (np. Visual Studio Code, PyCharm) czy systemy kontroli wersji (np. GIT).

Samo się nie zrobi

Już nie mam złudzeń – żeby nauczyć się programować, trzeba pisać kod. Praktykowanie stanowi bowiem kluczowy element zdobywania umiejętności programistycznych. Samo obejrzenie tutorialu czy wysłuchanie webinaru zazwyczaj nie wystarczy… Za to każda linijka napisanego kodu przybliża nas do celu.

Ile to wszystko trwało? Od pierwszej linijki kodu do pierwszej pracy

Mimo przyjemnych początków, z czasem było coraz trudniej, a moja frustracja rosła z każdym niezrozumiałym zagadnieniem. Współpraca z mentorem też nie zawsze była łatwa. Ukończenie kursu e-learningowego zajęło mi niecałe 2 miesiące i wtedy zdecydowałam się na skorzystanie z usług profesjonalnej firmy mentoringowej. Oferowała to, czego dotychczas mi brakowało: ustrukturyzowaną naukę, wysokiej jakości materiały szkoleniowe i stałą opiekę mentora. Z perspektywy czasu myślę, że od samego początku powinnam była wybrać tę drogę.

W trakcie kolejnych miesięcy zrobiłam duży progres, zrealizowałam zaplanowany program i przygotowałam 3 autorskie projekty do mojego githubowego portfolio. W tym czasie nie brakowało jednak nawracającej frustracji i chwil zwątpienia, w których to wsparcie ze strony mentora okazało się kluczowe.

Z mojej perspektywy mentoring to nie tylko dzielenie się wiedzą i podpowiedzi w zakresie efektywnego kodowania, ale również wsparcie emocjonalne. Dlatego uważam, że niezwykle ważne jest to, aby mentor był nie tylko świetnym programistą, ale także empatyczną osobą, z którą chętnie konsultujemy napotkane problemy i którą zwyczajnie lubimy. Myślę, że gdybym uczyła się na własną rękę, prawdopodobnie nie byłabym dzisiaj programistką.

Kolejnym etapem na drodze do zmiany ścieżki kariery było poszukiwanie pracy – najbardziej stresujący okres w całym procesie przebranżowienia. Na szczęście nie trwał zbyt długo, bo niecałe 2 miesiące. Gdy skontaktował się ze mną Daniel, mój obecny Team Leader, po krótkiej rozmowie zaprosił mnie na rozmowę techniczną z inżynierami z jego zespołu. Był ciekaw, czy jako osoba spoza branży będę w stanie przejść rekrutację. Ta okazała się wymagająca (zarówno live coding jak i sprawdzenie wiedzy teoretycznej), ale odpowiedziałam poprawnie na wszystkie pytania i już po 10 minutach od skończonej rozmowy otrzymałam pozytywną decyzję o przyjęciu mnie do Sii.

Cały proces – od momentu rozpoczęcia nauki do otrzymania propozycji pracy – zajął mi mniej niż 9 miesięcy.

Czy było warto?

TAK! Zdecydowanie! Chociaż nie było łatwo, to cieszę się, że postawiłam wszystko na jedną kartę i zdecydowałam się na przebranżowienie. Od ponad roku pracuję w dużym, komercyjnym projekcie i choć jest dość wymagający, to praca w nim przynosi mi wiele satysfakcji. Trafiłam do fantastycznego zespołu, w którym mam możliwość współpracy z doświadczonymi deweloperami, cały czas uczę się czegoś nowego i rozwijam się.

Cieszę się, że jestem częścią dynamicznego sektora technologicznego. I choć uważam, że bycie programistą nie jest dla każdego, to w branży IT istnieje wiele różnych ścieżek kariery i specjalizacji, co pozwala na znalezienie dziedziny, która najlepiej odpowiada naszym zainteresowaniom i umiejętnościom.

Jakieś rady?

Na koniec garść porad. Zdarza się, że któryś z moich znajomych rozważa przebranżowienie i prosi mnie o rady. Chętnie dzielę się moimi przemyśleniami. Oto, co wówczas mówię:

Kiedy jeszcze nie jesteś pewny/a, czy programowanie jest dla Ciebie:

  • jeśli masz w swoim otoczeniu zaufane osoby, które już pracują w branży, warto zapytać je o rady czy materiały do nauki (kilka poleceń ode mnie znajdziesz poniżej),
  • zrób rozeznanie: wgryź się w temat, zbierz jak najwięcej informacji, prześledź oferty pracy i wybierz język, którym potencjalnie jesteś zainteresowany/a,
  • skorzystaj z niedrogiego kursu e-learningowego (w Internecie jest też sporo darmowych materiałów), zacznij kodować i sprawdź, czy to Ci się podoba,
  • bądź ze sobą szczery/a – jeśli tego nie czujesz, to prawdopodobnie nie warto w to brnąć.

Gdy już się zdecydujesz:

  • przygotuj się psychicznie na długą, ciężką i w większości samodzielną pracę,
  • uważaj na grupy dyskusyjne – z doświadczenia wiem, że wypowiedzi niektórych osób bywają mocno demotywujące i nie muszą mieć z Tobą nic wspólnego. To, że osobie X w mieście Y przytrafiła się jakaś sytuacja, nie oznacza, że tak samo będzie w Twoim przypadku. Ja zupełnie zrezygnowałam z czytania postów mających na mnie negatywny wpływ,
  • wybierz metodę i system nauki, który najlepiej Ci pasuje (u mnie sprawdził się mentoring),
  • zadbaj o to, żeby cały proces był dla Ciebie przyjemny – dzięki temu nie będziesz musiał/a się zmuszać do nauki i łatwiej będzie Ci wytrwać w swoich postanowieniach (np. jeśli nie dogadujesz się z mentorem – zmień go!).

Co polecam?

Poniżej kilka linków, z których sama korzystałam. Może i Tobie się przydadzą:

  • Kurs CS50 „Podstawy Programowania” – polecam obejrzeć cały kurs, od początku do końca! Prowadzący w przystępny sposób tłumaczy podstawy sztuki programowania. Słuchałam go z przyjemnością. Na YT również po polsku,
  • książka Ala Sweigarta, Automate the Boring Stuff with Python (darmowa w wersji on-line; po angielsku),
  • kanał na YouTube: Corey Schafer (nie tylko Python)
  • moja własna check lista pojęć i umiejętności Junior Python Developera (dodana poniżej). Jak wspominałam wcześniej, w pracy programisty niezbędna okazała się nie tylko znajomość Pythona, ale znacznie więcej.
  • firma mentoringowa, z której korzystałam: Devs-Mentoring. Polecam ze względu na materiały szkoleniowe i stałą opiekę mentora, która jest nieoceniona, gdy mierzymy się z trudnościami. Usługa płatna raz w miesiącu, można zrezygnować w dowolnym momencie. Ja korzystałam przez 7 miesięcy (przypominam, że była to nauka na pełen etat).

Podsumowanie

Pamiętaj proszę, że wszystko, co zawarłam w tym artykule, jest oparte na moich osobistych doświadczeniach i moich subiektywnych opiniach. To nie jest „recepta na sukces”, a jedynie opis mojej historii i doświadczeń.

Zdaję sobie sprawę z tego, że sytuacja w branży jest bardzo dynamiczna, a rynek pracy i preferencje dotyczące języków programowania zmieniają się w czasie. To, co tu opisałam, dotyczy przełomu lat 2021/2022, jednak mam nadzieję, że część zawartych przemyśleń może okazać się przydatna i motywująca dla osób, które dzisiaj rozważają przebranżowienie lub są w trakcie tego procesu.

Trzymam za Was wszystkich kciuki!

***

Jeśli ciekawią Cię ścieżki kariery w branży IT, zajrzyj koniecznie do innych artykułów naszych ekspertów!

***

5/5 ( głosy: 20)
Ocena:
5/5 ( głosy: 20)
Autor
Avatar
Joanna Kotwasińska

Programistka, która niedawno wskoczyła na pokład IT. Choć jest dopiero na początku drogi, cieszy się pracą i widzi ogromny potencjał do rozwoju. Przyjmuje wyzwania z optymizmem i dąży do ciągłego poszerzania swoich umiejętności. Poza kodowaniem, uwielbia podróże i naturę. Chętnie eksploruje nowe miejsca i czerpie inspirację z otaczającego ją świata

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

  • Dziękuję za podzielenie się linkami. Nie znałam! Gratulacje z powodu wytrwałości w drodze do osiągnięcia celu i profesjonalnego podejścia. Myślę, że to bardzo dobrze wyważony artykuł, który ani nie namawia, ani nie zniechęca, tylko mówi jak jest – że nie jest to bułka z masłem, ale można. pozdrawiam:)

  • Fajny artykuł, dobrze napisany – lekko się czyta.
    Bardzo fajna histoira i oczywiście gratuluję przebrażowienia się 🙂

Może Cię również zainteresować

Pokaż więcej artykułów

Bądź na bieżąco

Zasubskrybuj naszego bloga i otrzymuj informacje o najnowszych wpisach.

Otrzymaj ofertę

Jeśli chcesz dowiedzieć się więcej na temat oferty Sii, skontaktuj się z nami.

Wyślij zapytanie Wyślij zapytanie

Natalia Competency Center Director

Get an offer

Dołącz do Sii

Znajdź idealną pracę – zapoznaj się z naszą ofertą rekrutacyjną i aplikuj.

Aplikuj Aplikuj

Paweł Process Owner

Join Sii

ZATWIERDŹ

This content is available only in one language version.
You will be redirected to home page.

Are you sure you want to leave this page?