JavaRush /Blog Java /Random-PL /Narodziny programisty: w 9 miesięcy od zera do Java Devel...
hermanurikh
Poziom 20
Санкт-Петербург

Narodziny programisty: w 9 miesięcy od zera do Java Developera

Opublikowano w grupie Random-PL
Cześć wszystkim! Mój okres próbny w nowej pracy dobiegł końca i teraz mogę wreszcie podzielić się swoją historią zatrudnienia. Mam 22 lata, wykształcenie ekonomiczne. Jeszcze rok temu (luty - marzec) nie miałem żadnych umiejętności programistycznych, a Javę spotkałem tylko w grach na starym Siemensie (w postaci okna powitalnego "powered by Java" przy uruchamianiu gry). Narodziny programisty: w 9 miesięcy od podstaw do Java Developera - 1Rok temu pracowałem w dziale wsparcia technicznego. Nie powiedziałbym, że ta praca jest zła czy że mi się nie podoba, ale nie jest szczególnie interesująca. I okazało się, że w pewnym momencie pomyślałam – fajnie byłoby mieć pracę, do której nie idzie się z poczuciem „cholera, znowu będę pracować”, ale która sprawia przyjemność. Pomyślałem – co bym zrobił, gdybym miał, powiedzmy, rok, w którym niekoniecznie musiałbym zarabiać pieniądze, a mógłbym robić, co chcę? Odpowiedź jakoś sama przyszła – siedziałbym w domu i uczył się programować. Wtedy zdecydowałem, że to zależy ode mnie. Zrozumiałem, że ciężko będzie nauczyć się programowania od zera, że ​​będzie to chwilowe niepowodzenie w mojej karierze (nie miałem wątpliwości, że Junior Developer zarabia mniej niż ja na tej pracy), ale potraktowałem to jako krok w tył aby zrobić dwa kroki do przodu. OK. Nie wcześniej powiedziane, niż zrobione. Ponieważ zupełnie nie rozumiałem języków programowania, moim pierwszym pomysłem było nauczenie się języka, o którym słyszałem najwięcej (był używany do tworzenia oprogramowania w firmie, w której pracowałem) - PHP. OK, dziewczyna mnie od tego odwiodła. Zasugerowała, żeby w ich firmie (tworzącej aplikacje mobilne) androiderzy piszą w Javie i ich pensja wydaje się być niezła. Googlowałem i szukałem, myślałem o tym i zdecydowałem się nauczyć Java. Moim pierwszym krokiem były tradycyjne próby nauczenia się czegoś nowego – uzbrój się w książki, opanuj teorię i do dzieła! W ten sposób trafiłam na książkę Horstmanna i Cornella – Java. Podstawy. To był marzec 2014. Ogólnie rzecz biorąc, przez całe życie byłem bardzo kiepski w studiowaniu rzeczy z książek. Prawdopodobnie wynika to z tego, jaki sposób percepcji dominuje u danej osoby. Zawsze tak naprawdę uczyłem się materiału dopiero po praktycznym przepracowaniu go, utrwaleniu go i zabawie z nim. Dlatego też moje pierwsze próby nauki JavyWedług książki były one skazane na porażkę. Książka jednak jest dobra. Gdzieś w kwietniu natknąłem się na grupę JavaRush VKontakte. Potem wszystko poszło jak po szynach. Rozwiązywanie problemów, mnóstwa problemów w połączeniu z odrobiną teorii to zdecydowanie optymalny sposób na naukę materiału (przynajmniej dla mnie). Siedziałem w domu, siedziałem w pracy i zdecydowałem, zdecydowałem, zdecydowałem) To wtedy utwierdziłem się jeszcze bardziej w przekonaniu, że programowanie jest dla mnie interesujące. Nie pamiętam, żebym się na czymkolwiek tak uczepił. Minęły trzy miesiące, podczas których osiągnąłem poziom 20. Wydawało mi się, że dalsza nauka języka przebiegłaby znacznie szybciej, gdybyś już dostała pracę jako programista – wtedy przebywałabyś w tym środowisku 8 godzin dziennie, 5 dni w tygodniu i rozwijałabyś się niezwykle szybko. W sierpniu zacząłem więc wysyłać CV. Z kilku miejsc przysłano mi zadania testowe, w wyniku czego nie otrzymałem żadnej oferty pracy - patrząc wstecz, ani razu się nie zdziwiłem - może i rozwiązałem postawione zadanie, ale jaki miałem zły styl kodowania) B To swoją drogą mały minus JavaRush - dopóki problem zostanie rozwiązany i testy zaliczone, zadanie zostanie zaliczone, choć Twój kod może pozostawiać wiele do życzenia. Wystarczy zainstalować tę samą wtyczkę Checkstyle w Intellij IDEA, a sytuacja będzie inna - podświetli „wątpliwe” punkty w kodzie, co pozwoli Ci napisać nie tylko działający, ale także piękny, poprawny kod. Tak czy inaczej, we wrześniu zostałem zaproszony na pierwszą rozmowę kwalifikacyjną. Wakat obejmował w przybliżeniu następujące osoby - programista dowolnego poziomu, oferujemy wynagrodzenie odpowiadające umiejętnościom. Podczas tej rozmowy zadania były w przybliżeniu następujące - podano fragment kodu. Czy jest napisany poprawnie i jakie mogą być problemy? Nie pamiętam, ile z nich dobrze trafiłem. Ogólnie trzeba było pamiętać o Null, prawie wszystkie pytania dotyczyły tego - że nie należy uzyskać dostępu do parametru metody bez uprzedniego sprawdzenia go pod kątem (jeśli param != null). Na podstawie wyników zaproponowano mi przez pierwszy miesiąc pracę za darmo (w ramach stażu), a następnie wynagrodzenie niższe (choć nieduże) niż w miejscu pracy, w którym przebywałem. Dobrze zrozumiałem, że nie powinienem oczekiwać wspaniałych propozycji, bo znałem niewiele teorii, praktykowałem tylko w JavaRush, zero doświadczenia i tak dalej. Dlatego zgodziłam się, że wyjadę za 2 tygodnie (właściwy czas na rzucenie pracy w moim starym miejscu). W tym samym czasie wysłałem CV do innej firmy. Firma ta oferowała następujące rzeczy:
  • 2 miesiące szkolenia Java EE (2 razy w tygodniu po 4 godziny)
  • jeśli wykażesz się dobrymi wynikami (udanie obronisz projekt, nad którym pisałeś te dwa miesiące), to zostaje Ci zaproponowana praca.
Firma jest bardzo dobra, zagraniczna, znana, a warunki pracy doskonałe - krótko mówiąc, chciałem tam pojechać o wiele bardziej niż tam, gdzie już mi złożyli ofertę. Selekcja do treningu z nią obejmowała 3 etapy:
  1. Wykonywanie praktycznych zadań w domu.
  2. Jeśli zaliczysz pomyślnie, zapraszamy Cię na testy komputerowe w biurze.
  3. Jeśli test wypadnie pomyślnie, tego samego dnia odbędzie się z Tobą rozmowa kwalifikacyjna.
Zadania praktyczne wykonałem bez żadnych problemów - wielkie dzięki JavaRush i ich problemom, po których te zadania wydawały się całkiem proste. Były 3 zadania: na RegExp (google pomogło, bo sam nie mogłem ich znieść i nie pamiętałem), na algorytmach (dość proste, bardziej ćwiczenie umysłowe) i na zapis/odczyt z pliku (jest tam wiele z nich w kursie JavaRush). Zostałem zaproszony na testy komputerowe. Do testów przygotowałem się korzystając z quizowej strony internetowej . Testy te bardzo pomogły, niektóre pytania nawet się pokrywały. Zdałem test pomyślnie i zaczęli ze mną rozmowę kwalifikacyjną. Prawdopodobnie nigdy w życiu nie zapomnę tego wywiadu. Osoba przeprowadzająca ze mną rozmowę chciała usłyszeć tylko podstawy teorii Java, takie jak:
  • jaka jest różnica między wyjątkami sprawdzonymi i niesprawdzonymi;
  • jakie metody posiada klasa Object i do czego są potrzebne;
  • jakie rodzaje kolekcji istnieją i dlaczego tam są;
  • i trochę o wielowątkowości.
JavaRush to świetny kurs, nauczy Cię rozwiązywania problemów i programowania, ale teorii (na rozmowę kwalifikacyjną) trzeba uczyć się osobno, o czym przekonałem się pływając w tych zagadnieniach jak ryba w akwarium. Chcieli mnie owinąć. Rozumiem go – nie potrafiłem jasno odpowiedzieć na prawie wszystko, starałem się opowiedzieć wszystko z punktu widzenia pisania kodu, ale jego interesowała teoria. Ale wiedziałam na pewno, że bardzo chcę dostać się na ten staż i wiedziałam, że jeśli dadzą mi czas, to nadrobię to wszystko i nauczę się tej nieszczęsnej teorii. Opowiedziałem mu to wszystko, a on spotkał się ze mną w połowie drogi - zaproponował, że spotkamy się ponownie za tydzień, ale na razie podał mi listę tematów (mniej więcej tak, jak opisałem powyżej) i powiedział, gdzie można się ich nauczyć - wystarczy tutorial Oracle , zawiera wszystkie: http://docs.oracle.com/javase/tutorial/ W ciągu tygodnia dokładnie przestudiowałem ten samouczek i poszłam na drugą rozmowę kwalifikacyjną dzień przed dniem, w którym oczekiwano mnie w nowej pracy. Najwyraźniej osobie przeprowadzającej ze mną rozmowę największe wrażenie zrobiło moje poczucie celu (wiedziałem, że jeśli przyjmę ten staż, to, co będzie dalej, będzie zależeć tylko ode mnie – w ciągu dwóch miesięcy dowiem się wszystkiego, czego potrzebuję). Tak czy inaczej, zgodziłem się na ten staż i odmówiłem podjęcia pracy w miejscu, w którym wcześniej mi zaproponowano. W ciągu 2 miesięcy zapoznaliśmy się z wieloma tematami z Java EE, takimi jak: Servlety, JSP, Hibernate JSF, Spring i wiele, wiele więcej - w wyniku stażu zaznajomiliśmy się (mieliśmy ogólne pojęcie ) o głównym stosie technologii Java EE. Ponadto w trakcie stażu napisaliśmy własny projekt, który na koniec musiał zostać pomyślnie przedstawiony do zatrudnienia. Pamiętam tylko moje pierwsze odczucia, kiedy byłem na pierwszym wykładzie. Patrzyłem na zadanie do tego projektu (dodano je od razu na pierwszym wykładzie) i nawet nie wiedziałem, od czego zacząć i jak to zrobić. Pamiętam też, ile mnie kosztowało, aby mi się to udało. Przez te dwa miesiące prawie wszystkie myśli w mojej głowie były takie, że udana praca i spełnienie marzeń są w moich rękach i nic więcej. To, czy uda mi się to zrobić, nie było zależne od nikogo innego. Tylko ode mnie. Rzuciłem już pracę, nie miałem prawie żadnych pieniędzy i było naprawdę ciężko. Siedziałem rano, siedziałem w ciągu dnia, siedziałem wieczorem, ale nigdy nie miałem dość radości - nie pamiętam, kiedy poświęciłem się czemuś z taką obsesją. Tym razem po raz kolejny uświadomiłem sobie jak bardzo lubię programować i jak bardzo chciałbym pracować w tej dziedzinie. Na maturze przedstawiłem swój projekt. Utrzymałem się naprawdę dobrze, najwyraźniej znacznie lepiej niż się spodziewałem i w drodze wyjątku zostałem zatrudniony nie na stanowisko początkowe, ale od razu na stanowisko Middle Java Developer. Był 9 grudnia 2014. Nie mogłam w to uwierzyć, ale na monitorze przede mną pojawiła się oferta pracy. Inżynier oprogramowania. To się stało. 15 grudnia wróciłem do pracy. Ani razu nie pomyślałam: „cholera, nie chce mi się iść do pracy”. Codziennie wychodząc rano z domu wiem po co idę do pracy, co będę robić i jak bardzo tego chcę. To mnie niesamowicie cieszy. Warto i było warto zapłacić cenę, którą trzeba było zapłacić, aby spełnić swoje marzenie. Życzę wszystkim, którzy naprawdę chcą zostać programistami, aby osiągnęli swój cel. Jest więcej niż realnie, jest bardzo blisko, ale trzeba za to zapłacić. Zapłać swoim zmarnowanym czasem i nerwami, bo nauka czegoś od zera naprawdę nie jest najłatwiejszym krokiem. JavaRush pomógł mi z łatwością stawiać te pierwsze kroki i nie tylko ja na samym początku odwróciłem się od programowania ze względu na pozorną złożoność i bogactwo teorii. Tym samym udało mi się zrealizować mój dość szalony pomysł radykalnej zmiany w obszarze aktywności zawodowej (nawet przy braku wykształcenia technicznego). I zdecydowanie możesz.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION