Nie wiem czy mój post ci pomoże, ale aktualnie również mam ok 4 lata doświadczenia i jestem w trakcie zmiany pracy, tyle że stack javowy. Na początku założenia miałem proste - coś tam sobie przypomnę, z miesiąc robienia powtórki z typowych pytań, trochę algorytmów, zadań rekrutacyjnych i gotowe. Po miesiącu nauki wysłałem 3 CVki na oferty, które i tak mi się nie podobały (z ważnych powodów - małe stawki, hybryda. Mniej ważne: mała firma lub typowa kontraktornia).
No i srogo się zdziwiłem, bo dostałem 3 odrzucenia po początkowych etapach. Mimo iż byłem w stanie odpowiedzieć na 80-90% pytań to dostałem dwa razy feedback, że znałem temat "pobieżnie" i rzeczywiście tak było.
- Dostawałem pytanie ogólnie - odpowiedziałem prawidłowo
- Rekruter wchodzi w temat i dopytuje dalej - znowu odpowiadam prawidłowo
- Zaczyna pytanie szczegółowe - i tu już u mnie pojawił się problem, bo wiele razy znałem definicję konceptu ale nie potrafiłem nic więcej o nim powiedzieć.
I właśnie takie problemy wychodzą z klepania top 1000 interview questions, niestety jest to niewystarczające, bo na poziomie mid/senior rekruterzy lubią wchodzić w temat głęboko. Rekrutacje teraz zdecydowanie nie są nastawione na branie jakichś słabeuszy czy średniaków tylko łowienie perełek, bynajmniej w javie tak jest. Obecnie obrałem taki kurs że uczy się ok 3 godziny dziennie każdego dnia lub 1 dzień przerwy, 6 dni nauki. Zazwyczaj w ciągu pracy mam 1-2h okienka na swoje rzeczy bo wyrabiam się szybciej z taskami i wieczorkiem siadam na dodatkową godzinę nauki - przez co nie czuje się zbyt wypalony czy przemęczony tą nauką. Leci mi już tak czwarty miesiąc, w założeniu jeszcze ze 2-3 miesiące nauki i składam masowo CV. Ostatnio wysłałem kolejne 2 CV w celach testowych i było już znacznie lepiej jeśli chodzi o rozmowę i pytania, niestety teraz poległem w live codingu. Więc ja nie wiem szczerze jak ludzie to robią, że pracują pracują, trochę się czasem dokształcą po godzinach, a prace zmieniają w 2 tygodnie bez żadnej nauki pod rekrutacje :)
Z tematów które obecnie ogarniam lub będę ogarniał:
- java- głównie robiłem sobie kursy na przypomnienie/poszerzenie wiedzy odnośnie wielowątkowości oraz testowanie integracyjne
- czysty kod, wzorce projektowe, TDD, DDD, Event-driven development - głównie wzorce/architektura w mikroserwisach - często mocno z tego pytają w formie live-codingu
- SQL (jakoś bardzo w tym temacie się w pracy nie rozwinąłem)
- docker
- kubernetes
- aws (jeśli działasz w .net to nie wiem czy w waszym stacku Azure nie jest popularniejszy od AWS)
- kafka
- mongoDB
Z większością rzeczy miałem styczność w pracy, ale nigdy nie zgłębiałem wszystkiego od A do Z bo nie było czasu, teraz nadrabiam braki :) Miałem jeszcze JS + Angulara ale stwierdziłem, że nie chce mi się dokładać kolejne rzeczy do nauki, bo co prawda miałem taski frontowe, ale jakoś dużo nie full-stackowałem, więc nawet nie wpisuje tego w CV. Dlatego tobie również nie polecam wpisywać wszystkiego z czym pracowałeś i poznałeś słabo - tylko dołożysz sobie niepotrzebnej nauki. Tego jest zbyt dużo żeby ze wszystkiego wymiatać na rekrutacji.
Polecam sobie wyrobić nastawienie na codzienną naukę po kilka godzin dziennie przez kilka miesięcy zamiast siedzieć po 6 godzin dziennie przez miesiąc bo nic z tego nie będzie. Co 2 miesiące wysyłasz kilka CV na próbę, żeby zbadać jak ci idzie nauka.
Z takich jeszcze ważnych tematów - dieta, sen, spacery, trening. Polecam spanie minimum 8h dziennie, zdrowa dieta - jeśli sporo czasu leci ci na gotowanie to okresowo weź sobie jakąś diete pudełkową i gotuj tylko w weekendy - zyskasz 1h dziennie. Spacery w ciągu dnia lub jakiś trening na siłowni czy basen i przed nauką to must have - zresetowany mózg pracuje lepiej. Ale nie polecam przesadzać z intensywnością sportu, żeby nie być zbyt zmęczonym. I zdecydowanie nie uczyć się wszystkiego, lepiej znać mniej bibliotek/frameworków ale błyszczeć odpowiedziami niż wpisać 10 technologii i potem o większości wiedzieć niezbyt wiele