Czy dyplom z matematyki daje przewagę w nauce programowania? Wszystko zależy od tego, ile wysiłku włożysz w pokrewne tematy.

Oto historia Romana, który pochodzi z Ukrainy. Dziś jest starszym programistą Java. W połowie 2015 roku był studentem pracującym nad tytułem magistra matematyki stosowanej. Oryginalna historia jest tutaj . Poniżej znajdziesz najważniejsze części.

Biorąc pod uwagę realia jego rodzinnego kraju, Roman był przekonany, że wykształcenie matematyczne przyniesie mu jako programiście dobre pieniądze. Ale jego wybór zostania programistą Java był bardziej przypadkowy, a raczej celowy. Nie chciał uczyć się tylko z książek lub na kursach stacjonarnych: nasz uczeń uznał, że to za dużo kosztuje, ale niewiele daje.

A potem znalazł nasz kurs Java. Było to na przełomie sierpnia/września 2015.

Plan nauki języka Java

Przygotowując swój plan nauki, Roman wyszedł z faktu, że nie miał czasu na wygłupy.

Postawił sobie za cel: szybko zdobywać wiedzę, aby utrzymać zainteresowanie nauką, ale nie tak szybko, żeby nie przeciążał sobie mózgu.

W związku z tym postanowił:

  1. Ucz się pięć dni w tygodniu (od poniedziałku do piątku).
  2. W weekend rób wszystko oprócz nauki.
  3. Przeznacz 4 godziny na każdą sesję nauki — po każdej godzinie zrób 15 minut przerwy na spacer, relaks i zrobienie herbaty.

Łącznie 20 godzin tygodniowo. Nieźle, co? Ponadto Roman musiał czasami iść na uniwersytet, ponieważ był jeszcze na studiach.

Do grudnia ukończył połowę kursu i zdecydował, że nauczył się już ogromnej ilości, chociaż zdarzały się momenty kryzysowe, kiedy jego mózg odmawiał przyjmowania nowych informacji i tylko weekend bez żadnego programowania pomógł mu zrobić postępy.

Przejście na nowy poziom

Trzy miesiące po rozpoczęciu studiów Roman zaczął się zastanawiać, co jeszcze musi wiedzieć, aby dostać pracę. Po poradę zwrócił się do programistów, których zna.

Ach, nieznane słowa, które usłyszał, takie jak „bazy danych” (przerażenie!) i wiele innych, dały mu do zrozumienia, że ​​musi przyspieszyć i zrobić jeszcze więcej. Te wskazówki z pewnością pomogą również Tobie.

  1. Czytając książki. W przypadku Romana przydała się "Head First Java", która jest polecana bardzo zielonym początkującym. Pomogło mu to lepiej zrozumieć niektóre niuanse.
  2. Praca w sieci. Powinieneś odwiedzić wszystkie odpowiednie miejsca spotkań programistów w swoim mieście (i gdzie indziej). Nawet jeśli wiele jest niejasnych, w ten sposób zanurzasz się w środowisku.
  3. serwisy informatyczne. Media dla programistów, kursy wideo na YouTube, fora — musisz zagłębić się w to wszystko i przeczytać przydatne artykuły, które tworzą holistyczny obraz tego, co oznacza rozkwit programisty Java.
    Osobiście polecamy zacząć od sekcji Artykuły, Forum i Czat na CodeGym :)
  4. Opanuj powiązane technologie: MySQL, HTML i CSS i wiele więcej.
  5. Stwórz dla siebie fajny profil na LinkedIn, wypisz wszystkie swoje umiejętności i aktywnie poszerzaj krąg kontaktów zawodowych.
    Roman dzieli się swoim doświadczeniem: „Mam teraz ponad 10 000 znajomych na LinkedIn. To jest konieczne, aby zacząć. Pomogło [kiedy] zespół freelancerów z Androidem chciał dodać nowicjusza i skontaktował się ze mną”.

Pierwsze porażki

Oczywiście równolegle ze studiami Roman szukał stażu w firmach i pewnego dnia dostał rozmowę kwalifikacyjną. Nie był gotowy, aby przekonująco przedstawić się po angielsku i odpowiedzieć na wszystkie pytania tech leada. Według niego „jakoś zakończył [zadanie testowe], choć nie z całą funkcjonalnością. Po pewnym czasie jego aplikacja została odrzucona i zdecydował się przejść dalej.

Roman dostał swoją pierwszą pracę dzięki LinkedIn, gdzie został zaproszony do udziału w projekcie rozwoju Androida. Prawdziwa praca była oczywiście trudniejsza niż zadania w CodeGym, a po drodze trzeba było się wiele nauczyć. Zespół stopniowo się rozpadał, więc nie byli w stanie wynieść projektu pilotażowego na nowy poziom, a on musiał szukać nowej pracy.

Poszukiwanie nowej pracy

Gdzie iść? Roman przeszukał media internetowe w poszukiwaniu programistów, gdzie znalazł dane kontaktowe odpowiednich firm w swoim mieście. Rozpoczął masową kampanię mailingową.

Aby wszystko wyglądało dobrze, napisał swoje CV w języku angielskim. Według niego był pełen puchu, ponieważ czuł, że nie ma nic specjalnego do napisania. Obowiązkowym elementem jest list motywacyjny (również w języku angielskim), aby rekruterzy zrozumieli, o jakie stanowisko się ubiegasz i dlaczego. Przygotował odpowiedź po angielsku na to ulubione pytanie z wywiadu: „Opowiedz mi o sobie”. To jest bardzo użyteczne.

Wywiady były trudne, zawstydzające i niewygodne, ale Roman przez nie przeszedł. W niektórych chcieli po prostu porozmawiać. W innych konieczne było wykonanie kilku zadań związanych z kodowaniem.

Pierwsza oferta

Po czterech rozmowach dwie firmy odmówiły Romanowi, ale dwie złożyły mu ofertę: jedna na stanowisko programisty Androida, druga na programistę Java. Przez chwilę się wahał, nie wiedząc, co robić, ale w końcu został programistą Java.

Minęło kilka lat i Roman jest starszym programistą Java, który w wolnym czasie aktywnie angażuje się w projekty open source (tutaj jego profil na GitHubie ) i często dzieli się swoim przydatnym doświadczeniem ze studentami w sekcji „ Artykuły ” na CodeGym.