CodeGym /Blog Java /Poland /Historia sukcesu. 20 godzin programowania tygodniowo, tyt...
Roman B.
Poziom 35
Kharkiv

Historia sukcesu. 20 godzin programowania tygodniowo, tytuł magistra i życie osobiste

Opublikowano w grupie Poland
Po przeczytaniu o tym co należy zrobić, postanowiłem opracować plan, jak się uczyć, aby osiągnąć swój cel i ukończyć kursy, ponieważ nie miałem czasu na naukę w wolnym tempie. Moim celem była szybka nauka, ale nie za szybka, tak aby nie zniszczyć pragnienia, dając mózgowi trochę czasu na odpoczynek. Ponieważ ciężar, z którym chciałem się zmierzyć stanowił dla mnie nie lada przeszkodę. Historia sukcesu. 20 godzin programowania tygodniowo, tytuł magistra i życie osobiste - 1

Na początek opowiem trochę o sobie

Mam 27 lat. Zanim zacząłem uczyć się Javy, studiowałem matematykę stosowaną na Wydziale Matematyki. Wydawałoby się, że powinienem być dobry w programowaniu, jeśli nie nawet doskonały. Lecz nie było tak w moim przypadku, ponieważ sabotowałem wszystkie kursy, na których pojawiało się programowanie, chociaż zdałem dzięki szczęściu — nie napisałem żadnego własnego kodu. Okazało się więc, że daleko mi było do programowania. Oczywiście, w naszym kraju z wykształceniem matematycznym nie zarobisz zbyt wiele, chyba że jako programista (Roman jest z Ukrainy — przyp. red.). I właśnie dlatego postanowiłem zająć się właśnie tym. I tak się złożyło, że postanowiłem nauczyć się Javy. Nie wynikało to z żadnej analizy rynku, ani z poszukiwania liczby wakatów czy popytu na rynku pracy. Tak po prostu wyszło. Kiedy postanowiłem dowiedzieć się, jak nauczyć się języka Java, natknąłem się na ten kurs. Nie bardzo chciałem uczyć się jedynie z książek, ale nie byłem też zachwycony kursami stacjonarnymi, ponieważ kosztują dużo pieniędzy, natomiast realne korzyści są niewielkie. Dlatego nauka online była dla mnie najlepszym rozwiązaniem. Po ukończeniu pierwszych 3 poziomów zdałem sobie sprawę, że kurs mi się podoba i mogę wykupić subskrypcję. Co więcej, trafiłem na ofertę promocyjną i kupiłem swój za pół ceny. Miało to miejsce na przełomie sierpnia i września 2015 r.

Mój plan nauczania

Po przeczytaniu o tym co trzeba było zrobić, postanowiłem opracować plan, jak się uczyć, aby osiągnąć swój cel i ukończyć kursy, ponieważ nie miałem czasu na naukę w wolnym tempie. Moim celem była szybka nauka, ale nie za szybka, tak aby nie zniszczyć pragnienia, dając mózgowi trochę czasu na odpoczynek. Ponieważ ciężar, z którym chciałem się zmierzyć stanowił dla mnie nie lada przeszkodę. Oto, co postanowiłem:
  • Muszę się uczyć pięć dni w tygodniu (od poniedziałku do piątku).
  • W weekendy będę robił wszystko oprócz nauki Javy.
  • Każda sesja potrwa łącznie 4 godziny, z 15-minutową przerwą pomiędzy każdą godziną na spacer, relaks i zaparzenie herbaty.
W sumie 20 godzin tygodniowo. Nieźle, prawda? Poza tym musiałem czasem jeździć na uczelnię, bo byłem jeszcze w trakcie studiów. W grudniu byłem już na 20. poziomie i wydawało mi się, że wiem całkiem sporo, ale przeżywałam też kryzysy kiedy nic nie działało i wydawało mi się, że nie mogę iść dalej. Do tego stopnia, że przyszedł moment, gdy po prostu nie mogłem przyswoić informacji o kolekcjach. Dopiero po weekendzie bez programowania nadeszło zrozumienie.

Przejście do nowego poziomu

Trzy miesiące po rozpoczęciu studiów rozmawiałem z kolegą o tym, co jeszcze muszę wiedzieć, aby dostać pracę. Nieznajome słowa, które wypowiedział, takie jak „bazy danych” (horror!) i wiele więcej, dawały mi do zrozumienia, że muszę przyspieszyć i zrobić jeszcze więcej. Najwyraźniej znajomość gramatyki Java nie wystarczy, aby znaleźć pracę. Zacząłem przyspieszać w różnych kierunkach:
  • Kupiłem sobie książkę „Java. Rusz głową!”. Jest ona zalecana na 4. poziomie kursu. Ale jakoś nie czytałem uważnie i umknęło mi to. Uczy tych samych rzeczy, ale z innej perspektywy, co pozwala lepiej i głębiej je zrozumieć. Wszystkim szczerze polecam.

  • Zacząłem szukać i chodzić na wszystkie istotne wydarzenia lokalne w moim mieście, nawet jeśli niewiele z nich rozumiałem. W końcu jednak zdałem sobie sprawę, że to co robię, nie idzie na marne. Bardzo mi pomogły.

  • Połączyłem naukę z czytaniem mediów programistycznych, aby śledzić wynagrodzenia w IT, przydatne wydarzenia, czytać artykuły o karierze programisty itp.

  • W serwisie YouTube znalazłem krótkie i treściwe filmy instruktażowe na temat MySQL. Polecam.

  • Należy także zrozumieć, czym są HTML i CSS. Nie sposób tego ominąć.

  • Zarejestrowałem się na LinkedIn, gdzie zacząłem promować swoje umiejętności i zaznaczyłem, że szukam pracy (może mi się poszczęści i ktoś mnie znajdzie). Bezkrytycznie dodawałem wszystkich do znajomych, poszerzając krąg swoich kontaktów. Aby uzmysłowić ci jak bardzo, powiem, że mam obecnie ponad 10 000 znajomych na LinkedIn. Jest to niezbędne do rozpoczęcia pracy. I to pomogło. Zespół freelancerów zajmujących się systemem Android chciał zatrudnić nową osobę i skontaktował się ze mną. Zdaję sobie sprawę, że ten incydent był niezwykły, ale tak się stało.

Pierwsze niepowodzenia

Oczywiście równolegle ze studiami zacząłem szukać stażu, żeby w końcu zostać zatrudnionym. Zostałem zaproszony na rozmowę kwalifikacyjną na staż. Po rozmowie z działem kadr wezwano do mnie nauczyciela języka angielskiego, z którym przeprowadziliśmy „rozmowę”. Wtedy nie byłem w ogóle przygotowany i więcej słuchałem niż mówiłem. Kiedy poproszono mnie o opowiedzenie o sobie, coś tam mamrotałem, ale nie było to nic szczególnego. Natomiast w momencie gdy rozmawiałem z kierownikiem technicznym, odpowiedziałem na niektóre pytania, a na wiele innych nie znałem odpowiedzi. Kiedy wspomniałem, że uczę się na CodeGym, powiedział, że przede mną przyszedł inny student z tego kursu. Byłem na poziomie 27, ale on już na 34. Po rozmowie oznajmił, że przyślą mi zadanie testowe, które zadecyduje czy jestem odpowiednim kandydatem. Skończyłem to jakoś, choć nie z całą funkcjonalnością. Po jakimś czasie napisali do mnie, że do nich nie pasuję... To bolało, ale postanowiłem wyciągnąć z tego wnioski i poszedłem dalej.

Pierwsza praca

Jak już wspomniałem, mniej więcej półtora miesiąca po tym, jak założyłem swoją stronę na LinkedIn, skontaktował się ze mną pewien programista Androida z zaproszeniem do współpracy. Oczywiście mówimy o niskopłatnej pozycji. Spotkaliśmy się i dostałem ofertę pracy. Oczywiście wynagrodzenie było marne, ale nie miałem żadnych innych dochodów i cieszyłem się, że ją mam. Pod koniec stycznia rozpocząłem pracę nad systemem Android w mieszkaniu jednego z członków zespołu. Wszystko było nowe i inne. Ale jakimś cudem, jakimś sposobem pracowałem i coś wyprodukowałem. To było przerażające i nie wszystko rozumiałem — to nie były zadania CodeGym. Musiałem robić wszystko, czytać i uczyć się, co i jak. Zrobiłem projekt testowy, który z czasem może stać się czymś więcej. I tak trwało to aż do maja. Potem nasz zespół zaczął się jakoś rozpadać. Wszyscy to zauważyli i zaczęli szukać pracy. Historia sukcesu. 20 godzin programowania tygodniowo, tytuł magistra i życie osobiste - 2

Poszukiwanie nowej pracy

Nie wiedząc, jak znaleźć pracę, postanowiłem, że roześlę swoje CV do wszystkich firm w moim mieście. Aby mieć pewność, że wszystko wygląda dobrze, napisałem swoje CV po angielsku, co jest jedyną słuszną drogą. Oczywiście, musiałem lać wodę. Ponieważ nie miałem wiele do napisania, napisałem bardzo dużo. Do każdego e-maila napisałem również list motywacyjny (rekruterzy to uwielbiają), w którym dokładnie określiłem stanowisko, o które się ubiegałem. Okazuje się, że ludzie często wysyłają CV bez wyraźnego wskazania stanowiska, o które się ubiegają. Mój list motywacyjny był również po angielsku. Zupełnie zapomniałam: trzeba mieć BARDZO dobrą znajomość języka angielskiego. Jeśli nie potrafisz przeczytać odpowiedzi na Stack Overflow, to nigdy ci się to nie uda. Nie dasz rady bez tego programować. Przygotowałem odpowiedź w języku angielskim na to ulubione pytanie na rozmowie kwalifikacyjnej: „Opowiedz mi o sobie”. Powiem, że było to bardzo przydatne. Po jakimś czasie otrzymałem zaproszenia na 4 rozmowy kwalifikacyjne. Ta ogromna ilość maili wysłanych do wszystkich firm zaowocowała. Każda firma, która nie miała odpowiednich stanowisk, zazwyczaj w ogóle nie odpowiadała. Rozmowy kwalifikacyjne były trudne. Byłem zakłopotany i czułem się niekomfortowo, lecz udało mi się je przetrwać. W niektórych przypadkach po prostu rozmawialiśmy. W innych musiałem wykonać kilka zadań. Na przykład musiałem napisać interpreter języka Java dla języka BrainFuck. To zadanie okazało się ciekawe i cieszę się, że je skończyłem, choć nie zostałem zatrudniony w tej firmie. Szukałem pracy w branży Java lub Android. Jednakże wolałem Javę. Programowanie mobilne nie jest dla mnie szczególnie interesujące. Moje oczekiwania co do wynagrodzenia były minimalne. Musiałem znaleźć pracę - nic innego nie miało znaczenia. Pytano mnie o moją wiedzę na temat baz danych, o to, jak tworzyć tabele w określonych sytuacjach. Mam na myśli bazy danych SQL. Nikt nie pytał o NoSQL.

Pierwsza oferta

Jedna z firm napisała do mnie z odmową. Następnie kolejna. Pozostały dwie: jedna z nich oferowała pracę dla programisty Androida, a druga dla Javy. Firma Android zadzwoniła, stwierdzili, że pasuję i złożyli mi ofertę. Zwycięstwo! Byłem bardzo szczęśliwy. Nadal jednak nie otrzymałem telefonu od tej drugiej. Nie wiedziałem, co robić, więc poprosiłem o dzień oczekiwania na odpowiedź, abym mógł zadzwonić i dowiedzieć się o stanowisko programisty Java. Zadzwoniłem do firmy Java i powiedziałem: „Otrzymałem ofertę, lecz chciałbym się dowiedzieć, czy podjęliście już decyzję”. Zostałem zaproszony do biura na rozmowę po czym powiedziano mi, że spodoba mi się jej wynik. Mieli rację. Po naszej rozmowie firma ta złożyła ofertę, którą przyjąłem. P. S. Trzeba cisnąć, cisnąć, cisnąć i nigdy się nie poddawać! P. S. S. Nie udało mi się ukończyć całego kursu. Zatrzymałem się na poziomie 30. Kiedy dostałem tę pracę, byłem na poziomie 27. Powiem wręcz, że od 20-stego trzeba szukać pracy i rozwijać się poza Javą. Zdobądź co najmniej podstawowe umiejętności korzystania z narzędzi do automatyzacji projektów (Ant, Maven, Gradle). Nie jest to trudne, lecz bardzo potrzebne.
Komentarze (1)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Molo Poziom 41, Lublin, Poland
14 sierpnia 2022
Gratulacje. Piękna historia :]