JavaRush /Blog Java /Random-PL /Java Middle w 2,5 miesiąca.
novago219
Poziom 34

Java Middle w 2,5 miesiąca.

Opublikowano w grupie Random-PL
Pozdrawiam wszystkich czytelników, którzy myśleli, że w 2,5 miesiąca od zera naprawdę można zostać Middle. Spieszę cię rozczarować - jest to możliwe tylko przy bardzo ciężkiej pracy nad sobą, a wiem, jak każdy chce wszystkiego na raz - właśnie teraz i nie inaczej. A fraza od zera dotyczy mnie tylko w pewnym statusie warunkowym, bo tak naprawdę miałem absolutnie zerową wiedzę o Javie jako języku programowania. Ale ja już to wiedziałem i byłem w stanie coś zrobić jeszcze zanim poznałem JavaRush i być może od tego chciałbym zacząć swoją historię, ponieważ mój rozwój zawodowy to dość dziwne połączenie wiedzy, umiejętności i w pewnym sensie szczęścia. Podam więc listę, która dała mi przewagę konkurencyjną nad innymi, a także pozwoliła mi przejść JavaRush (do poziomu 34) dość szybko i bez większych trudności (przynajmniej mnie to nie zdziwiło). Na listę składa się wiedza, którą przekazała mi uczelnia, a także to, czym sama się interesowałam. Nie będę rozpisywał się gdzie to wszystko jest i nie podam nazwy uczelni. Jeśli chcesz, całą tę wiedzę powinieneś opanować samodzielnie, jeśli Twoja uczelnia tego nie uczy.
  1. Algorytmy i struktury danych: moja droga w tym kierunku rozpoczęła się od studiowania zasad konstruowania algorytmów, czytania klasycznych książek (Knuth) i nauki języka programowania Pascal, a kontynuowana była w języku C, implementacji wszystkich struktur danych i analizie zalety i wady każdego z nich. Nie będę mówił, że na dodatek umiem pracować z maszynami Turinga i algorytmami Markowa, bo raczej już to mówiłem, ale można to zignorować, choć moim zdaniem koncepcja nieskończona taśma pamięci i ruch wzdłuż niej wskaźnika dają najdokładniejsze wyobrażenie o tym, jak faktycznie działa komputer od środka, ale to tylko moja skromna opinia.
  2. Architektura komputera i Asembler: gdy uznasz, że całkowicie zrozumiałeś zasadę działania komputera, spróbuj pisać programy na bardzo niskim poziomie (w przeciwnym razie jak docenisz wszystkie uroki Javy?), a ja osobiście rozważałem wszystkie opcje edukacyjne z jednym , dwa, trzy rejestry i zdałem sobie sprawę, jak trzeba robić uniki, gdy jest tylko jeden rejestr, a program działa (zaskakujące, prawda?).
  3. Matematyka dyskretna: oczywiście równolegle z powyższym warto zająć się także tym tematem, gdyż daje on pełne zrozumienie logicznego myślenia, a teoria maszyn o skończonych stanach powie Ci, jak rozmieszczone są wnętrza procesora i jak są one zorganizowane w układy scalone. Nie zapominajmy, że studiuje się tutaj także teorię grafów, która nie będzie w 100% zbędna.
  4. Matematyka wyższa: Postanowiłem wyróżnić wszystkie pozostałe przedmioty matematyczne w jednym akapicie, aby nie zaśmiecać zbytnio głowy. Oto: analiza matematyczna, teoria prawdopodobieństwa i statystyka, algebra liniowa - swoją drogą bardzo, bardzo ważna rzecz, jeśli chcesz zajmować się grafiką trójwymiarową (wiem, marzeniem każdego jest pisanie gier, choć do tego też się przyda trzeba wziąć udział w kursie z równań różniczkowych i metod numerycznych, ale to takie - drobnostki) i innych dziedzin.
  5. Architektura systemu operacyjnego. Linux: gdy już się tu oswoisz, wielowątkowość w Javie będzie rodziła znacznie mniej pytań, a okaże się, że bajkę o filozofach już gdzieś słyszałeś.
  6. OOP, język C++: cóż, prawie dotarliśmy na sam szczyt łańcucha pokarmowego. Nie będę tu szczegółowo wyjaśniał i nie powiem, dlaczego implementacja OOP w C++ jest o wiele bardziej interesująca.
  7. Dodatkowo: jeszcze kilka drobiazgów, które już znałem to: grafika komputerowa (OpenGL, Unity 3D) i C# (Core).
Co ma z tym wspólnego JavaRush?
No cóż, wraz z całą tą kupą wiedzy, we wrześniu ubiegłego roku natknąłem się na JavaRush, przewinąłem kilka poziomów i poddałem się, bo po studiach dość łatwo znalazłem pracę (nie jako programista, ale może w IT, może ktoś zgadnie co to może być?). Ale szybko odkryłem, że wcale mnie to nie interesuje; w ciągu kilku miesięcy prawie osiągnąłem sufit i zdałem sobie sprawę, że nie ma sensu się tutaj rozwijać, chociaż kierownictwo firmy oferowało niemal zabawne opcje (wśród nich był DevOps), które odrzuciłem. W tym samym czasie przygotowywałem uczniów do olimpiad z informatyki (zapomniałem wspomnieć - bardzo lubiłem programowanie sportowe), a po odejściu z głównej pracy pojechałem tam na oślep. Byłem zadowolony ze wszystkiego przez około 4-5 miesięcy, aż i to mi się znudziło. Pytania się powtarzały, wszystkie tematy zostały omówione i wtedy przypomniał mi się JavaRush. Będąc racjonalistą (chciwym), najpierw przeszedłem początkowe 10 poziomów od deski do deski, a potem spojrzałem dalej (wydawało się, że poziom 15 wystarczy), zdałem sobie sprawę, że to było całkiem interesujące i w mój typowy sposób - po prostu to zrobiłem w każdej wolnej chwili. Czy masz wolne 5 minut? Świetnie, dodam logikę metody. Razem: Kupiłem dwie miesięczne subskrypcje. W pierwszym miesiącu przeszedłem z poziomu 10 na 28, w drugim nieukończonym (około 15 dni) przeszedłem z poziomu 28 na 34. Chronologicznie był to kwiecień-połowa maja, czyli upłynęło 1,5 miesiąca (przelicz sam w rublach). Nie będę Ci mówić, jak to zrobić i jak tego nie robić - wiele już na ten temat powiedziano.
Zatrudnienie
Około 30 poziomu przejrzałem oferty pracy w moim mieście i postanowiłem nie spieszyć się i nie wysyłać CV do wszystkich, ale konkretnie wybrać żądaną firmę, przygotować się do niej, a dopiero potem wysłać swoje bazgroły do ​​działu HR. Rysowałem też bazgroły bardzo ostrożnie i wyszło bardzo dobrze. Szybko zostałem zaproszony na rozmowę kwalifikacyjną, którą przeszedłem bardzo pewnie (przynajmniej jeśli chodzi o Java Core). Nie będę opisywał, jakie były pytania. Problemy zaczęły się, gdy zapytali mnie, jak działa Spring i czy w ogóle znam jakieś technologie Enterprise. Właściwie to powiedziałem, że nie wiem, ale przy takim poziomie - Junior jest gwarantowany (wyżej nie skoczysz), ale i tak skoczyłem i tu chyba zaczyna się najciekawsza część. Generalnie po wyjaśnieniu mi warunków (2 miesiące - okres próbny, stanowisko - Junior i zakres wynagrodzenia) zorientowałem się, że niezbyt mi się podobają, ale powiedziałem, że się zgadzam i zapytałem, czy mogę zacząć pracować później, motywujące, ponieważ musiałem dokończyć pracę w mojej obecnej pracy przed dołączeniem do nowej firmy. Tym samym dałam sobie prawie miesiąc na przygotowanie. Na początku maja miałem rozmowę kwalifikacyjną, a 23-go zacząłem pracę. Naturalnie jeszcze raz przestudiowałem wymagania, dowiedziałem się, jakie technologie zostały zastosowane (Java EE 6) i przygotowałem się do pracy.
Środek czy nie środek?
No cóż, zacząłem pracę i odkryłem, że zrekrutowali około 5 Juniorów, wśród których oczywiście wyróżniałem się, ale niewiele. Przede wszystkim spotkałem mojego bezpośredniego przełożonego, zauważyłem, że pali i zacząłem z nim chodzić na papierosy (a ja w ogóle nie palę). Był z nami jeszcze jeden programista, opowiem o nim nieco później. Ogólnie rzecz biorąc, paląc (3-4 razy dziennie) rozmawiałem z menadżerem, szczegółowo opowiadałem o swoich sukcesach, mimochodem wspomniałem o mojej wiedzy (musiała się przydać) i ogólnie nabrałem pewności siebie jak najlepiej potrafię mógł. Grill i piwo na koniec pierwszego tygodnia pozwoliły na nawiązanie lepszych relacji, które zorganizowałem. W biurze pracowałam do 23:00 (w dzień pracy do 18:30), aż do chwili, gdy ochroniarz mnie wyrzucił. Czasami w biurze zostawali ze mną w biurze dyrektor generalny i dyrektor techniczny firmy, z którym również się komunikowałem, jedliśmy razem kolację i razem wychodziliśmy z biura (dyrektor techniczny zaproponował mi nawet podwiezienie do domu, ale grzecznie odmówiłem). W ten sposób, po pierwsze, nawiązałem dobrą relację z bezpośrednim przełożonym, a po drugie, pokazałem kierownictwu wyższego szczebla, że ​​wykonam zadanie i dopiero wtedy wrócę do domu. Oczywiście to wszystko nie czyni mnie środkowym. Więc co to zrobiło? Przypomnę, że przed rozmową kwalifikacyjną nie znałem ani jednego frameworka (poza JUnitem). W tym miejscu warto wrócić do programatora, o którym wspomniałem powyżej. Był bardzo wpływowym programistą z 20-letnim doświadczeniem, który przez 5 lat pracował w Moskwie, około 7 lat w Ameryce (jako główny architekt projektu) i w wielu innych miejscach, w tym przy projektach rządowych o szczególnym znaczeniu (nauczyłem się tego wszystkiego paląc z nim). Zatem ten programista otrzymał bardzo poważne zadanie i zdecydował się przyjąć mnie na asystenta. Po otrzymaniu tego zadania okazało się, że musi pilnie opuścić kraj i nie będzie mógł pracować. Napisał framework aplikacji i pozostawił mnie odpowiedzialnym, mówiąc, że będzie monitorował z daleka. To właśnie ten moment pomógł mi zostać Middle i zakończyć okres próbny nie w 2 miesiące, a w jeden i zakwalifikować się do poważniejszej pensji. Ponieważ ten programista nie był w stanie monitorować na odległość i projekt pozostawiono całkowicie mnie. Udało mi się go ukończyć w ciągu miesiąca, za co otrzymałem stanowisko i możliwość ubiegania się o wyższe wynagrodzenie.
Jaki jest morał?
Można powiedzieć, że miałem szczęście studiować tam, gdzie przekazali mi całą tę wiedzę (ale uwaga, użyłem jej tylko, żeby wspomnieć przełożonym), że okoliczności sprawiły, że taki projekt spadł na moje barki, a co ma do tego JavaRush z tym zrobić, wydaje się? Przypomnę jeszcze raz, że przed JavaRush mój poziom znajomości Javy wynosił 0 – to wszystko. Po drugie, gdy rozwiązujesz problemy za 52 próbą, coś Ci utkwi w głowie - miałem smykałkę do wyjątków, kontroli itp., co też było przewagą konkurencyjną nad innymi i w ogóle - zaczynasz bardzo dokładnie rozumieć JavaCore ( co potwierdza certyfikat OCA, który zdałem na koszt firmy i uzyskałem 94%), a bez tego nie widzę większego sensu dalszego działania. W przyszłym tygodniu przydzielono mnie do nowego projektu od podstaw, który sam poprowadzę (obejmujący projekt bazy danych, wybór technologii, a także rekrutację zespołu). Przeprowadzę także rozmowy kwalifikacyjne i przegląd postępów Juniorów, aby określić, czy warto, czy nie. Chcę powiedzieć, że w tych sprawach pomogła mi nie tylko wiedza merytoryczna, ale także umiejętność nawiązania komunikacji z zespołem, dobrego zaprezentowania się menadżerom, umiejętność wywarcia wrażenia i udowodnienia, że ​​wszystko doprowadzę do końca. koniec. Dziękuję za uwagę, życzę wszystkim więcej wytrwałości i dbałości o szczegóły.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION