Bardzo dobra znajomość Javy, brak znajomości frameworków

0

Hej,

Moja kariera potoczyła się tak, że mam całkiem niezłą znajomość javy, ale nie jestem w stanie pochwalić się doświadczeniem w żadnych z nowoczesnych frameworków. Wynika to z faktu, że znaczną część czasu pracowałem w wewnętrznych technologiach w dużych korporacjach.
Obecnie przeważająca większość (wszyscy?) pracodawców wymaga znajomości Springa, Hibernate'a etc. i o ile chciałbym zacząć pracować w nowszych frameworkach, to nie bardzo wiem jak do tego podejść. Czy możecie proszę doradzić z perspektywy osób pracujących w tych technologiach czy lepiej:

    1. Aplikować bez znajomości tych frameworków, na rozmowie o pracę wyjaśnić, że zawsze pracowałem w technologiach wewnętrznych i nadrobić zaległości ucząc się podczas pracy? Czy brak znajomości hands-on nie skreśla mnie jako kandydata?
    1. Przerobić parę podstawowych tutoriali ze spring boota, hibernate'a i aplikować informując uczciwie pracodawcę, że mam małe doświadczenie z tymi frameworkami
    1. hardcore'owo wejść w temat i poświęcić dużo czasu na nadrobienie zaległości i zacząć aplikować, a na rozmowach nie mowić o braku profesjonalnego doświadczenia w tych technologiach?

O ile wszystkie te frameworki typu spring boot, hibernate wydają się łatwe, o tyle mam wrażenie, że rozległość ich jest ogromna i ciężko sensownie je poznać we własnym zakresie. Podkreślam, że moja znajomość javy jest bardzo dobra.

Chętnie dodam więcej szczegółów.

2
Świetny Kot napisał(a):

Hej,

Moja kariera potoczyła się tak, że mam całkiem niezłą znajomość javy, ale nie jestem w stanie pochwalić się doświadczeniem w żadnych z nowoczesnych frameworków.

I bardzo dobrze. Masz znac jezyk, ale porzadnie i na wylot. Przerob sobie materialy do OCA i OCJP i sie sprawdz na testach. Mimo, ze duzo zagadnien, o ktore pytaja jest jest czasami bez sensu (szczegolnie moje ulubione 'czy sie skompiluje' (i pewnie nie bo xyz rzuca checked'a i jak ty o tym mozesz nie pamietac)), to materialy do nich sa z reguly dobre.

Wynika to z faktu, że znaczną część czasu pracowałem w wewnętrznych technologiach w dużych korporacjach.
Obecnie przeważająca większość (wszyscy?) pracodawców wymaga znajomości Springa, Hibernate'a etc. i o ile chciałbym zacząć pracować w nowszych frameworkach, to nie bardzo wiem jak do tego podejść. Czy możecie proszę doradzić z perspektywy osób pracujących w tych technologiach czy lepiej:

Frameworki przychodza i odchodza. Wszystkie rozmowy rekrutacyjne, ktore przeszedlem do firm, ktore mnie interesowaly, nie mialy praktycznie pytan o Spring'a i Hibernate'a a tylko i wylacznie z jezyka i JVM i ogolnego obycia. Ale pamietaj, ze znajomosc javy to nie tylko skladnia, ale tez biblioteka standardowa, classloadery, classpathy, gc, internalsy, stosy/sterty i alokacja pamieci, zagadnienia zwiazane z wydajnoscia.
Doucz sie frameworkow we wlasnym zakresie, ale tak, zeby odpowiedziec na pytania z pierwszej strony google'a po wyszukaniu "XYZ interview questions".

    1. Aplikować bez znajomości tych frameworków, na rozmowie o pracę wyjaśnić, że zawsze pracowałem w technologiach wewnętrznych i nadrobić zaległości ucząc się podczas pracy? Czy brak znajomości hands-on nie skreśla mnie jako kandydata?
    1. Przerobić parę podstawowych tutoriali ze spring boota, hibernate'a i aplikować informując uczciwie pracodawcę, że mam małe doświadczenie z tymi frameworkami
    1. hardcore'owo wejść w temat i poświęcić dużo czasu na nadrobienie zaległości i zacząć aplikować, a na rozmowach nie mowić o braku profesjonalnego doświadczenia w tych technologiach?
  1. Skresla cie tylko w firmach zatrudniajacych wyrobnikow. Rekrutujesz sie w koncu na inzyniera oprogramowania czy na Spring/Hibernate developera?
    Ja bym wybral 2. Znajomosci, o ktorej uczysz sie w 3 i tak dopiero w pracy sie nauczysz, nie ma mozliwosci (IMO) zebys swobodnie poruszal sie, debuggowal apki springowe i wiedzial jak pisac zeby bylo dobrze jak nie zjesz zebow na bledach z produkcji
    Ostatnio aplikowalem do firmy, gdzie w wymaganiach bylo mocna znajomosc SQL i Hibernate i Spring'a.
    Nacialem sie na zwyklym group-by informujac, ze od dluzszego czasu nie pracuje w ogole z warstwa persystencji i SQL u mnie troche 'rusty'. Znalem za to ogolnie o modelowaniu baz danych i wybronilem sie tym. Hibernate nie trawie, nie lubie i nie uzywam chyba ze zmusza mnie do tego projekt w pracy, wiec droga dedukcji mozna stwierdzic ze raczej nie znam go jakos super dobrze.
    /\ Tylko po to, zeby z doswiadczenia pokazac, ze bez problemu mozna aplikowac do firmy bez znajomosci frameworkow i sie dostac.

O ile wszystkie te frameworki typu spring boot, hibernate wydają się łatwe, o tyle mam wrażenie, że rozległość ich jest ogromna i ciężko sensownie je poznać we własnym zakresie.

Ja osobiscie nie przepadam za Springiem. Jest ogromny, skomplikowany i przenosi wszystkie problemy w runtime.
W rekach kogos kto nie ma z nim obycia powstaja potwory, ktore ani latwe w zrozumieniu ani w utrzymaniu. By kodzic w Springu, musisz nauczyc sie nie tylko javy ale i samego Springa, ktory maly nie jest (polecam ich dokumentacje aktualnie cos kolo ~800 stron :))

0

Dziękuję @Leroy, takiej rzeczowej odpowiedzi potrzebowałem.

0

Jak znasz dobrze Javę (cokolwiek to znaczy), to nie masz się czym przejmować. W jednej firmie pisałem w Javie i potem poszedłem do innej firmy, gdzie mieli kompletnie inny stack, niż to, czego używałem wcześniej (jedynie Java była częścią wspólną) i mnie przyjęli. Na rozmowie powiedziałem, że znam Javę, ale nie znam Springa i tylko trochę w Spring Boocie pisałem i mnie o Springa w ogóle nie pytali. Potem jak się okazało, w tym Springu jakoś szczególnie dużo nie pisałem. Wpinałem jedynie czasami zależności i raz scope beana zmieniłem. Przeszedłem też w tym czasie inną rekrutację związaną z Javą, ale zupełnie innymi frameworkami/technologiami niż te, które wtedy znałem i nikt nie miał ze mną problemu. Niedawno też odpadłem z jednej rekrutacji, ale nie dlatego, że nie znałem jakiegoś frameworka, tylko dlatego, że nie uwzględniłem w zadaniu testowym współbieżności (choć nie było to explicite napisane w opisie zadania). Jeśli czujesz się niepewnie z tymi wszystkimi frameworkami i bibliotekami, to polecam poczytać jakieś artykuły, zrobić mini-projekt lub poczytać książkę. Nic to nie zaszkodzi, ale zawsze będziesz miał jakiś grunt. Niemniej jednak, wg mnie znajomość Javy jako takiej jest ważniejsza, niż znajomość Springa, czy jakiegokolwiek innego frameworka lub biblioteki. Zawsze możesz się tego nauczyć (choćby w trakcie pracy).

0

Myślę, że nikt nie odpowie ci lepiej niż ty sam. Ja na przykład nie znam żadnych frameworków, żadnych szczegółów, null. W zasadzie te języki programowania, których używałem w pracy przez długi czas nie pokrywały się z tym w czym kodowałem dla siebie, więc we wszystmo się wdrażałem na bieżąco. Zawsze jakoś to działało. Oczywiście zależy to od wielu czynników, tego, że szybko się wdrażam w nowe technologie, szybko kojarzę fakty i umiem rozmawiać z managerami.Taki rodziaj wyczucia przychodzi z doświadczeniem, a jak nie przychodzi to lepiej zastanów się nad swoją karierą.

0

Ależ mi bardzo łatwo przychodzi uczenie się nowych rzeczy, Całe życie uczyłem się internalowych frameworków/języków, natomiast widzę subtelną różnicę miedzy znajomością owych a znajomością Springa/Hibernate'a

0

Bardzo dobra znajomośc języka i działania komputera wraz z brakiem znajomości frameworków i narzędzi typu git? Typowy programista Googla :)

3
  1. Kod powiązany z frameoworkiem to jest pewnie z 5% kodu normalnej dużej aplikacji
  2. Ogarnięcie podstaw frameworka jak umiesz dobrze programować to jest chwila
0

Serio dotarliśmy do tego momentu, kiedy ludzie lecą na znajomości frameworka, bez znajomości języka? Coś jest z branżą nie tak.

0

W dobrej firmie nie będzie z tym wielkiego problemu. Tylko dobrych firm to jest jakieś 5-10%. Ogarnięcie podstaw Springa nie jest problemem, gorzej z JPA bo to naprawde coś zrytego :D
A co do tego że niektóre firmy pytają o frameworki - ja miałem taki hit że gościu nie wierzył że bez serwletów da się obsługiwac zrobić serwer :D Niestety tak to wygląda :)

0
scibi92 napisał(a):

W dobrej firmie nie będzie z tym wielkiego problemu. Tylko dobrych firm to jest jakieś 5-10%. Ogarnięcie podstaw Springa nie jest problemem, gorzej z JPA bo to naprawde coś zrytego :D
A co do tego że niektóre firmy pytają o frameworki - ja miałem taki hit że gościu nie wierzył że bez serwletów da się obsługiwac zrobić serwer :D Niestety tak to wygląda :)

W większości korpo króluje javaEE :/

0

Raczej Spring, co dla mnie osobiście problemem nie jest bo uważam że Spring jest OK, problemem jest zbyt duze uwielbienie wobec tego Springa i to że ludzie nie chcą poznać samej platformy. W życiu miałem 1 pytanie o to jak działa GC, a rozmów mialem z 10 przynajmniej. I o czym my mówimy?

0

Kiedyś sądziłem, że te wszystkie Smart TV są pisane w Javie i mogę pracować w czystej Javie tworząc te interfejsy telewizorów. A potem się dowiedziałem, że tu wszystko pisze się w C++11 jak Tizen, WebOS , SmartTV no może poza SONY i Panasonic z Androidem. I mój sen na Javie o tym, że mogę pisać w czystej Javie się skończył :(

0
Skromny Polityk napisał(a):

Serio dotarliśmy do tego momentu, kiedy ludzie lecą na znajomości frameworka, bez znajomości języka? Coś jest z branżą nie tak.

We FrintEndzie to już nikogo nie dziwi, nie pyta się o znajomość języka tylko o to jak szybko potrafisz i wydajnie posługiwać się konkretnym frameworkiem pod który jesteś rekrutowany.

0

dziękuję za wszystkie sensowne odpowiedzi.

0

We FrintEndzie to już nikogo nie dziwi, nie pyta się o znajomość języka
tylko o to jak szybko potrafisz i wydajnie posługiwać się
konkretnym frameworkiem pod który jesteś rekrutowany.

I to jest właśnie patologia. I kompletna głupota rekruterów, ponieważ:

Shalom napisał(a):
  1. Kod powiązany z frameoworkiem to jest pewnie z 5% kodu normalnej dużej aplikacji
  2. Ogarnięcie podstaw frameworka jak umiesz dobrze programować to jest chwila
0

@Świetny Kot - jestem w bardzo podobnej sytuacji. Jak tam Twoje doświadczenia na rozmowach rekrutacyjnych ? Ja próbowałem aplikować na oferty, w których np. spring był wymieniany jako nice to have. W CV nie podałem znajomości, mimo to rekruterzy zadawali pytania z konkretnego frameworka. Odpowiedź, że nie miałem doświadczenia nie była wystarczająca, temat ciągnął się na 4-5 pytań. Odczułem, że po prostu pytają wobec jakiegoś klucza.

0

Ja również aplikowałem na kilka ogłoszeń, gdzie nie bylo mowy o frameworkach. Podczas rozmowy i tak były pytania że springa i hibernate, to jest obecnie nice have. Sama znajomość javy wystarczała może 5 lat temu, teraz firmy szukają osób ze znajomością javy/spring/hibernate/SQL/testy + HTML/CSS/js + nice to have SPA angular/angularJS/React

Byłem na około 10 rozmowach i na conajmniej 8 wymagali ode mnie znajomości powyższych technologii

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