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".
-
- 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?
-
- Przerobić parę podstawowych tutoriali ze spring boota, hibernate'a i aplikować informując uczciwie pracodawcę, że mam małe doświadczenie z tymi frameworkami
-
- 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?
- 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 :))