Mówi się, że ludzie bez wykształcenia technicznego nie mają miejsca w programowaniu. Próbują odstraszyć cię od myślenia o zmianie kariery po ukończeniu 30 lat. Ale co, jeśli dopiero w wieku 30 lat stanie się jasne, że cała twoja wcześniejsza wiedza i doświadczenie zaprowadziły cię do niewłaściwego celu?

W rzeczywistości nie jest to takie straszne. Każdy może zostać programistą w każdym wieku. Oto historia PielsLie, jednej z naszych studentek z St. Petersburga, która ma wykształcenie humanistyczne i przez 10 lat pracowała w zarządzaniu i sprzedaży.

Kiedy napisał swoją historię sukcesu, miał 32 lata. W ciągu około 5 miesięcy osiągnął poziom 35 w CodeGym. 2-3 miesiące spędził na samokształceniu i projektach pisarskich, a jeszcze kilka miesięcy na poszukiwaniu pracy. W tym momencie dostał dobrą ofertę i dostał pracę jako programista.

KROK 1. Nauka

Wymagania dotyczące głównego źródła nauki były jasne: ustrukturyzowana prezentacja materiału Java Core, dużo praktyki i duża społeczność:

  • podczas wywiadów możesz zostać zapytany o wszystko na temat „podstawowej wiedzy” — od przesunięć bitowych i rzutowania generycznych po IO i serializację;
  • praktyka jest obowiązkowa; możesz zapamiętywać rzeczy z programowania, jeśli dogłębnie zrozumiesz materiał i utrwalisz go w praktyce;
  • A co do społeczności: jeśli rozwiążesz zadanie, pochwal się w komentarzach; jeśli nie możesz go rozwiązać, możesz zadawać pytania, ale nikt nie da ci gotowego rozwiązania.

Pod każdym względem CodeGym pasuje do głównej platformy edukacyjnej. Absolwent zaleca czytanie książek: „Ten sam Schildt najlepiej obejmuje omawiany temat i często obnaża pewne punkty”.

Wskazówki dla tych, którzy rozpoczynają naukę języka Java z czystym kontem

  1. Każdy, kto zaczyna od zera, uważa tę podróż za trudną. Niewielki odsetek tych, którzy zaczynają, dociera do końca kursu. Twoim celem jest stać się jednym z tych, którzy to robią.
  2. Największy entuzjazm doświadczysz po miesiącu lub dwóch, kiedy zadania staną się trudniejsze i ciekawsze. Wytrzymać.
  3. Najważniejszą rzeczą jest robienie cotygodniowych postępów. Po dwutygodniowej przerwie ciężko jest wrócić na siodło, ale nie każdy jest w stanie pisać kod codziennie przez kilka miesięcy z rzędu.

Wyznacz sobie cel mierzony w godzinach tygodniowo: na przykład 15. Możesz kodować 1,5 godziny każdego dnia tygodnia i kolejne 3-4 godziny każdego dnia weekendu lub możesz odpocząć przez kilka wieczorów, ale wtedy „kwota weekendowa” wzrośnie. Jeśli zrobisz to w ten sposób, twój harmonogram będzie elastyczny, ale spójny. Oczywiście później będziesz mógł mierzyć swoją pracę w kategoriach zrealizowanych zadań i projektów, ale kiedy mówimy o składni i podstawowej wiedzy, sensowne jest zajmowanie się godzinami.

W sumie ukończenie kursu (przed uzyskaniem dostępu do stażu) zajęło około 5 miesięcy, wliczając w to wakacje i krótkie przerwy, a osiągnięto to przy standardowym pięciodniowym tygodniu pracy, który pozostawiał czas wolny tylko w weekendy i dni powszednie od godz. PM do północy.

Więc jeśli masz bardziej otwarty harmonogram lub stosujesz bardziej rygorystyczny reżim treningowy, możesz poradzić sobie znacznie szybciej.

KROK 2. Samokształcenie

Po osiągnięciu poziomu 35, przez kilka miesięcy niezależnie eksplorował Spring MVC, Spring Boot + Data, Spring Security, Hibernate, jUnit, Maven, Git i RDBMS oraz opanował SQL i połączył całą tę wiedzę w jedną całość. Sześć miesięcy później student miał projekty, które dały mu praktyczne doświadczenie w korzystaniu z „dorosłych” frameworków, a także profil Github, który mógł pokazać, jeśli poprosił o to potencjalny pracodawca.

Jak stworzyć osobisty plan rozwoju

  1. Przejrzyj oferty pracy dla młodszych/średnich programistów Java (lub w innym obszarze zainteresowań) i zobacz, które technologie i frameworki są wymieniane najczęściej.
  2. Wymyśl i zapisz dla nich kilka zadań testowych. Wyznacz sobie terminy ich realizacji.

KROK 3. Poszukiwanie pracy

Ten etap był najdłuższy i nie tak płynny jak dwa poprzednie.

Przesyłanie uczciwego CV dla początkujących

Po ukończeniu osobistych projektów student rozesłał około 30 aplikacji na wolne stanowiska dla młodszych/stażystów (za pośrednictwem HH, LinkedIn i agencji pośrednictwa pracy), wskazując w swoim życiorysie znajome stosy technologii, wraz z niektórymi umiejętnościami miękkimi i skromną wzmianką o swoim doświadczeniu.

To zaowocowało dwiema rozmowami telefonicznymi, z których jedna zakończyła się natychmiast ze względu na jego znajomość języka angielskiego na poziomie średniozaawansowanym (więc ucz się też angielskiego). Kolejne dwie firmy przesłały swoje zadania testowe. Miał jeden „wywiad”, który zakończył się „zadzwonimy do ciebie”.

Próba zdobycia stażu

Może uda Ci się zdobyć doświadczenie na bezpłatnych lub warunkowo płatnych stażach i jakoś zadomowić się w dużej firmie IT? To dobre podejście, ale jak się okazuje nie dla każdego. Autor opowiadania wykonał zadanie testowe, ale nie wyszedł poza ostatnią rozmowę kwalifikacyjną.

Po tym doświadczeniu nasz były student pisze, że „popadł w depresję i zawiesił całe poszukiwanie pracy na prawie sześć miesięcy”. Pracował w swoim dawnym zawodzie i napisał kilka aplikacji dla siebie.

Trwało to, dopóki nie spotkał znajomego, z którym podzielił się swoimi niepowodzeniami w znalezieniu pracy jako młodszy programista. W tym czasie jego znajomy pracował jako programista średniego poziomu, ale zaczynał tak samo — od samodzielnej nauki.

Jego przyjaciel dał kilka rekomendacji (niektóre „oszustwa”, według autora):

  1. Tak czy inaczej, zdobądź ponad 6-miesięczne doświadczenie zawodowe w swoim CV: staże, projekty dyplomowe, freelancing, praca zdalna — cokolwiek. To bardzo pomoże na etapie, kiedy ludzie z HR dokonują wstępnej selekcji stosu CV;
  2. Usuń słowo „junior” i oczekiwaną pensję ze swojego CV; po prostu zostaw „programistę Java” i omów swoje wynagrodzenie indywidualnie z każdą firmą;
  3. Postaraj się nakłonić osobę z HR do ujawnienia możliwego przedziału wynagrodzenia, zanim określisz swoje oczekiwania. Jeśli firma oferuje 5000-6500 dolarów, a ty chcesz zacząć od 2000 dolarów, niektórzy decydenci zatrudnieni będą mieli o tobie złą opinię.
  4. Odpowiadaj na każdą ofertę pracy pasującą do Twojego stosu technologii, nawet jeśli wymagane jest 1-3 lata doświadczenia zawodowego.

I wszystko się udało.

Pierwsza oferta

Po tym, jak autor artykułu zastosował się do zaleceń, sytuacja w zakresie poszukiwania pracy znacznie się poprawiła.

Po pierwsze, z około 12 nowych odpowiedzi, połowa niemal natychmiast zakończyła się spotkaniem osobistym, rozmową kwalifikacyjną przez Skype lub zadaniem testowym.

Po drugie, przedstawiciele HR zaczęli kontaktować się z nimi z własnej inicjatywy — za pośrednictwem aplikacji do przesyłania wiadomości, poczty e-mail i serwisu LinkedIn.

Po trzecie, wymagania dotyczące doświadczenia zawodowego okazały się dość elastyczne: wiele firm było gotowych do komunikowania się z kandydatem, który nie mieścił się w określonym przedziale 1-3 lat pracy w świecie korporacji.

Skończyło się na jednej ofercie na stanowisko młodszego programisty i jednej na stanowisko średniego szczebla z okresem próbnym. W sumie poszukiwania pracy trwały dwa miesiące.

Nie możesz napisać dużej ilości kodu w Javie, a potem szukać pracy przez długi, długi czas, a potem ostatecznie wszystko spełznąć na niczym.

Woda ściera kamień i, jak pisze autor, „jeśli 30-letni student humanistyki sobie z tym poradzi, to i Tobie się uda. Najważniejsze, żeby nie bać się pierwszych telefonów, zadań testowych i wywiady. Każda „porażka” może być szansą na nauczenie się czegoś nowego o sobie i uzupełnienie braków w wiedzy. I za każdym razem poczujesz się pewniej.”