Pierwsza praca - Java Dev

Pierwsza praca - Java Dev
BA
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 4 lata
  • Postów:15
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?

Julian_
u mnie podobna historia z tym, że nie robiłem bootcampa.
au7h
rynek przesycił się javovcami, tutoriali w sieci od groma (po polsku), trzeba wziąć się za coś "trudniejszego" mniej wyszukanego
gk1982
W końcu po 17 latach nauki programowania dostałem zlecenie na zrobienie strony firmowej po godzinach pracy.
VE
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 13 godzin
  • Postów:363
0

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

BA
Tego akurat nie zrobię
gk1982
Znajdzie ale musi przygotować się do wymagań na rekrutacji jakby pracował zawodowo w javie min. rok.
DamianSn
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 5 lat
  • Postów:52
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.

edytowany 1x, ostatnio: DamianSn
MasterOf
Nie pokaże bo chyba się wstydzi :D
DE
  • Rejestracja:prawie 6 lat
  • Ostatnio:prawie 6 lat
  • Postów:1
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.

BA
Napisałem post by właśnie z rad skorzystać. Nie bardzo pociesza mnie fakt, że nie jestem osamotniony w aktualnej sytuacji.
K5
  • Rejestracja:około 6 lat
  • Ostatnio:około 15 godzin
  • Postów:1002
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

edytowany 1x, ostatnio: kixe52
DamianSn
Większość jeszcze ma otwarte rekrutacje. Przynajmniej we Wrocławiu :)
BA
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 4 lata
  • Postów:15
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

DamianSn
Tak z ciekawości rozmowy techniczne dotyczą po prostu składni Javy czy np działania GC / JVM, sterty, stosu ?
BA
Roznie, czesto natomiast trmat krazy wokol kolekcji
M7
Ogólnie to dictionary_game_spring jest bardzo niereprezentatywny. Jakoś kodu dramat, mankament za mankamentem.
BA
Moglbys podac jakies szczegoly? Zawsze warto skorzystac z dobrych praktyk. Chetnie poszerze wiedze i poprawie conieco
M7
Siedzę w pracy nie mam czasu rozpisywać, a zanim wrócę do domu to inni to już 30x to zrobią. Ale tam nie ma klasy, w której by nie było przynajmniej KILKU fuckupów.
Julian_
  • Rejestracja:około 8 lat
  • Ostatnio:ponad 4 lata
  • Postów:1703
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.

edytowany 1x, ostatnio: Julian_
Zobacz pozostałe 7 komentarzy
PerlMonk
@DamianSn: A może ty studiowałeś w czasach przed powstaniem ósmej wersji Javy?
TD
@DamianSn: kolega troche odpłynął. Nawet na mojej przeciętnej uczelni uczy się C++14, a potem w zależności od przedmiotu mozesz uzywac w zasadzie czegokolwiek. Po 2. wymagania na staz czy juniora (i nie tylko) do powaznych firm to głównie algorytmika, ale tez np. System design, do czego wiedza ze studiów bardzo sie przydaje. Po 3. ambitny student w ciągu dwoch/trzech lat wyprodukuje o wiele więcej kodu niz typowy samouk czy absolwent bootcampu.
DamianSn
No nie wiem kto tu odpłynął, że porównuje "ambitnego" studenta do "typowego" samouka czy absolwenta bootcampu. W C++ to moze algorytmika, w Javie raczej nie, a o tą technologię tutaj chodzi. Informatyka to nie programowanie, a wszystko po trochę. Dlatego stwierdziłem, że samouk często może być lepszy w konkretnej technologii. Studiuję obecnie, a z tą wersją javy może uogólniłem na podstawie kilku przypadków.
TD
@DamianSn: może się zdarzyć że będzie znał daną technologię lepiej, ale tak naprawdę znajomość technologii to szczegół, wiele firm w ogóle nie wymaga znajomości technologii której będziesz używać na co dzień.
IA
@DamianSn: u nas na spoju (platforma automatycznego oceniania algorytmiki) podczas zajec i prac zaliczeniowych od dluzszego czasu ludzie maxuja JAVA i maja lepsze czasy niz w Cpp. Jednego i drugiego trzeba umiec umiejetnie uzywac
Silv
Moderator Wiki
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Warszawa
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?


edytowany 7x, ostatnio: Silv
PdP
  • Rejestracja:ponad 6 lat
  • Ostatnio:6 miesięcy
  • Lokalizacja:W-wa
  • Postów:189
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ś?
BA
Info o boocie mam, ze wzgledu na brak studiow. Staram sie uczestniczyc na meetupach. Nie mieszkam w zadnym z wiekszych miast, wiec organizuje wypady. Co do projektow grupwych, nie mialem okazji. Cv podesle popoludniu :)
CountZero
  • Rejestracja:ponad 7 lat
  • Ostatnio:10 miesięcy
  • Postów:262
1

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

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

?

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

??

Kopiuj
@Autowired
    private User user = new User();

???

Kopiuj
@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.

edytowany 1x, ostatnio: CountZero
K5
  • Rejestracja:około 6 lat
  • Ostatnio:około 15 godzin
  • Postów:1002
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
Aryman1983
  • Rejestracja:prawie 15 lat
  • Ostatnio:prawie 4 lata
  • Lokalizacja:Pabianice
  • Postów:255
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 :-)

Silv
Plus za wspomnienie o powrocie. :)
A0
  • Rejestracja:około 11 lat
  • Ostatnio:ponad 5 lat
  • Postów:24
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.

PdP
  • Rejestracja:ponad 6 lat
  • Ostatnio:6 miesięcy
  • Lokalizacja:W-wa
  • Postów:189
1

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

J1
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 4 lata
  • Postów:30
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

edytowany 1x, ostatnio: Johny123
A0
To raczej kwestia tego za co bedziesz w pracy odpowiedzialny. Mozesz byc pomocnikiem junior developera, ktorego zadanim jest napisanie kolejnej kontroli dla widoku w aplikacj e-wrzywniak lub master secury specjalist w banku. Tak sie sklada, ze to ostatnie pisze sie najczęściej w java lub .net
OG
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 4 lata
  • Postów:71
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.

Tomasz Kollennger
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 3 lata
  • Postów:66
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ę.

edytowany 1x, ostatnio: Tomasz Kollennger
J1
ee guwno prawda, jak dostał zaproszenie to znaczy, że czymś zainteresował rekruterów a jeśli okaże się że brak mu skillsów to nie jest jego wina tylko rekruterów bo zaprosili go na rozmowę, a nawet jak przyjmą go do pracy i okaże się, że brak mu skillsów to nadal jest wina rekruterów a nie jego. Wysyłać, chodzić i się nie pie****, zawsze się coś z takiej rozmowy wyniesie ;]
Julian_
  • Rejestracja:około 8 lat
  • Ostatnio:ponad 4 lata
  • Postów:1703
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?

edytowany 1x, ostatnio: Julian_
Tomasz Kollennger
Polega na tym ,że już go znają i mówią: "aaa to znowu ten co rok temu na cv wysłał ! no z chu... gitem." I CV ląduje na dzień dobry w tzw. koszu. poza tym jest tak ,że wiele firm wymienia ze sobą cv i takie opinie krążą, rekruterzy widzą ,że przez rok pracy nie mógł znaleźć i w ich oczach traci na wartości. Takie wymienianie cv jest na porządku dziennym w firmach outsourcingowych, nawet rekruterzy potrafią zadzwonić do innej firmy i się spytać o kandydata jak wypadł na rozmowie. Często też dzwonią do byłych miejsc pracy i w ten sposób weryfikują autentyczność CV.
Julian_
no to mam przerąbane w tym kraju
B2
kolega chyba się za dużo filmów naoglądał ;-)
DR
@Tomasz Kollennger: tak bo rekruterzy którzy dziennie przerabiają po 20 CV mają znakomita pamiec. Powiem ci że na drugi dzień jak spojrzą na CV to nie wiedzą czy już brali je pod uwage, chyba że naprawdę się wyróżniało. Dlatego robi się dla nich systemy, ale rodo więc Julian może zarządzać o usunięcie i za pół roku wysłać nowe CV
Gworys
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 6 lat
  • Postów:139
0

Unhandled Exception: System.MissingMethodException: Constructor on type 'System.Exception' not found.
Silv
Ale że co dokładnie?
Pyxis
  • Rejestracja:ponad 7 lat
  • Ostatnio:około 10 godzin
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.

Gworys
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 6 lat
  • Postów:139
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


Unhandled Exception: System.MissingMethodException: Constructor on type 'System.Exception' not found.
Zobacz pozostały 1 komentarz
Silv
@Gworys, dzięki! Podoba mi się ton autora wideo – zachęca do obejrzenia. Plus za krótkość. W sumie racja, że najlepiej byłoby pisać i tytuły, i opisy... Inna sprawa, że sam dla siebie, jak wiem, że sam tego czytać nie będę w 85% przypadków...
Aryman1983
Aryman1983
Jezu popraw to skont bo mi oczy wypala :-)
Gworys
O boże, co ja napisałem :O A już nie mogę tego zmodyfikować.
Silv
To przez słowo "konto", w kontekście forum często się pojawia przecież.
kzkzg
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 8 godzin
  • Postów:925
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.


Keep calm and blame frontend.
Tell your cat I said pspsps.
au7h
  • Rejestracja:ponad 11 lat
  • Ostatnio:12 miesięcy
  • Postów:215
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.

edytowany 1x, ostatnio: au7h
Burdzi0
@Julian_: Stoję za Tobą w kolejce jakby co
K5
  • Rejestracja:około 6 lat
  • Ostatnio:około 15 godzin
  • Postów:1002
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".

edytowany 1x, ostatnio: kixe52
au7h
według mnie kontakt z klientem powinna ogarniać osoba nadzorująca projekt a nie sam programista :D Programiści to zwykle skryci ludzie, mało mówią, dużo programują. Posługują się czysto technicznym językiem który dla klienta może być niezrozumiały. Komunikacja klient<--->programista w ogóle nie powinna mieć miejsca :D
K5
Czepiasz się ;) Chodziło mi głównie o ogarnięcie innych skillsów, nie tylko tych technicznych. Chcąc nie chcąc to też jest ważne. A samo obycie komercyjne, (co prawda w nie identycznym języku, ale podobnym) może tylko pomóc.
Aventus
Kto to jest ten programista salesforce? Zawsze mnie to zastanawiało.
K5
@Aventus: nie aplikowałem nigdy na takowego, widziałem jedynie ogłoszenia. Ostatnio przewinęło mi się nawet ogłoszenie na staż salesforcowy. Dla osoby mocno zdesperowanej nie jest to takie złe wyjście. Z tego co się orinetuje, stoi to na Apiexie, który w jakiś sposób jest podobny do javy. A rok komercyjnego doświadczenia w cv może tylko pomóc. NO i te inne umięjetności, o których pisałem wyżej, które się nabiera podczas pracy komercyjnej.
BA
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 4 lata
  • Postów:15
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.

CountZero
Oczywiście nie życzę Ci źle, każdy od czegoś zaczynał. Jednak imo zacząłeś szukac pracy za wcześnie i teraz będziesz miał taki problem, że będziesz musiał jeszcze raz slac CV do tych samych firm.
Aventus
A co to za problem akurat? Po tygodniu nikt go nie będzie pamiętał, a nawet jeśli to będzie się mógł wykazać jaką poprawę zrobił od ostatniego razu.
Silv
Gdybym był rekruterem i w ogóle miałbym możliwość porównania jakichś dwóch wersji CV, to starałbym się właśnie zwrócić uwagę, co się zmieniło na lepsze. Ale nie jestem i w zasadzie trudno mi mówić o ich pracy. Zresztą, może jestem wyjątkiem.
DR
  • Rejestracja:prawie 12 lat
  • Ostatnio:28 minut
  • Postów:1129
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ć.

Julian_
podasz linki do tych stron dla freelancerów? znam tylko freelancer.com i oferia.pl
DR
No to o tego typu stronach mówię
au7h
freelancer nie miałby łatwego chleba jeżeli szukałby tylko na tych stronach, tam do jednej oferty jest po 10 zgłoszeń gdzie w większości to firmy :)
HA
  • Rejestracja:około 6 lat
  • Ostatnio:10 minut
  • Postów:1006
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.

Zobacz pozostałe 9 komentarzy
Silv
@hadwao: ja na przykład czytam swoje posty 4 razy ;), ale domyślam się, że nie każdy ma tyle czasu (piszę to poważnie).
Burdzi0
@Silv: Ja ani razu, więc zazwyczaj nawet nie wiem co napisałem, polecam, fajna zabawa :P
HA
Ja jestem gdzieś po środku - wiem, że walę straszne byki, więc staram się poprawiać, żeby wstydu nie było, ale nie zawsze się udaje :-)
Miang
@hadwao no właśnie w Warszawie, pełno ściemy w ogłoszeniach php a szukają javascriptowca do frontu za stawkę która kosztów życia nie pokrywa
HA
@Miang faktycznie fajnych ogłoszeń nie ma dużo i tak jak pisałem wyżej łatwo wdepnąć w kupę. W moim mieście w sumie kilka firm zatrudnia typowych backendowców w PHP, ale ogłoszenia te wiszą non-stop, bo nie ma ludzi ze skilami. U mnie w firmie rekrutacja trwa od pół roku i nikogo nie znaleziono choć kasa całkiem spoko. Chętnych jest sporo, ale skilli brak. W PHP się robi mało kodu enterprise i brakuje doświadczonych devów. Dla mnie przesiadka z standardowego kodu PHP na enterprise to była lekcja życia ;-)
NS
  • Rejestracja:ponad 7 lat
  • Ostatnio:4 dni
  • Postów:455
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.

edytowany 1x, ostatnio: NeutrinoSpinZero
Zobacz pozostałe 50 komentarzy
NS
@Gworys: ten licznik liczy commity!!! A nie pushe! Czasem nawet zmiany nazw zmiennych wrzucam, więc fakt trochę jest takich "fejkowych" commitów.
Silv
@NeutrinoSpinZero: myślę, że to dobrze, że commitujesz zmiany nazw zmiennych oddzielnie.
Gworys
@Silv A skąd to wiesz?
NS
Bo to sprawdziłem. Skąd* jak coś.
Silv
@NeutrinoSpinZero: to do mnie. ;) @Gworys: nie "wiem", myślę tak, po prostu. Domniemywam, domyślam się. Zmiany nazw zmiennych nie wydają mi się czymś powiązanym np. z dodaniem nowej funkcjonalności. Mogą, co prawda, jak się zastanowić – można by je wrzucić do jednego commita z jej dodaniem. Być może jestem przewrażliwiony, ale zmiana nazwy zmiennej brzmi dla mnie jak coś niewinnego, co może przerodzić się w coś nieciekawego. Toteż – lepiej jak najwcześniej zauważyć konflikt, czy też po prostu dobrze, żeby takie zmiany w kodzie były czytelnie oddzielone od innych.
RA
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 5 lat
  • Postów:7
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.

W1
ja bym po prostu powiedział, że biorą każdego ogarniętego juniora w każdym dużym mieście. Zwłaszcza w javie w tym roku było organizowanych więcej staży, niż chociażby rok temu. Tylko po prostu na każdego ogarniętego juniora przypada 200-300 nie nadających się do pracy.
RA
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 5 lat
  • Postów:7
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.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)