Na skraju wypalenia

7

Od 10 lat pracuję w IT, z czego ok 6 w Javie.
W jaki sposób powinienem się rozwijać jeśli w dotychczasowej "karierze" trafiałem na same projekty z :

  • Java 6/7
  • brak testów jednostkowych
  • żadnych Springów / Spring bootów / hibernate'ow
  • żadnego GITa, wszędzie SVN
  • generalnie utrzymanie 20 letnich monolitów

Chciałbym wejść w technologie chmurowe, może devops albo chociażby spring, na tę chwilę wszystko wydaje mi się ciekawe, ale za co się nie zabiorę, rośnie we mnie frustracja, że nie mogę wykorzystać tego w pracy. Mam wrażenie, że samymi ksiązkami i kursami udemy nie nadrobię braków w komercyjnym doświadczeniu tak wymaganym we wszystkich ogłoszeniach.

Nie wiem czy ktoś z Was był w podobnej sytuacji, że próbował swoje gówniane doświadczenie jakoś odkręcić, ale czy powinienem:
a) stopniowo zmieniać pracę na coraz nowsze technologie ( najpierw znaleźć pracę w java8, poźniej java8 + testy ...)
b) zrobić certyfikaty cloudowe i liczyć, że to wystarczy żeby zmienić na nowocześniejszy stack.
c) robić kursy/tutoriale/czytać książki i podczas rekrutacji naciągnąć swoje doświadczenie.
d) całkowicie zmienić stack, porzucić javę na rzecz go/pythona/cokolwiek

Na tę chwilę boję się wysłać gdziekolwiek CV, bo praktycznie wszystkie ogłoszenia to java8, spring, hibernate, kafka, docker, kubernetes, etc , o czym mam szczątkową wiedzę i żadnego doświadczenia komercyjnego. Boję się zmiany pracy, bo jeśli trafię na kolejny projekt pokroju tego gówna z ktorym miałem do czynienia to chyba całkowicie zmienię branżę.

Chętnie odpowiem na pytania i zanim ktoś powie, że sam doprowadziłem do tej sytuacji to odpowiadam: wiem.

8
kamieni_kupa napisał(a):

Na tę chwilę boję się wysłać gdziekolwiek CV, bo praktycznie wszystkie ogłoszenia to java8, spring, hibernate, kafka, docker, kubernetes, etc , o czym mam szczątkową wiedzę i żadnego doświadczenia komercyjnego. Boję się zmiany pracy, bo jeśli trafię na kolejny projekt pokroju tego gówna z ktorym miałem do czynienia to chyba całkowicie zmienię branżę.

Ale dlaczego boisz się zmiany pracy. Przecież jesli bedzie tak samo to nie będzie gorzej. Prawdę mówiąc to trudno żeby bylo jeszcze gorzej.
Ja pracę zmienialem średnio co półtorej półtora roku żeby trafić na dobrą technologię

3

To jest wina tylko tego, że przez dłuższy czas przysnąłeś i nie zorientowałeś się, że zostajesz w tyle tkwiąc w takim stacku technologicznym/w tym projekcie/w tej firmie, szukaj ofert pracy, z 6latami expa w javie nawet bez springa szybko coś znajdziesz

16

Generalnie MUSISZ zmienić pracę i będzie ci trudno znaleźć fajną pracę z twoim doświadczeniem ale taka przeciętna w twoim przypadku będzie ok - nawet jak nie będzie idealnie to będzie coś nowego i rozszerzy to twoje kompetencje. I dla ciebie to i tak będzie duży krok do przodu.
Musisz zacząć wysyłać cv i chodzić na rozmowy.

0

Dzięki za odzew, trochę dodało mi to wiary :)
Czyba jest mi po prostu głupio wysyłać CV na stanowiska gdzie wymienione są nowsze technologie z którymi nigdy nie pracowałem. Nie chciałbym ani tracić czasu rekruterów, ani wyjść na idiotę przy pierwszym pytaniu p.t. "czy robiłem coś w javie 8 oprócz półrocznego maintenance'u"

4

Naucz się springa i hibernate w domu na poziomie podstawowym/przedpotopowym (tak żebyś umiał zrobić w xmlu prosty context ze skanowaniem i używać @Autowired + standardowe beany do postawienia session factory i kilka prostych encji z kolekcjami + bean z DAO). To w zupełności wystarczy, na rozmowie na poziom regulara nie dostaniesz nic trudniejszego niż pytanie o @Transactional albo defaultowy scope beanów. Jeśli masz doświadczenie w dłubaniu w g... w czystej javie to umiesz więcej niż typowy klepacz springowy.

0

Dziękuję wszystkim za wsparcie, nie spodziewałem się tylu słów otuchy :)
Macie rację, zacznę rozsyłać CV. W międzyczasie przerobię jeszcze "modern java in action", żeby nie wyłożyć się na pierwszym pytaniu o streamy ;)
Dam znać jak uda się zmienić robotę.

3
kamieni_kupa napisał(a):

a) stopniowo zmieniać pracę na coraz nowsze technologie ( najpierw znaleźć pracę w java8, poźniej java8 + testy ...)

Jakby komercyjne projekty miały obowiązkowe etykiety ze szczegółowym składem, to można iść tą drogą:
Java 8 30% zawartości wagowej
Sztuczne berwniki
Glutaminian sodu

albo projekty
BEZ KONSERWANTÓW

Nie mają, więc stosujesz strategię sklepową. Kupujesz, kosztujesz, nie posmakowało, kupujesz innej firmy. Nie sugerujesz się reklamą rekrutacji.

2

Zmieniłem technologię z COBOL-a przed-proceduralnego (brak zmiennych lokalnych) na Jave 8 więc się wypowiem...

  1. Czytaj książki, oglądaj kursy, programuj, programuj, programuj.
  • nie wszystkie książki i kursy warto kończyć, nawet jak je kupiłeś i trochę obejrzałeś
  • liczba programów powinna być znacząca, lepiej zrobić wiele małych w różnych tematach niż jedną kobyłę (kobyła ogranicza liczbę rozwiązań)
  1. W aktualnej pracy próbuj wdrażać nowe rozwiązania (kto Ci zabroni zrobić JUnity?)
  • gita możesz mieć tylko lokalnie, są nawet importery z SVNa
  1. Jedź na branżowe konferencje
  • być może dowiesz się o czymś o czym nie miałeś pojęcia, może coś Ci się rozjaśni - co jest ważne, trendy, co ludzi obecnie kręci
  1. Motywacja
  • jeśli siadasz do nauki i Ci się już nie chce, przypomnij sobie co robiłeś dzisiaj w pracy
  1. Certyfikaty - tylko niektóre coś dają, ale to głównie Tobie (bo się musisz przygotować do egzaminu).

  2. Całkowita zmiana stacka

  • możesz to robić stopniowo, np. ucząc się Clojure / Scali / Kotlina
  • możesz douczyć się frontu, jeśli czujesz się w nim słabo
  • możesz ciekawsze rzeczy robić w domu (w diametralnie innym języku)
  1. Najlepiej zmieniać technologię będąc u tego samego pracodawcy:
  • zdobywasz doświadczenie komercyjne
  • masz to udokumentowane, czujesz się z tym pewniej
  • nie grozi Ci wylanie za niekompetencje (chyba że zmieniłeś dział)
  • najlepiej w oparciu o jakieś narzędzie do wewnętrznych zastosowań (automatyzacja procesu, raporty itp)
2

@kamieni_kupa: tu masz: https://winterbe.com/posts/2014/07/31/java8-stream-tutorial-examples/. najfajniejsze tutoriale o lambdach i streamach jakie znalazlem. Jak sie przylozysz to spokojnie w weekend ogarniesz. Btw. bez Springa i Hibernate'a tez mozna ciekawa prace w Javie znalezc.

Gita koniecnzie musisz ogarnac.

@vpiotr: kobyly tez maja plus, ogarniasz jak robic wzorce, albo zorganizowac kod pod katem architektury. Co IMHO jest trudniejsze niz naklepac funkcje ktora cos robi (mowie o takinm daily codingu, nie jakims rocket science)

5
kamieni_kupa napisał(a):

Dzięki za odzew, trochę dodało mi to wiary :)

Nie chciałbym ani tracić czasu rekruterów,

Czemu nie? Przecież oni nie mają oporów, żeby tracić czas kandydatów. Poza tym oni mają płacone za "tracenie czasu".

Czyba jest mi po prostu głupio wysyłać CV na stanowiska gdzie wymienione są nowsze technologie z którymi nigdy nie pracowałem.

Czemu nie? Ogłoszenia o pracę to zwykle raczej pewne idealizacje, a nie twarde wymagania. Jak cię odrzucą, to niekoniecznie dlatego, że czegoś nie spełniasz z wymagań na ofercie, a z innych powodów (a czasem prawdziwe wymagania nawet nie są wypisane na ofertach pracy, tylko siedzą w głowie osób odpowiedzialnych za rekrutacje).

wyjść na idiotę przy pierwszym pytaniu p.t. "czy robiłem coś w javie 8 oprócz półrocznego maintenance'u"

Możesz przecież się nauczyć nowych technologii w domu i być z nich na tyle dobry, żeby nikt nie zadał tego pytania. Zresztą jeszcze nikt ci nie zadał takiego pytania, a już się boisz...

7

Ja nie rozumiem jednej rzeczy. Masz 10 lat doświadczenia, 6 w javie. Boisz się zmienic pracę, więc pewnie w aktualnej siedzisz już trochę. To znaczy że nie jesteś tam jakimś przydupasem. Czemu w takim razie nie ciśniesz zeby coś poprawić? Oczywiście osobiście uważam że nie warto się kopać z koniem jesli jakoś ci na tej pracy nie zależy. Ale jeśli chciałeś tam zostać to trzeba było coś działać.

Co z tego że testy wyłączone w CI, ja testy piszę dla siebie a nie dla CI. Pisze je po to, zeby mieć pewność że jak robię zmiany i projekt lokalnie się buduje, to mogę robić push bo wszystko działa tak jak powinno.
To troche jakby mówić ze piszesz spaghetti code bo nikt nie stoi z batem i nie pilnuje...

13

Zajebiste warunki do pracy. Chyba szukasz guza.
Nowe środowiska nowe "stacki-sracki" a i tak w zdecydowanej większości (myślę, że rzędu 90%) nic mądrego w tym nie piszą.
Wolę pisać ciekawe rzeczy w Fortranie niż CRUD`y w HiEnd strackach-srackach. Bo to jest rozwój prawdziwy a nie pseudo-rozwój i współpraca z pseudo-rozwiniętymi i pseudo-doświadczonymi zespołami pseudo-programistów.

1

A w obecnym miejscu nie masz takiej siły przebicia, żeby coś zmienić?

Sama migracja z Javy 6 na Javę 8 to łącznie może jeden roboczodzień.

1

Jeśli programujesz 10 lat to umiesz to robić na poziomie rozwiązywania kodu. Kwestia nauczenia się wzorców, dobrych technik itp. to jest ta łatwiejsza część o ile jesteś na to otwarty. Zmienisz pracę, przez 3 miesiące popracujesz zamiast 8h te 12h i będziesz umiał dokładnie to samo co wszyscy w nowej firmie. Ogólnie co się może stać? Gównianą pracę z takim doświadczeniem znajdziesz zawsze ;p

3

A może po prostu przejdź na 3/4 etatu, lub zdalnie, lub coś tam wymyśl? każda technologia w końcu znudzi jak robisz to samo przez kilka lat, jak zmniejszysz godziny to pewnie kasy tak ci nie zabraknie, a zrelaksujesz się bardziej.

5
tsz napisał(a):

Sama migracja z Javy 6 na Javę 8 to łącznie może jeden roboczodzień.

Widac, ze nigdy tego nie robiles. Jak projekt ma z 15 lat, setki starych bibliotek, ktore nie wspolpracuja z j8 i stoi na jakims historycznych serwerze aplikacji, to migracja zajmuje miesiace.

4

@kamieni_kupa
Jeśli nie zarabiasz minimum 18k brutto za utrzymywanie starego legacy gówna i to nie jednego, a jak mówisz dwudziestu, to uciekaj stamtąd i szukaj nowej pracy najlepiej greenfield, a nie brownfieldowego gówienka jakie masz teraz.

Masz za mało wiary w siebie imho, po prostu składaj CV chodź na rozmowe, uderzaj w firmy, które już piszą, że używaja java 11 + Springboot i po prostu idź na rozmowe, nie rób miliona appek i tutoriali. jak już się bawiłeś springiem, wcześniej i jave 11 klikałeś, to nic się nie martw, po prostu składaj, spamuj CVkami i się uda, trust me.

Ogólnie to możesz od razu poklikać Sprinboot jak nie bawiłeś się. Ja miałem taką ścieżkę: spring 3.x na xmlach, potem sam upgradowałem cały projekt do spring MVC 5.x i uczyłem się samemu wszystko enablować DisaptcherServlet, samemu application.yml zaczałem dodawać do projektu itp, w domu też się bawiłem, stawiałem jakieś małe śmieszne serwisy robiące co kolwiek, żeby tylko poćwiczyć, a potem jak już ogarniałem springa to zacząłem używać SpringBoot.

A jeśli chodzi o rozmowy rekrutacyjne to pewnie i tak dostaniesz bardziej z javy pytania, Java SE raczej niż wiele ze springa, będą cię pytać z metod HTTP jakie znasz, które są indepotentne, co to RESTy itp, wytłumaczyć tranzakcję, poziomy izolacji typowe Web Developer pytanka z poza Java SE. mogą spytać jakie są różnice między java 8 i java 11 itp. o strumienie/optionale i functional programming jakieś pytania męczyć. w Springu samym to może spytają o jakieś anotacje czy wiesz co oznacza itp. albo jak defaultowo jest ustawiony bean, bean's lifecycle jakie funkcjonalności daje spring, AOP, Spring Data itp. albo co daje przewagę używanie Springa nad np. OSGI czy tam Grailsami / Jakartą itp. typowe pytanka.

Tyle z moich pro tipów. Powodzenia my man :)

3
  • Java 6/7
  • brak testów jednostkowych
  • żadnych Springów / Spring bootów / hibernate'ow
  • żadnego GITa, wszędzie SVN
  • generalnie utrzymanie 20 letnich monolitów

ale masz zajebiście... tylko brak Ci siły przebicia bo nie masz doświadczenia, moja rada, wpierw samemu poćwiczyć nowe rzeczy, a potem cisnąć na zmiany i oczywiście prowadzić je, wziąć za nie odpowiedzialność, wprowadzić firmę w XXI wiek

bardzo duże pole do popisu, kosztem swojego czasu oczywiście

8

Niestety ciśnięcie na zmiany nie zawsze jest możliwe. Próbowałam w jednej firmie, ale trafiłam na: "po co ruszać jak jest dobrze" i "za parę lat się przyzwyczaisz" :D
Po tym, jak się zorientowałam, że obiecywany na rozmowie nowy stack pojawi się najwcześniej za 5 lat - zawinęłam się.
Niestety wielu kolegów, którzy tam ze mną pracowali, mieli za sobą już po 10 albo i 15 lat doświadczenia (w tej samej firmie) i choć chcieli się wyrwać, to bardzo bali się wyjść na rynek pracy. Niektórzy mówili, że ostatni raz na rozmowie kwalifikacyjnej byli zaraz po studiach...
Autorowi wątku mogę więc chyba tylko doradzić, żeby uciekał póki jeszcze ma nogi, bo potem będzie jeszcze trudniej.

5

O tempora, o mores! Co wy z tym fetyszyzmem frejmłorkuf? Jak umiecie grzebać w dowolnym spaghetti to framework to w zasadzie kwestia poznania nieco bardziej uporządkowanego spaghetti w miejsce etapu gdzie uczycie się lokalizacji co, jak i gdzie w kolejnym makaronie. Kto zna perfekt język programowania szybko załapie co i gdzie i jak działa czytając kod. Kto zna język tylko w postaci podzbioru wykorzystywanego przez framework X polegnie na dłuższą chwilęj przy przejściu na framework Y. Nieznanie języka poza światem frameworku to kalectwo umysłowe dla programisty.

1

@Satanistyczny Awatar: prosta sprawa -> jak dobrze znasz jezyk szybko wejdziesz we framework, ale jak frameworka nie znasz a dostaniesz z niego pytania na rozmowie to nie bedziesz mial szansy sie go nauczyc.

Ja zmienialem prace najpierw po 7 potem po 5 latach i da sie.

Jeszcze dodam, ze czasem warto przejsc nawet na nizsze stanowisko jesli za tym pojdzie mocny skok techniczny.

1

Może i tak. Nigdy mnie nikt z frameworków nie pytał.

1
Satanistyczny Awatar napisał(a):

Może i tak. Nigdy mnie nikt z frameworków nie pytał.

Wszystko pewnie zależy od technologii. W Javie są dwa mainstreamowe frameworki, gdzie pierwszy jest kopią drugiego i prawie zawsze pytają tylko o scope'y beanów i podobne głupoty co można wykuć w 30 minut. W JS pewnie jest totalnie na odwrót. W innych - nawet nie podejmuje się zgadywać

1

Powiem tak - jak ja Ciebie kolego rozumiem
ogólnie w tym zawodzie czuję się jak pchła co skacze i skacze a i tak nic z tego nie ma w sensie rozwoju

Od paru ładnych lat próbuję znaleźć projekt w którym nie będzie bug na twarz i pchasz,

Miałem momenty zwątpienia w swoje zdolności poznawcze, że może nie umiem w rozmowy, że po prostu jestem jakiś zjebany kompletnie. Np poszedłem do firmy gdzie miało być przepisywanie z cpp na mikroserwisy w C#, zobaczyłem to jak świnia niebo. W praktyce typowe utrzymanie kolosa w cpp. Tak myślałem czy ja dobrze zrozumiałem rozmowę wstępna czy jestem już na tyle poryty, że głosy w głowie mi mówiły o tym C#.
Tak czy siak wydaje mi się że dużo "winy" jest po mojej stronie - taki charakter, mało asertywny, kompleksy, brak wiary w siebie i nie umiem za bardzo się postawić, walczyć o swoje, gdy jestem spychany do najgorszych prac.
Przez co rozwój techniczny w pracy i tzw vsisibility kuleje, a bez tego raczej nie jestem brany pod uwagę w przypadku ciekawszej roboty, a nawet jak udało mi się coś przeforsować to przez swoje zjebanie nie umiałem tego zdyskontować politycznie

Ale co zrobić - są ludzie przebojowi, są tacy jak ja, trzeba z tym żyć
chociaż może to tu jest ukryta prawda
nikt nie jest zadowolony ze swojej fortuny, za to każdy – ze swego rozumu

pocieszam się tym, że generalnie trzeba mieć trochę szczęścia i taka jest specyfika każdego zawodu, może z 10 procent robi ciekawe rzeczy, reszta rutynę, czy to architekt czy lekarz czy dev

1
Narta napisał(a):

Niestety ciśnięcie na zmiany nie zawsze jest możliwe. Próbowałam w jednej firmie, ale trafiłam na: "po co ruszać jak jest dobrze" i "za parę lat się przyzwyczaisz" :D
Po tym, jak się zorientowałam, że obiecywany na rozmowie nowy stack pojawi się najwcześniej za 5 lat - zawinęłam się.
Niestety wielu kolegów, którzy tam ze mną pracowali, mieli za sobą już po 10 albo i 15 lat doświadczenia (w tej samej firmie) i choć chcieli się wyrwać, to bardzo bali się wyjść na rynek pracy. Niektórzy mówili, że ostatni raz na rozmowie kwalifikacyjnej byli zaraz po studiach...
Autorowi wątku mogę więc chyba tylko doradzić, żeby uciekał póki jeszcze ma nogi, bo potem będzie jeszcze trudniej.

zawsze jest możliwe, tylko trzeba pokazać wartości dodane i że jest dobrze to nie znaczy że nie może być lepiej, ale jak pisałem, musi być siła przebicia + wiedza

1 użytkowników online, w tym zalogowanych: 0, gości: 1