Co tak naprawdę powinien umieć Junior Dev?

Witajcie,

Od niedawna uczę się RoR’a po niecałym roku nauki podstaw i konceptów programistycznych z Java. Nie mam wykształcenia technicznego i uczę się na własną ręke z czytania dokumentacji, tutoriali i ksiązek oraz z brania udziału w czym się da na temat Rubiego i Ror’a :slight_smile:

Chciałbym podążać tą ściężką zawodową i zdałem sobię sprawę, że mimo moich prób bycia samoukiem to najwięcej przyswoił bym ze stażu i/lub pozycji juniora. Stąd moje pytanie, jaki jest ogólny konsensus co do umiejętności stażystów i juniorów RoR’a? Jakiej wiedzy potrzebuję, żeby skutecznie próbować aplikować na te stanowiska? Zależy mi na tym, żeby dużo się uczyć, ale bardziej zależy mi na byciu członkiem zespołu, a nie kimś nad kim trzeba siedzieć dzień i noc żeby czegoś nie sknocił.

Pozdrawiam, Krzychu

1 Like

No cóż, żyjemy w Polsce więc wymagania są jak na starającego się o Seniora :slight_smile: Takie życie :wink:

Natomiast lata w branży (co prawda nie RoR ale zawsze) pozwalają mi stwierdzić, Junior to odpowiednik czeladnika :slight_smile: Czyli ma co najwyżej podstawy teoretyczne i wbił kilka gwoździ reszty musi się nauczyć od starszych kolegów :wink: … podobno jest kryzys z dobrymi fachowcami ale nikt tych dobrych fachowców nie chce uczyć ! Takie życie i dzięki temu powstaje dziura na rynku której nie da się uzupełnić… Dolina Krzemowa zauważyła ten problem i organizuje nie tylko letnie kursy ale wielomiesięczne kursy dla przyszłych devsów … a na rodzimym rynku żadna firma nie chce wychować sobie oddanych devsów bo boją się że natychmiast ich opuszczą :wink: no coś w tym jest ale to myślenie jest na zasadzie “jesteśmy sami na rynku” ale nie jesteście sami, na rynku jest wiele firm i jeśli każda zacznie przyuczać juniorów do zawodu za 2-3 lata będzie kilkuset wchodzących seniorów na rynek a co za tym idzie spadną wynagrodzenia dla Railsowców :wink:

Miłego tygodnia :slight_smile: Przepraszam że nie pomogłem ale j/w takie życie.
BTW zastanów się czy rynek Railsów nie jest zbyt mało chłonny i może warto iść dalej w Javę to bardzo przyjemny język.

Pozdrawiam,
Greg

5 Likes

Ledwo temat rozpoczęty a już zakończony. Chyba trafiłeś w sedno.

Jest wiele mozliwosci, trzeba tylko sie rozejrzec, sa praktyki (nawet platne sie zdarzaja), szkolenia, niektore firmy specjalizuja sie w zatrudnianiu juniorow i dalszym ich rozwoju … Wystarczy troche sie po rynku rozejrzec

A potem się okazuje, że nawet na staż chcą przynajmniej 6 miesięczne doświadczenie w branży. Też jak zaczynałem naukę Ruby/RoR naczytałem się takich komentarzy. Rzeczywistość jednak jest całkiem inna. W takim PHP jest - szacuje z 10x łatwiej coś sobie znaleźć na początek.

niektore firmy specjalizuja sie w zatrudnianiu juniorow i dalszym ich rozwoju

Masz na myśli jakies konkretne firmy?

Zawsze miło poczytać z innej perspektywy więc chcąc nie chcąc pomogłeś :slight_smile: Na chwile obecną uczę się RoR’a, ale też uczę sie pod kątem technik programowania - coś co warto wiedzieć nie zważając w jakim języku się programuje. Ruby wygląda na bardzo przyjemny i zwarty język w porownaniu do Javy więc będe uparcie ćwiczył to pierwsze :wink:

W najgorszym wypadku wyciągnę z tej nauki cośco przyda się w gdzieś indziej.

Pozdro i dzięki za odpowiedź.

To prawda. Po kilku mc poszukiwań byłem zmuszony znaleźć pracę w php i zajęło mi to ok. miesiąc. Nie jest tak łatwo dla człowieka bez doświadczenia. Zwłaszcza w Poznaniu.

Ze niby Poznań to taka bieda…? Ja jakoś sobie poradziłem mieszkajac na wsi. W Poznaniu masz choćby Netguru, które bierze na staż i rozwija sobie devow, a jak Ty przez kilka miesięcy szukałeś to nawet nie potrafię sobie wyobrazic jak bardzo musiałeś nie chcieć znaleźć tej pracy… Bez kompletnego doświadczenia znalezienie pierwszej pracy w RoR zajęło mi tydzień.

1 Like

Albo masz ogromne szczęście albo mijasz się z prawdą.

Kontynuując:

Aby dostać się na staż do Netguru to trzeba najpierw dostać się na ich warsztaty. Jest bardzo dużo chętnych.
Do tego jest niezrozumiały dla mnie system wyboru kandydatów. Już tłumaczę.

Jest lista zadań do wykonania. Dajmy na to, że osoba wykonała wszystkie zadania, łącznie z ładnym frontendem. Czyli ma 100%, które ją kwalifikują. Jeśli takich osób jest więcej niż miejsc to jest robione losowanie… ale nie jest tak fajnie bo okazuje się, że można zrobić 110% poprzez dodanie funkcjonalności bo backendu, których nie było w zadaniach. Takie osoby lądują od razu na początek co według mnie jest niesprawiedliwe.
Jest specyfikacja to robimy wg niej. W normalnej pracy, w projekcie dla klienta też jest dowolność dodawania rzeczy których nie ma w umowie? Ja bym się zastanowił czy w ogóle brać takie osoby pod uwagę.
Powinno być losowanie z puli osób >= 100%

No ale mają do tego prawo i należy się im wielki plus za czas i chęci. Jest kilka takich firm w Polsce a reszta udaje, że chce tak robić a tak na prawdę myślą jak napisał greg.
Pozdrowienia dla Netguru.

Nie sądzę. Po wysyłce kilkudziesięciu CV spędziłem cały tydzień na rozmowach kwalifikacyjnych (było ich kilkanaście) dostając kilka ofert współpracy. Po kilku miesiącach pracy wysłałem zgłoszenie na warsztaty do Netguru, po miesiącu byłem tam juniorem.
Nie ma rzeczy niemożliwych dlatego zachęcam wszystkich do samodzielnej nauki - jest na forum dużo informacji od czego zacząć - to na prawdę dobra baza do tego by dostać się na Juniora.
Tylko proszę…nie piszcie, że szukacie stażu/pierwszej pracy w RoR przez kilka miesięcy bo ucząc się intensywnie to po takim czasie można być już Devem.

1 Like

Temat rekrutacji to temat rzeka i nie ma jednej poprawnej odpowiedzi na postawione pytanie. Mogę odpowiedzieć ze swojej perspektywy. Dla mnie przede wszystkim junior to na pewno nie jest ktoś kto, przysłowiowo, wczoraj wziął do ręki książkę, napisał “Hello World” i dzisiaj szuka pracy. Juniorem jest osoba, która skończyła studia, ale nie ma zupełnie doświadczenia (raczej rzadki przypadek). Od takiej osoby oczekuję solidnych podstaw teoretycznych oraz predyspozycji do przełożenia ich na praktykę. Studia oczywiście nie są warunkiem koniecznym, ale z doświadczenia wiem, że osoby bez studiów często wykładają się na podstawach. Owszem, zawsze twierdziłem, że studia nie są do szczęścia potrzebne (i nadal to podtrzymuję), ale jeśli ktoś świadomie z nich rezygnuje to nie zwalnia go z obowiązku zrozumienia np. podstaw algorytmiki, struktur danych czy złożoności obliczeniowej.

Do tego trzeba dołożyć jakąś technologię. Nie wyobrażam sobie, by przyszły programista rubiego nie wziął do ręki dobrej książki o tym języku i nie przeczytał od deski do deski. Ja osobiście od juniora wymagam bardzo dobrej znajomości rubiego. Klasy, dziedziczenie, moduły, bloki - to powinno być w małym paluszku. Niestety często się zdarza, że kandydaci (i to niekoniecznie na juniora) nie umieją napisać metody, która wykorzystuje bloki…

Trzecim wyznacznikiem jest sposób myślenia. Czasem już podczas rozmowy widać, że ktoś ma “to coś” i wtedy można przymknąć oko na wiele niedociągnięć ;-).

W praktyce polecam:

  • dogłębnie zrozumieć język ruby
  • stworzyć jakiś projekt w railsach
  • pogrzebać trochę w algorytmice
  • czytać blogi, artykuły, książki dotyczące programowania, chłonąć wiedzę

Jeżeli ktoś wymaga bardzo dobrej znajomości jakiegokolwiek języka na juniora to ja nie mam pytań. Dlaczego ktoś kto zna technologie na 5 ma robić jako marny junior? Skoro tak dobrze to zna to znaczy, że nawet doświadczenie mu nie potrzebne było do osiągnięcia takiego poziomu. Więc czemu nie senior? Ba, mój dobry znajomy, senior pracujący w Google mówi, że nie da się osiągnąć nawet przeciętności w znajomości technologii bez przynajmniej 2 lat doświadczenia w branży. Więc albo ważymy słowa albo faktycznie ktoś szuka bogów za darmo.

1 Like

Lata temu gdy starałem się o pracę w Intelu kierownik działu odpowiedzialnego za development sterowników do kart graficznych powiedział, że po minimum roku można dopiero powiedzieć czy ktoś się nadaje czy nie na devsa. Tak więc nasi rodacy powinni uczyć się od największych i najlepszych w branży a nie tworzyć swój skostniały i zamknięty światek, vide Pani Dulska :wink:

No jak to, przecież rafau po miesiącu został Juniorem :wink:
Czyli opanował wszystko to o czym pisze radarek.

Czemu nie senior? Bo seniorem nie stajesz się, jak niektórzy sądzą, po 2-3 latach programowania. Senior to osobna liga. Rozległa wiedza, ogromne doświadczenie praktyczne, pragmatyzm, wyczucie (i wiele innych cech) - tego nie da się osiągnąć w krótkim czasie. Jeśli nazwiemy dzisiaj seniorami programistów (i nie mówię, że złych) z dajmy na to 5 letnim doświadczeniem to jak nazwiemy ich gdy będą mieli po 20-30 lat doświadczenia? (nie oszukujmy się, wszyscy menedżerami nie będą).

Napisałem, że wymagam dobrej znajomości rubiego (jako języka) i to Cię szokuje? Przecież znajomość tych tematów to wierzchołek góry lodowej na drodze do bycia dobrym programistą. Nie wymagam przecież znajomości bebechów interpretera, pisania rozszerzeń, wiedzy z zakresu zarządzania pamięci, GC, optymalizacji kodu, profilowania, wyszukiwania memleaków, debugowania, różnych interpreterów rubiego (JRuby, Rubinius), wątków, programowania współbieżnego i równoległego, asynchronicznego i/o itp itd. A to tylko ruby… A co z frameworkami, bazami danych, architekturą, projektowaniem, pisaniem dobrych testów, dobrymi praktykami, wiedzą z zakresu systemów operacyjnych, protokołów. Możemy do rana wymieniać. To są właśnie tematy, z którymi zetknie się, prędzej czy później, każdy programista. Jest się czego uczyć. Materiału na grube lata.

Przecież nie mówimy o stażu tylko o pracy za kasę. Jeśli ktoś jest ogarnięty i na prawdę się przykłada to z etapu juniora wyjdzie szybko, a jakie są zarobki za solidnego mida można zobaczyć choćby w ogłoszeniach na forum.

No wybacz, ale nie mogłem. Wygląda na to, że takie podejście i myślenie mają tylko firmy piszące w Railsach. Powodzenia.

Pisałem w pierwszym poście, że “Mogę odpowiedzieć ze swojej perspektywy”. Nie uważasz, że pisanie o wielu firmach na podstawie wypowiedzi jednej osoby jest trochę głupie?

Kolego, to co napisałem stosuję w praktyce. Uczestniczyłem w sporej liczbie rekrutacji po tej “drugiej stronie” i póki co obrana strategia sprawdza się.

@new_one Nie wiem skąd wziąłeś ze po miesiącu byłem juniorem :wink: Po warsztatach w Netguru minął miesiąc i byłem U NICH juniorem (przedtem przez kilka miesięcy byłem juniorem).
Postawy Ruby są na prawdę łatwe i szybkie do opanowania.

Użyłeś sformułowania bardzo dobra i dogłębna znajomość Ruby. Teraz to co znowu wymieniłeś to ktoś kto bardzo dobrze zna ruby powinien mieć w małym palcu. Klasy, moduły, dziedziczenia, bloki, może nawet jakieś lambdy to jest według mnie znajomość języka na poziomie nie wiem, 3/10 i to naciągane? To raczej nie jest odpowiednik określenia “bardzo dobra i dogłębna”.

Przecież nie mówimy o stażu tylko o pracy za kasę. Jeśli ktoś jest ogarnięty i na prawdę się przykłada to z etapu juniora wyjdzie szybko, a jakie są zarobki za solidnego mida można zobaczyć choćby w ogłoszeniach na forum.

Nie no wybacz ale dla mnie praca za 2500zł to jest praca jak za darmo tym bardziej, że wymaga to wcześniej poświęcenia ogromnej ilości czasu na naukę, często też sporo kasy na materiały. A czy tak łatwo się stać midem? Może, nie wiem.
Poza tym, ja może tak trochę opowiem z doświadczenia z zachodu bo tam sporo czasu w życiu spędziłem. Tam jak ktoś idzie na intern/junior to jest to ktoś kto dopiero bada sam siebie czy się będzie nadawał, czy mu się to podoba, czy to jest to co chce w życiu robić. Do tego powinny zresztą służyć te najniższe stanowiska. No i co, teraz ktoś u nas musi poświęcić 3 lata na to żeby zaraz się okazało, że mu się to nie podoba.
Po prostu ja rozumiem, rożne firmy mają różne podejścia. Jedne żyją tym, że zatrudniają właśnie jako juniorów od razu bogów którzy śmiało poradziliby sobie na dużo wyższym stanowisku za dużo większe pieniądze. Drugie firmy właśnie preferują szkolić sobie kandydata od praktycznie 0, argumentując to tym, że lepiej kogoś od razu przystosowywać do praktyk stosowanych w firmie, ich narzędzi itd. Trzecie firmy to są te normalne, które mają swoje wymagania ale na to entry stanowisko nie wymagają “bardzo dobrej” znajomości języka, do tego kilku frameworków javascript, mongoDB, Redisa i co tam jeszcze jest.

1 Like