Pierwsza praca - Java Dev

1

Szukam pracy jako Junior Java Dev, pierwszej pracy w IT.
Należę do osób, które (mówiąc brzydko) chcą się przebranżowić. Pieniądze nie były tu czynnikiem decydującym. Poprzednia branża, w której pracowałem dała mi dużo satysfakcji
natomiast osiągnąłem finalny stopień umiejętności, przez co dalszy rozwój jest niemożliwy, stąd decyzja o zmianie. Wysłałem dziesiątki, jak nie setki cv. Byłem na paru rozmowach, jedne poszły (według mnie) lepiej, inne gorzej. Ostatecznie rezultat ten sam, niepożądany. Posiadam projekty, które tworzyliśmy na bootcampie, posiadam również projekty, które są w pełni autorskie. Język ang na poziomie komunikatywny, bez problemów podczas rozmowy. Na rozmowach tech, wiadomo, zdarzają się pytania na które ciężej mi odpowiedzieć gdy rozmowa się rozwinie mocno w głąb omawianych wątków. Tutaj rodzi się pytanie, jak zwiększyć swoje szanse, gdzie szukać, oferty bieżące właściwie się kończą, mimo, że rozszerzyłem poszukiwania do praktycznie całej Polski środkowo-północnej. (Od Warszawy po Gdańsk). Jakieś rady?

0

Jeżeli nie masz studiów to zapomnij o pracy w Javie.

1

Podrzuciłbyś link do github`a gdzie prezentujesz te umiejętności ? Niedługo też chciałbym zacząć czegoś szukać czegoś i pytam z czystej ciekawości. Jestem studentem + samoukiem i ciekawi mnie w sumie do jakiego poziomu wiedzy dochodzi się po takim bootcampie.

0
bananoweyo napisał(a):

jak zwiększyć swoje szanse, gdzie szukać, oferty bieżące właściwie się kończą, mimo, że rozszerzyłem poszukiwania do praktycznie całej Polski środkowo-północnej. (Od Warszawy po Gdańsk). Jakieś rady?

Z rad i tak nie skorzystasz ale w całym szaleństwie dobrze zauważyłeś. Oferty się kończą. Nie ma więcej firm javowych, do praktycznie wszystkich już uderzałeś, jak nie bezpośrednio to przez pośredników.

Poza tym nie przejmuj się. Tobie podobnym są teraz "w obiegu" tysiące.

0

Jeśli nie przechodzisz rozmów z rezultatem pozytywnym, spróbuj aplikować na staż. Problemem może być to, że mamy już kwiecień i większość firm kończy rekrutacje na praktyki wakacyjne ale nic nie szkodzi spróbować. Jeśli się sprawdzisz po praktykach to na 90% zostaniesz w firmie.

ps pokaż nam githuba z tymi projektami bootcampowymi + autorskimi

2

https://github.com/MichalWds

Autorski to np dictionary_game_spring. Jutro wrzuce kolejne projekty, byscie mogli zerknac na te, ktore pokazuje rowniez na rozmowach, a ktorych nie ma na gicie aktualnie. Co do rozmow, zdazaja mi sie naprawdę dobre rozmowy techniczne, gdzie właściwie odpowiadam na znaczna czesc pytan, jednakze propozycje ostateczne nie padaja

0
bananoweyo napisał(a):

https://github.com/MichalWds

Autorski to np dictionary_game_spring. Jutro wrzuce kolejne projekty, byscie mogli zerknac na te, ktore pokazuje rowniez na rozmowach, a ktorych nie ma na gicie aktualnie. Co do rozmow, zdazaja mi sie naprawdę dobre rozmowy techniczne, gdzie właściwie odpowiadam na znaczna czesc pytan, jednakze propozycje ostateczne nie padaja

dodaj unit testy!
Co to narobiłeś z tymi putami :O weź to wrzuć do jakiegoś pliku txt, albo csv albo bazy i stamtąd ładuj do mapy... okropnie wygląda 100 linijek put put put put.
Pousuwaj też komenatarze no i co to są te System.out.println? Gdzie to ma iść? Jak robisz server to po co ten serwer ma se coś printować w kosmos... . A poza tym strasznie mały projekt, ja mam 20 razy większy i 2 takie i też bez powodzenia w rekrutacjach.

0

Nie przeglądałem Twoich projektów, ale – jeśli zapał do Javy Ci nie ostygł – może spróbuj zacząć robić jakiś projekt w założeniach większy. Nie mam oryginalnych pomysłów (bo ja zwykle ich nie mam, jeśli chodzi o projekty), ale pamiętam, że wiele można zrobić. Nie wiem, co potrafisz dokładnie, i co Cię interesuje, ale może parser czegoś albo grę, w którą sam byś chciał grać. Osobiście miałbym większą ochotę robić bardzo złożony parser niż bardzo złożoną grę, ale może Ty masz odwrotnie?

1
  1. do oceny GH/projektu jest Oceny i recenzje i od tego powinieneś zacząć PRZED wysyłką CV
  2. wrzuć CV (bez danych osobowych) tutaj
  3. ... i mam nadzieję, że nie masz w nim nic o bootkampie
  4. konferencje/meetupy/JUGi - bywasz?
  5. wspólne grupowe projekty i/lub OS - próbowałeś?
1

Ten projekt dictionary_game_spring to najlepiej by było jakbyś zaorał niestety. Parę kwiatków tylko z jednego kontrolera:

@Scope(value = "session")
@Controller
public class DictionaryController {
\\\
}

?

@Component
@Entity
public class User {
\\\
}

??

@Autowired
    private User user = new User();

???

@Scope(value = "session")
@Controller
public class DictionaryController {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
}

????

Proponuje najpierw zacząć od podstaw Springa by wiedzieć o co w ogóle w nim chodzi.

1
  1. Duplikacja serwisów, praktycznie każdy z nich robi w nich to samo.
    a) logika w tych serwisach to jakiś dramat, soutowanie stringow? magic numbers?
    b) castowanie z inta do inta?

count = (int) libraryRepository.count();
index = random.nextInt(**(int) **count); ?????????

c) dlaczego user jest autowired w serwisie? pomijając sens tego, DI w springu rob przez konstruktor

  1. Mając repozytorium CRUDowe z metodami tkaimi jak findByName nie musisz pisać nad tym query swojego.
  2. Controllery z za duża ilością "logiki" w środku no i te puty...
    a) tutaj też sprawa @Autowired, zamień to na wstrzykwianie przez konstruktor
2

Kolejne repo bez testów oraz projekty wielkością i złożonością prostego cruda. Piszesz, że język ang na poziomie komunikatywnym, ale commity po polsku i już się rzuca w oczy. Popracuj troszkę, stwórz coś większego i wróć tutaj ponownie z czymś do oceny :-)

0

Firmy szukaja programistów, ktorzy dolacza do teamu. Dla teamu ktos kto tworzy takiej jakosc kod jest bezużyteczny. Bedzie tylko problemem nie wynoszącym żadnej wartości.

1

Mała podpowiedź dla autora wątku: Edukacja - Grupa Elenx.Net

0

hmm w ogóle to w Javie w porównaniu do innych języków jest wyższy próg wejścia?

edit://
Właśnie, pracuje ktoś w Javie i mógłby nakreślić czym się zajmuje w pracy? ;D

2

Nie jestem javovcem, ale poleciałbym ci napisać kod z użyciem DI lecz bez czarodziejskiego kontenera ioc a następnie porobić mocki i przetestować swój kod. Wtedy załapiesz o co w tym chodzi.

1

Kolega autor skończył bootcamp w marcu i teraz już szuka pracy.
Ja na jego miejscu z takimi umiejętnościami nie wysłał bym nigdzie bo tylko marnuje potencjalne szanse na prace (niby jest rodo ale )

Moja rada: Przeznacz rok czasu na jakiś większy projekt, z tego nauczysz się o wiele więcej niż to co na bootcampie ci wyłożyli.
Developerka to nie jest łatwy chleb, technologii jest multum i nawet jak ich nie znasz to musisz mieć skilla łatwego przyswajania nowych tachnologii, frameworków, libów.
Tak mówiąc szczerze to co jest u Ciebie w githabie to jest naplucie w twarz rekruterom.
I tak sukces ,że dostałeś kilka zaproszeń na rozmowę.

0
Tomasz Kollennger napisał(a):

Ja na jego miejscu z takimi umiejętnościami nie wysłał bym nigdzie bo tylko marnuje potencjalne szanse na prace (niby jest rodo ale )

Na czym polega to marnowanie potencjalnych szans? Ma to miejsce, tylko gdy dojdzie do spotkania rekrutacyjnego i go skreślą czy także na etapie CV? Czyli jeśli CV wyląduje w koszu to, jeśli kandydat odezwie się za 2 lata z lepszym CV, już z doświadczeniem i umiejętnościami to z automatu poleci do kosza wg Ciebie?

3
Gworys napisał(a):

Sam sobie odpowiedz na pytanie, czy można traktować kogoś na poważnie kto wystawia takie Commity?

A skąd autor ma niby to wiedzieć? Gdyby wiedział, to robiłby małe commity dotyczące jednej zmiany na przeznaczonej do tego gałęzi. Nie jestem przekonany, czy rady w stylu idź się pouczyć, wróć za rok cokolwiek dobrego wnoszą. Chyba lepiej było nic nie pisać lub wskazać konkretne błędy. Nawet największy kozak kiedyś zaczynał i pisał kod na podobnym poziomie.

0

Po co mu gałęzie przy tak prostym projekcie?

Jak to skont ma to wiedzieć.? Z książek, internetu...?
Chyba był na bootcampie, czyż nie.?

Ja tam za bardzo nie chcę nikogo demotywować.
Po prostu rozbawił mnie tytuł commit'a "almost done" :D

0

Pierwsze co się rzuca w oczy to twój styl, a raczej jego brak. Masz burdel w kodzie. Nadmiarowe entery (po co ci 3 entery pod rząd?). Lipne formatowanie. To świadczy o twojej niechlujności. Jak się widzi takie coś to się odechciewa analizować co tak naprawdę jest tam zrobione.

0

U mnie w okolicy jest janusz soft za 2250 zł brutto. Ogłaszają się w urzędzie pracy. Klepią settery gettery nie wiedząc że IDE generuje je automatycznie pod odpowiednim skrótem. Nie dość że płaca tragiczna to gość podobno w ratach wypłatę daje.

0

Jeśli ktoś jest mocno zdesperowany to można zacząć rozważać też oferty typu "programista salesforce". Widziałem kilka ogłoszeń, do których tak wiele nie wymagali, a konkurencja mniejsza niż "normalny" java developer. Głównym celem by było poznanie know-how komercyjnego, pracy z ludźmi, kontaktu z klientem etc. W międzyczasie (np w przeciągu roku) można szkolić swoje umiejętności z javy aby potem spróbować jeszcze raz aplikować na java developera. Po takim roku komercyjnego doświadczenia będzie łatwiej niż "po samym bootcampie".

1

Dzieki wszystkim tym, ktorzy zostawili konstruktywna opinie. Kazda konkretna uwaga jest dla mnie istotna. Wiem na co powinienem zwrocic uwage w pierwszej kolejnosci. Dziwi mnie natomiast nastawienie niektorych osob, jestem osoba uczaca sie, wiec bledy sie zdarzaja, te mniejsze jak i te wieksze. Jakbym nie chcial sie doedukowywac, nie wrzucalbym tu swojego githuba. Podrzuce w weekend czystsze projekty do oceny, zdecydowanie lepiej wygladajace.

1

@bananoweyo: Są strony dla freelancerów, jest tam masa projektów, także tych "łatwych". Możesz zrobić tam konto i znaleźć jakiś dla siebie. To rozwiąże problem z szukaniem inspiracji. A jeśli czujesz się za słaby to poproś o szczegóły w takim ptojekcie, ale nie bierz oferty i napisz dla siebie. Inny pomysł to wejść na gita i znaleźć repozytorium gdzie będzie coś do naprawy, zabierz się za to. Od razu poprawisz też umiejętności związane z kontrolą wersji, bo źle zrobione commity/PR nie przejdą, a osoby które będą robić Core Review powiedzą ci co trzeba poprawić. Ja też bym się rozglądnął za inna technologia. Jest sporo ofert np. u mnie w pracy ale dla frontendowca. Z "wiekiem" przyjdzie ci że język to tylko narzędzie i nie ma sensu się go kurczowo trzymać.

4

Nie wypowiem się na temat Twojego kodu, bo nie znam Javy, ale sam przechodziłem niedawno drogę od hobbysty do zawodowca. Więc kilka rad z mojej strony:

  • Formatowanie kodu. W każdym języku są pewne standardy typu gdzie stawiać puste linie, jak formatować listę parametrów itp itd. Trzymanie się takich standardów jest dość proste, a od razu w oczach osoby czytającej wypadniesz lepiej. Nikt nie oczekuje od osoby idącej do pierwszej pracy wielkich umiejętności, ale już niechlujny kod źle o Tobie świadczy. Poczytaj o stylu formatowania w Javie + zapewne są jakieś wtyczki do IDE, które pozwalają formatować kod / podkreślają, gdy obiegasz os stylu kodowania.

  • kolejna prosta umiejętność komercyjna to obsługa GIT. W firmach zazwyczaj wygląda to tak, że dostajesz task w formie opisowej typu "[abc-323] Customer should be able to create account" (to w nawiasie to numer taska. W tytuł commita wklejasz dokładnie to samo + ewentualnie dodatkowy opis.W danym commicie powinny się znaleźć tylko rzeczy z nim związane, a nie 5 kolejnych "małych poprawek, żeby nie tworzyć osobnego commita". Wersja semi-pro - poczytaj o gitflow i się tego trzymaj, w małych projektach trochę strzelanie z armaty do wróbla, ale przypuszczam, ale nie robisz tego projektu dla siebie tylko na pokaz, więc warto się pomęczyć. Wersja full wpas - oprócz samego gita prowadzisz system taskowy z opisami zadań i zanim zaczniesz pisać kod tworzysz task, a potem dopiero kod. Czymś takim zrobisz na prawdę dobre wrażenie osoby zorganizowanej. Dla przykładu w GitLab, z którego korzystam masz to wszystko za free (przypuszczam, że w GitHub też). Może się to wydawać przesadzone, ale po a) pokażesz pewne umiejętności wymagane w komercyjnym programowaniu po b) Uporządkujesz chaos w swoim repo i unikniesz commtów typu "almost done" ;-) Jak dany task wymaga kilku kroków to po prostu wymaga brancha, jak sobie chcesz tylko zrobić zapis dla siebie, to albo używaj staggingu albo opcji -amend

  • angielski - każda poważna firma wymaga komunikacji w angielskim. Prowadząc gita/dokumentację w angielskim od razu masz kilka punktów. Jak słabo ogarniasz angielski / robisz błędy to sprawdzaj czy nie ma ich w Twoim kodzie.

  • nie znam tej grupy ElenX, ale praca w grupie na pewno by Ci sporo dała.

  • pomyśl nad jakimś większym, fajnym projektem. Ja zanim poszedłem do pracy komercyjnej programowałem quasi-hobbystycznie. W końcowej fazie napisałem na prawdę spore kobyły. Zrobiłem tam koszmarne błędy (np. funkcje po 50-100 linijek, kompletny brak jakichkolwiek zasad formatowania, OOP przedszkolnymi błędami, ogólnie koszmarki programistyczne), ale sama skala projektu + to że działały sprawiło, że ktoś uznał, że będą ze mnie ludzie. Wysłałem 4 CV, dostałem 3 zaproszenia na rozmowy i 2 oferty pracy. W obu firmach, gdzie chciano mnie zatrudnić powiedziano, że co prawda kod do bani (używano określenia niekomercyjny), ale tyle rzeczy w tym ogarnąłem, że w zasadzie jestem na poziomie midda tylko muszę dopracować detale. Faktycznie po pół roku miałem już pensję midda. Z takich rzeczy, które mi utkwiły w pamięci to na rekrutacji spytano mnie jak zwalidowałbym numer telefonu podany przez klienta. Powiedziałem, że "to zależy" - jeśli np. numer ma być przydatny dla człowieka a nie przetwarzany automatycznie, to po prostu bym sprawdził czy klient wpisał więcej niż 8 znaków bo klient może chcieć wpisać 2 numery, numer wewnętrzny, numer w różnym formacie itp i jeśli to jest tylko potrzebne np. dla pracownika to nie ma sensu utrudniać życia klientowi. Rekruter powiedział, że to jest doskonała odpowiedź i jestem chyba pierwsza osobą, która podeszła do tematu praktycznie i próbowała zrozumieć problem zanim go zaczęła rozwiązywać. To jest właśnie coś czego się nauczysz robiąc życiowe projekty zamiast pisać kolejnego CRUDA.
    Pisząc proste popierdółki powielasz te same błędy i nie uczysz się nic nowego. MZ lepiej już napisać coś dużego, bo wtedy zrozumiesz, że wiele Twoich rozwiązań się nie sprawdza i zaczniesz szukać lepszych. Samodzielnie napiszesz albo mały brzydki kod albo duży brzydki kod - lepiej już niech będzie duży.

  • pomyśl nad zmianą technologii - z tego co czytam to Java dzisiaj to jest kosmiczny wyścig szczurów. Ja pracuję w PHP i gdy decydowałem się na przejście na programowanie zawodowe to mocno myślałem o Javie, ale stwierdziłem, że zacznę w PHP i potem się przekwalifikuje. Okazało się jednak, że w PHP kompletnie nie ma specjalistów i jak ktoś jest w stanie ogarniać kod na poziomie Enterprise to szybko dochodzi do sensownych pieniędzy. Jeśli podawane statystyki zarobków progamistów są prawdziwe, to ja po pół roku doświadczenia komercyjnego byłem powyżej średniej, a jeszcze patrząc po ofertach jakie dostaje / pensjach seniorów w mojej firmie, spokojnie mogę dojść do mitycznych 15k i dalej. Samego PHP nie polecam, bo patrząc teraz po kandydatach jacy przychodzą do naszej firmy, to z tym językiem jest coś takiego, że bardzo łatwo utknąć w "góno-kodzie" i przestać się rozwijać / trudno o dobre wzorce. Ja miałem o tyle szczęście, że byłem hobbystom i wiele rzeczy zgłębiłem dla siebie zanim jeszcze myślałem o karierze zawodowej, ale mój przełożony mówił, że miałem szczęście, bo jakbym poszedł do g**no-pracy to z dużym prawdopodobieństwem bym już tam został i tak już teraz z perspektywy czasu stwierdzam, że faktycznie miał rację. Niemniej teraz JS jest na topie, Python albo coś niszowego typu RUBY?

To chyba moje 0,05PLN. Powodzenia.

6

Mogę od siebie powiedzieć (tylko nie traktuj tego jak hejt, ale jak normalną opinię od także niedoświadczonego gościa), że nie umiesz programować, a jedynie liznąłeś coś dopiero.
Też szukam powoli pracy jako javowiec, ale mój wykres kontrybucji wygląda tak:
title

Mój kod jest dobrej jakości, mam implementowane wzorce projektowe zgodnie z potrzebą, architekturę heksagonalną, wszystko to porty i adaptery. Pokrycie kodu testami to min. 75%. Do tego środowisko stawiam przez Jenkinsa i Dockera. Mikroserwisy komunikują się do Netflix Eureka. Planuję wszystko pociagnąć z Ansibla w przyszłości. Oczywiscie wszystko na Spring 5 WebFlux, prawie wszędzie Flow API, wszystko reaktywnie i asynchronicznie. Mój kod ma na bieżąco review
Oprócz tego piszę warstwę frontendową w Angularze - przedtem wprowadzenie do JS, HTML i CSS oraz kurs Angulara + dokumentacja.

Napisałem to po to, żeby uświadomić Ci, że ja już bardzo dużo zrobiłem i jeśli chcesz się dostać na Juniora to nie załamuj się teraz, tylko pracuj ciężej i dłużej, powiedzmy przez najbliższy rok i wtedy wróć jako osoba z wartościowym programistycznym skillem.

1

Powiem tyle w Javie teraz jest prz**ebane znaleźć pracę na stanowisku junior. Szukałem i wiem jak to wygląda. Na Twoim miejscu szukałbym jakiegoś stażu lub praktyki albo uczył php bo jest niski próg wejścia.

0

Zgodzę się z Tobą. Ja jak startowałem na jakieś stanowiska bez doświadczenia było ponad 100 osób na miejsce miasto Kraków ale się udało bo zrobiłem zadanie rekrutacyjne najlepiej ze wszystkich.

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