JavaRush /Blog Java /Random-PL /Historia dla osób po 30

Historia dla osób po 30

Opublikowano w grupie Random-PL
I tak wpadła w moje ręce i znalazła czas, żeby podzielić się swoją małą historią.

Prolog.

Zacznijmy od tego, że mam 30 lat, moje główne wykształcenie to wyższe chemiczne (nie będę wdawał się w szczegóły), pracowałem w fabryce prawie 8 lat. Praca była rzeczywiście dość ciekawa, ale patrząc na kolegów, zrozumiałam, że nie chcę przechodzić na emeryturę i pracować tutaj przez *dwadzieścia lat, nie tak chcę spędzić życie. Dodam jeszcze, że mam rodzinę, dwójkę dzieci (najstarsze ma 6 lat, najmłodsze rok) i według klasyków kredyt hipoteczny. W końcu zdecydowałem się spróbować przenieść się w inne miejsce, do innego zakładu, gdzie płaca jest wyższa i jest rozwój kariery. W fabryce zapuściłem już korzenie, ciężko było mi wyjechać, ale zdecydowałem się to zrobić. Wyjazd do Petersburga trwał miesiąc. Oficjalnie pracowałem tam przez tydzień, zdałem sobie sprawę, że w naszym kraju sytuacja z fabrykami jest w większości smutna i wróciłem do rodzinnego miasta. Nie chciałam wracać, wydawało mi się, że to krok w tył. Wtedy zdecydowałam, że jeśli zmienię swoje życie, to zmień je radykalnie! Przez około tydzień zastanawiałem się jaki język programowania wybrać i tak naprawdę wybór padł na Javę . Potem zacząłem szukać kursów. Tak naprawdę jest sporo dobrych kursów, niektóre nawet w rozsądnej cenie, ale miałem problem: miałem dużo chęci i czasu na naukę, ale poduszka finansowa była na maksymalnie 3-4 miesiące . Wszystkie kursy, które mi się podobały, trwały sześć miesięcy lub dłużej i odbywały się po dwa zajęcia w tygodniu (najczęściej). A potem znajoma poleciła mi JavaRush , mówiąc, że słyszała, że ​​to bardzo dobre źródło informacji. Widziałem, że wszystko, czego potrzebowałem, było tutaj:
  • subskrypcja materiałów i zadań.
  • brak ograniczeń czasowych: mogłam uczyć się dokładnie tyle, na ile pozwalał mi harmonogram (i to było darmowe) i chęci (a jak pisałam wyżej, było tego pod dostatkiem).

Część 1: W poszukiwaniu wiedzy.

26 listopada 2019 zapisałem się i rozpocząłem zajęcia. Od razu powiem, że czasami zdarzały się dni, kiedy uczyłem się nawet 14 godzin, czytając wszystkie powiązane linki, szukając piękniejszych rozwiązań (bez zaglądania do Pomocy). Dopiero gdy pomyślałem, że moje rozwiązanie jest optymalne, zajrzałem do Pomocy i bardzo często byłem zaskoczony, że można było to rozwiązać piękniej i bardziej zwięźle. Pod koniec stycznia, po osiągnięciu poziomu 17, zdecydowałem się rozpocząć pracę w opiece społecznej, szkolić swoje umiejętności i sprawdzać, co jest ogólnie wymagane na rynku. Tak naprawdę nikt mi tak naprawdę nie odpowiedział, ale było jedno biuro, które zabrało mnie na warunkowo bezpłatny staż: pierwszy miesiąc był bezpłatny, drugi i trzeci - z niewielkim stypendium). Następnie miało być ubezpieczenie społeczne oparte na wynikach trzech miesięcy, a po pomyślnym zakończeniu – zatrudnienie.

Część 2: Ruszamy do bitwy.

Staż polegał na napisaniu wtyczki do przeglądarki Chrome z backendem w języku Java w celu automatyzacji rutynowych zadań jednego wewnętrznego działu firmy. Miałem świetnego mentora z dużą wiedzą, myślę, że to też jest ważne. Właściwie, żeby nie wnikać w chwasty, od razu napiszę, jaki stos został użyty, a na końcu artykułu podam kilka linków, które okazały się dla mnie bardzo przydatne.

Stos:

Java 11 (projekt został napisany całkowicie od podstaw), Spring (Boot, Security, OAuth2); Jako bazę wykorzystano MongoDB; Do autotestów użyłem Assertj, Mockito, Spring-boot-starter-test i pracowałem przy użyciu dość popularnego GitHub Flow (artykuł w języku rosyjskim , w oryginale ). Tutaj i dalej postaram się podać linki do oryginału i tłumaczenia. Wskazane jest oczywiście przeczytanie oryginału, jeśli jednak nie jest to możliwe, warto zapoznać się z tłumaczeniem. To najwyższy czas, aby polecić naukę języka angielskiego. Mam poziom A2, ale artykuły staram się czytać w języku angielskim (oczywiście nie bez pomocy tłumacza). To właśnie była największa trudność na początku w projekcie stażowym, ponieważ tam trzeba było pracować z zewnętrznym CRM, który miał całą dokumentację w języku angielskim. Ponadto podczas pracy ze Springiem lepiej jest przeczytać oryginalną dokumentację, jest ona bardzo dobra i szczegółowa, nie potrzebujesz nawet żadnych przewodników w języku rosyjskim i ogólnie prawie cała dokumentacja jest w języku angielskim (trochę od Kapitana Oczywiste). Mentor kazał mi też pisać wszystkie komentarze do kodu i dokumentację API po angielsku, więc jeszcze raz powtarzam: ucz się angielskiego! Nawet jeśli nie masz zamiaru pracować z klientami zagranicznymi ani podróżować za granicę, ta umiejętność po prostu znacznie ułatwi Ci naukę i rozwój.

Część 3: Rozwiązanie.

Ta część będzie znacznie krótsza :) Pod koniec stażu zdałem ubezpieczenie społeczne, dostałem pracę i dalej pracowałem nad tym projektem. W ramach stażu miał zostać zrealizowany pierwszy etap, a było ich w sumie, można by rzec, trzy. W związku z wybuchem pandemii wiele projektów komercyjnych zniknęło, a ja zrealizowałem wszystkie etapy i pomysły/chcienia, jakie mogłem mieć w związku z tym projektem. Były inne zadania, ale to, jak mówią, inna historia.

Część 4: Happy End, choć do końca jeszcze daleko ;)

W połowie lipca zadzwonili do mnie i zapytali, czy szukam pracy. CV wisiało na hh, choć nie było aktualizowane od dłuższego czasu. Postanowiłem spróbować swoich sił, przeszedłem 3 etapy: zadanie testowe, rozmowę techniczną, rozmowę z kierownictwem, przysłali mi ofertę i... Była to oferta nie do odrzucenia. Przy okazji koniecznie przeczytaj artykuł o tym, jakie istnieją rodzaje firm i spróbuj wybrać najbardziej odpowiednią dla siebie. Rozumiem oczywiście, że w pierwszej parze będziesz próbował dotrzeć tam, gdzie cię zabiorą, ale mimo to. Moją pierwszą pracą była pomoc personelu, a teraz jest to praca w sklepie spożywczym (w chwili pisania tego tekstu pracuję tylko drugi dzień). Zatrudnili też juniora na to stanowisko, ale wcale mnie to nie zmartwiło, bo jest miejsce na rozwój zarówno pod względem wiedzy, jak i pieniędzy.

Epilog.

Tak więc, przyjaciele, nie zniechęcajcie się, najważniejsze jest podjęcie decyzji i nie zejście ze swojej ścieżki. W moim przypadku ciążyła na mnie wielka odpowiedzialność wobec rodziny i chęć zmiany czegoś w swoim życiu, robienia tego, co naprawdę lubię. To, co jest szczególnie wspaniałe w tym obszarze, to to, że możesz wspinać się po szczeblach kariery niezależnie od tego, czy w firmie jest wyższy wakat, czy odszedł emeryt, który przepracował *dwadzieścia lat, i czy masz na tyle owłosioną rękę, aby się po niej wspiąć wolne miejsce. W naszej branży wszystko jest w naszych rękach!

Artykuły, którymi chciałbym się podzielić:

  • Rozumienie architektury ( w języku rosyjskim i w oryginale ). Osobiście przeczytałem ten artykuł 4 razy, kiedy dopiero opracowywaliśmy architekturę przyszłej aplikacji. Piszę w liczbie mnogiej, gdyż wszystko zostało sprawdzone i przesłane do powtórnej edycji przez mentora (robił przegląd kodu). Za pierwszym razem niewiele zrozumiałam, potem przeczytałam 3 miesiące później i już zrozumiałam, dlaczego tak się stało. Potem przeczytałem to jeszcze 2 razy, że tak powiem, aby utrwalić i w pełni przyswoić wszystkie informacje.
  • Interaktywne szkolenie z pracy z Git .
  • Radzę wszystkim, aby nauczyli się pracować ze strumieniami. To naprawdę fajna rzecz: często możesz zastąpić ogromną ilość tekstów małym strumieniem. Aby przypomnieć mi o pracy ze strumieniami, zawsze miałem otwarty ten artykuł .
  • Istnieje szczegółowa dokumentacja dotycząca pracy ze Springiem, więc nie podam linku do niej, ale z jakiegoś powodu nie od razu natknąłem się na mężczyznę o imieniu Evgeny Borisov, czyli Spring the Ripper . Tutaj bardzo fajna prezentacja i analiza działania koszy itp. Bardzo żałuję, że nie trafiłem na to od razu, wiele rzeczy byłoby jaśniej na początku. Szczególnie polecam nie tylko słuchać, ale jednocześnie pisać kod i umieszczać wszystko, że tak powiem, w pamięci mięśniowej.
  • Cóż, ponieważ pracowałem z nierelacyjną bazą danych, a większość firm (szczególnie dużych) pracuje z SQL, w wolnym czasie próbowałem rozwiązać przynajmniej kilka problemów związanych z budowaniem zapytań SQL. Istnieje wiele różnych stron na ten temat, ale podobała mi się ta z problemami i podręcznikiem do nauki.
  • Polecam też poczytać o pisaniu testów (Assertj, Mockito), ale nie przypominam sobie żadnych dobrych artykułów, tylko dokumentację.
  • A podczas tworzenia aplikacji (ale to nie jest tak naprawdę dla początkujących), staraj się korzystać ze wzorców projektowych . Przynajmniej zapoznaj się po przekątnej ze znanymi schematami, przyda się to na początkowym etapie.
Jeszcze raz życzę wszystkim powodzenia w tej sprawie! W razie pytań proszę pytać, w miarę możliwości odpowiem.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION