JavaRush /Blog Java /Random-PL /Moja historia sukcesu

Moja historia sukcesu

Opublikowano w grupie Random-PL
  1. Witam wszystkich, piszę z mojego pierwszego miejsca pracy (a dokładniej z miejsca mojego pierwszego płatnego stażu jako młodszy programista Java) przed rozpoczęciem dnia pracy.
  2. Moja historia sukcesu – 1
  3. Mam 39 lat (!), programowanie zacząłem hobbystycznie, gdy miałem przerwę w pracy, trochę pieniędzy, opiekę nad nowo narodzonym dzieckiem, powrót do rodziny w Moskwie i kilka innych rzeczy. Wcześniej pracował jako finansista i brał duży udział we wdrażaniu systemów księgowych na różnych 1Сах.

  4. Na początku próbowałem sam zająć się programowaniem, a nawet zacząć od Kotlina (bardzo podobał mi się zarówno sam język, jak i ci, którzy go rozwijają - JetBrains). Ale szybko, chyba w ciągu tygodnia, zdałem sobie sprawę, że bez Javy w Kotlinie nie ma co robić, a jakiś kurs jest potrzebny, kopanie na własną rękę jest bardzo nieefektywne. Znalazłem, nie pamiętam jak, JavaRush, zarejestrowałem się na nim 30 czerwca (przejrzałem teraz pocztą). Już 5 lipca wykupiłem abonament (w ciągu tych 5 dni ukończyłem pierwsze 10 poziomów, po dwa dziennie). Ukończyłem, moim zdaniem, 3 miesiące, 25 lub trochę więcej poziomów (w całości, wędrując szczegółowo, pobierając niewielką część rozwiązań, ale zdecydowanie rozumiejąc je szczegółowo, naprawdę).

    Pamiętam wielki dreszczyk emocji, jaki przeżyłem, kiedy w końcu analizowałem wyrażenia matematyczne. To zadanie było dużym skokiem, przełomem w zrozumieniu siebie jako programisty.


  5. Zdecydowałem się najpierw przejrzeć kolekcje, a następnie część dotyczącą współbieżności. Przyjrzałem się zawartości i zdecydowałem, że bardziej interesujące i przydatne będzie zajmowanie się kolekcjami. Ukończenie kolejnych 10 poziomów (gdzieś do 35.) zajęło mi moim zdaniem około dwóch miesięcy.

  6. Gdzieś w połowie współbieżności stało się jasne, że dalsze kończenie jest prawie bezcelowe. Bardziej interesujące stało się analizowanie problemów w dziale pomocy (było to dla mnie przydatne - nauczyłem się analizować kod innych osób i porządkować swoją wiedzę), niż wykonywać ćwiczenia. Następnie postawiłem sobie za cel wykonanie projektu internetowego przy użyciu Spring + Hibernate + Mayesquel + jakiś silnik szablonów (ostatecznie zrobiłem to za pomocą Thymeleaf). Otworzyłem pozostałe poziomy wyłącznie po to, aby odkryć najsmaczniejsze zadania.

    Gdyby w tym momencie był staż, byłoby super, ale na ten, który w tym momencie odbywał się, było już za późno, a na następny było już za wcześnie.


  7. W rezultacie spędziłem półtora miesiąca na rozpakowywaniu tego wszystkiego (osoba w przykładzie wideo zrobiła to samo prawdopodobnie w 50 minut, jeśli tak). W sumie wykonałem dwie testowe usługi internetowe. Jedna to czyste powtórzenie tego, co było w filmie (standardowa lista książek jest analogiczna do zadania testowego na staż). Drugie jest mniej więcej podobne do prawdziwego zadania, czyli backendowej części serwisu służącej do wyliczania kosztów sufitów podwieszanych wraz ze sterownikiem wypoczynkowym (na przykładzie realnych potrzeb znajomych). I na wiosennym bucie, a nie na gołej wiośnie. W drugim dla zabawy wstawiłem nawet zajęcia w Kotlinie (ogólnie bardzo polecam Kotlina, sam na pewno będę dalej kopał).

  8. Po tym jak w zasadzie zrobiłem serwis WWW od zera (nie będziemy już mówić o tym, że nie miał on autoryzacji, menadżera transakcji, normalnych testów web parta itp.), stało się jasne, że konieczne jest załóż CV i poszukaj pracy w czerwcu. W tym momencie zacząłem rozumieć, że naprawdę lubię programować i że programiści są naprawdę potrzebni. Następnie (w połowie stycznia, po wakacjach) w końcu napisałem krótkie CV w języku angielskim, całkowicie usuwając moje dotychczasowe doświadczenia (zostawiłem tylko krótki opis w jednym akapicie) i wysłałem je do NN.

  9. To, co się zaczęło, to tylko akapit. Nie miałem czasu nikogo prosić, dostałem już 4 oferty z firm na rozmowę kwalifikacyjną i jeszcze kilka listów z HR z propozycjami rozważenia innej pracy (ale te kilka listów nie jest na poziomie, bo ludzie średnie). Nie rozumiem, dlaczego tak się stało, myślę, że w tym momencie nastąpił silny wzrost zamówień od Sbera (2 z czterech - sam Sber, który generalnie zaprasza wszystkich, którzy zamieścili CV, i jego wykonawcę) na rozmowę kwalifikacyjną. Poza tym moje CV prawdopodobnie wyglądało dobrze.

  10. Pierwsza rozmowa (Sbertech) wypadła znakomicie. Nauczyłam go bardzo dobrze podstaw i podstaw, rozmówca powiedział, że ZUS to bomba i na pewno znajdę pracę, nawet jeśli nie u nich. Ale drugi (przez telefon) był po prostu cholernie wstydliwy. Byłem całkowicie zagubiony i znałem prawie wszystkie pytania lub potrafiłem udzielić rozsądnej odpowiedzi, jak sobie później przypomniałem. Teraz w Sbertechu jest dwóch ankieterów, jeden uważa, że ​​nie jestem zły, drugi uważa, że ​​jestem klinicznym idiotą. To była dobra lekcja, aby poważnie podchodzić do rozmów kwalifikacyjnych, w przeciwnym razie po ofertach i pierwszej rozmowie kwalifikacyjnej byłem trochę dumny.

  11. Ciekawe, że na 3 rozmowach (wliczając obecne miejsce) praktycznie nie było rozmowy technicznej - patrzyli czysto po ludzku na to, jaki jestem, choć oczywiście byłem dobrze przygotowany. Szczególnie pamiętam firmę, która zaprosiła mnie tylko dlatego, że miałam ponad 35 lat. Mają bardzo niepowtarzalną atmosferę. Kiedy zapytałem ich menadżera ds. rozwoju (znacznie starszego ode mnie, naprawdę starej szkoły), jakiego IDE używają (Intellij lub Eclipse, w tej części jest jakiś rodzaj polityki), na początku nawet nie zrozumiał, a potem odpowiedział „Och , edytor tekstu... Tak, nie używam ich, tak piszę kod. Ale możesz użyć wszystkiego, nie ma problemu. I na pewno nie żartował. Zdziwiłem się, delikatnie mówiąc.

  12. Kilka tygodni później dostałem telefon od firmy Sbertech (dokładnie po pierwszej rozmowie kwalifikacyjnej, mają tam całe morze działów, każdy sam się rekrutuje) z propozycją pracy na ok. Do ręki 1,1 tys. dolarów miesięcznie, biorąc pod uwagę premię roczną. Powiedziałem OK, zaczęli przetwarzać ofertę. Ten proces zajmuje im przyzwoitą ilość czasu, wciąż przeglądałem inne prace. W tym momencie natknąłem się na ogłoszenie na Javarash dotyczące rekrutacji stażystów do grupy firm Smart. Napisałem, że chciałbym porozmawiać, nigdy nie wiadomo, niemal od razu poszedłem na rozmowę. Tim prowadzący praktycznie nie zadawał pytań od strony technicznej (chociaż sam opisałem swój poziom w miarę adekwatnie, bez bzdur) i powiedział, że jest gotowy spróbować mnie na płatnym stażu. Zgodziłam się, bo trochę Sbertech mi przeszkadzał (wiadomo, że poszłabym tam, gdyby nie było alternatyw), poza tym podobała mi się atmosfera i prowadzenie zespołu, a dodatkowo ich biuro jest zlokalizowane 7 minut spacerem od miejsca, w którym wynajmujemy mieszkanie. Zorganizowanie opieki nad dzieckiem zajęło mi ponad kilka tygodni i tak naprawdę poszłam do pracy 28 lutego.

  13. Teraz ja (równolegle z innym stażystą, on jest z innego kursu) rozumiem kod głównego projektu firmy i równolegle pod okiem lidera zespołu tworzę aplikację szkoleniową, której jedynym celem polega na wykorzystaniu podstawowych technologii i technik, które istnieją, w sposób kompleksowy, od bazy danych po projekt przeglądarki, ale w mini skali. Pierwszego dnia była mała panika, ale już drugiego dnia zaangażowałem się w zadanie, teraz jest bardzo ciekawie, do pracy przychodzę przed wszystkimi, wychodzę prawie później niż wszyscy, każdego dnia czuję, że doskonalę swoje umiejętności. Tim prowadzący powiedział, że czas przejść do prawdziwego zadania (zatrudniłem się 28 lutego).

  14. Wskazówki dla początkujących:

    • Język angielski. Mam to szczęście, że mówię już biegle po angielsku (jakie to szczęście, że często gościliśmy na przykład podróżników couchsurfingowych, mój angielski się poprawia – na zdrowie). Bez języka angielskiego w programowaniu jesteś prawie zerowy. Niestety tak jest.

    • Śruba. Na szkoleniu wyznawałem zasadę – nie ma dnia bez linijki kodu. I standardowo spędzałem kilka godzin dziennie na programowaniu. Niestety (a może i nie) nie przeczytałem żadnej książki. Ale obejrzałem wiele samouczków wideo i przemówień z konferencji + naprawdę ponownie przeczytałem morze odpowiedzi na temat Stackoverflow.

    • Mimo to zbiory są na pierwszym miejscu. Współbieżność – zgodnie z zasadą rezydualną. Chociaż teraz mam miejsce w moich prawdziwych umiejętnościach wielowątkowych, praca z kolekcjami jest IMHO o wiele ważniejsza. Podczas rozmów zapytali tylko raz: „Wiem, co to jest muteks i to wszystko dotyczy współbieżności”. Ale jeśli chodzi o kolekcje, było zupełnie inaczej.

    • Pamiętaj, aby wykonać kilkadziesiąt ćwiczeń na sqlex.ru (jest to odpowiednio według esquel). Jest to bardzo proste po kilkudziesięciu poziomach w JavaRush, ale jednocześnie niezwykle przydatne zarówno w programowaniu zaplecza, jak i podczas wywiadów.

    • Pamiętaj, aby stworzyć swój prosty projekt przy użyciu frameworków takich jak spring-boot + hibernate + mayesquel + jakiś silnik szablonów (taki jak timeleaf lub mustash). Albo myślę, że z odbyciem stażu będzie podobnie, ale tutaj nic nie mogę polecić. Osoba z gołą teorią na Springa i ukończonym projektem z zakresu programowania to po prostu niebo i ziemia. Po projekcie przeciętne ćwiczenia na kursie stały się praktycznie przedszkolem, te skomplikowane - poniżej średniej. Po prostu poprzez zwiększenie dojrzałości programisty.

    • Konieczne jest zrozumienie i dodanie przetwarzania transakcyjnego do tego projektu, a nie tylko na poziomie „dodaj do metody w usłudze @Transactional”. Temat transakcji stale pojawiał się w wywiadach. Żałuję, że przed szukaniem pracy nie odkopałem sqlex.ru oraz transakcji Spring i Hibernate. Osoba transakcyjna będzie dużo lepiej rozmawiać z rozmówcami w sprawie stanowiska zaplecza.

    • Jeżeli ktoś ma jakieś pytania lub problemy proszę pisać, na pewno postaram się pomóc najlepiej jak potrafię. Zwłaszcza ci, którzy swój pierwszy projekt realizują na wiosnę. Chętnie spotkam się z kimkolwiek w Moskwie.

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION