Dlaczego "juniorzy" nie mogą znaleźć pracy

Dlaczego "juniorzy" nie mogą znaleźć pracy
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 12 godzin
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4707
36

Kilka luźnych mysli.

  1. To prawda, że duża ilość kandydatów nie ma pojęcia o programowaniu. Tak jest od 30 lat (w Polsce może od 15tu) i niewiele się zmieniło. Dla mnie jest szokiem jak widze, że człowiek ma już za sobą pięć lat programowania, 6 różnych firm i na 100% nie ma bladego pojęcia poza "Hello world". Dopiero w Szwajcarii zobaczyłem jak tacy programiści "się rodzą".
  2. Pytania z podstaw są najtrudniejsze i to normalka, że odsiewają. Tą prawde to już odkryłem w liceum - mieliśmy takiego matematyka, który uwalał każdego na pytaniach z podstaw. Lepiej było poprosić o zadanie z olimpiady matematycznej, przynajmniej był mniejszy wstyd i problem jak się nie rozwiązało. Bo podstaw jest bardzo dużo. Łatwoczegoś nie pamiętać. A jak nie zapomnisz to jest od razu awantura (z ust mojego matematyka padały wtedy słowa "to jest jakieś nieporozumienie" - co często oznaczało, awans do innej klasy / szkoły).
    Dlatego pytania typu hashCody to loteria, gdzie przypadkowo zdobyta przez rekrutera wiedza spotyka się (lub nie) z przypadkowo zdobytą wiedzą przez rekrutowanego. Programowanie to już od dawna za szeroka działka, żeby znać chociaż 10% podstaw :-). I każdy z tu wymądrzających się polegnie na jakichś prostych pytaniach, Jak jest młody to za mało jeszcze widział. Jak jest stary to już zapomniał.
    Egzaminu typu OCP Java X z marszu nie przejdzie nie tylko junior, raczej nie przejdzie żaden mid, a już na pewno senior. A to są podstawy... W innych językach podobnie - typowy quiz z javascriptu (w stylu ydkjs) zabije każdego, a przecież zawiera pytania z podstaw...
  3. Największy problem to taki, że w 90% przypadkach firmy nie szukają juniorów. Tylko tak piszą w ogłoszeniach. (oczywiście procent wzięty na czuja).
    Szukają programisty, któremu będzie można pokazać: o tu jest komputer, tu baza danych, pod tym linkiem jest jira, tam jest kuchnia, a w drugą strone toalata. Bierz i napierdalaj. Nie zadawaj za dużo pytań, bo i tak nie mamy na ciebie czasu.
    To nie jest junior. Może 20 -10 lat temu takie coś mogło działać, ale za bardzo działka się rozrosła, chmury, CI, Gity, frameworki, NoSQL, agile clowning, security itd. człowiek zanim ogarnie to już jest stary. Firmy szukają napierdalaczy (powiedzmy midów), a hasło junior wstawiają w dwóch celach:
    a) żeby podkreślić, że nie będzie za dużo kasy
    b) żeby podkreślić, że przyszły pracownik ma nie pyskować (to nawet ważniejsze)
    Oczywiście są ludzie, którzy wychodzą po studiach jako napierdalacze - da się. Ale to raczej zawsze była i będzie garstka. Co więcej jest duża szansa, że taki napierdalacz potrafi sam zrobić serwis od a do z, ale zapomniał już całkowicie algorytmów itp. więc odpadnie...

Jako rekrutujący nie mam dobrego pomysłu - daję zadania do domu (też na tym forum krytykowane) - zależy mi, żeby ludzie na spokojnie mieli szansę popisać kod - potem magluje z rozwiązania, żeby potwierdzić rozumienie. I tak zwykle zadaje pytania dodatkowe i co jakiś czas orientuje się, że znowu zadałem pytanie zbyt proste, żeby ktokolwiek normalny znał odpowiedź :-( (ale czasem ta refleksja przychodzi do głowy mi za późno, jak już widzę, że kandydat zaczyna panikować).

Wniosek mam taki - duże firmy, korporacje mają możliwości i środki na szkolenie juniorów i coraz lepiej ogarniają problem (staże, szkółki itp). Będa wygrywać na tym, że umieją w juniorów. Małe firmy niech się przyzwyczają: juniorzy są nie dla was - nie nadajecie się. Trzeba szukać midów i seniorów i płacić, a do tego znosić pyskowanie.


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 16x, ostatnio: jarekr000000
Zobacz pozostałe 5 komentarzy
jarekr000000
Akurat package to używam, ale wiem, że paru niuansów nie pamiętam - jak się nie kompiluje to sobie przypominam - na 5 minut.
piotrpo
Ja nie używam, bo prędzej czy później przyjdzie ktoś "sprytny" i dopisze sobie własny pakiet o identycznej nazwie, żeby dobrać się do bebechów. Dopiero moduły dają jakiś sensowny poziom izolacji, ale szkoda oddechu na zadawanie takich pytań.
jarekr000000
@piotrpo: tak po prawdzie to modyfikatory dostępu nie są po to, żeby ktoś się nie mógł dobrać. A co do modułów to ok, ale i scala i kotlin mają dobrze (dużo lepiej niż java przynajmniej) zrobione kwalifikatory dostępu nawet bez modułów.
jurek1980
Dziennikarz postanowił zrobić wywiad na uczelni technicznej. Jednym z podstawowych pytań było określenie czasu jaki potrzeba na opanowanie języka Java. Podchodzi do prof. dr hab. i pyta: - Panie profesorze, ile pan potrzebuje czasu, aby nauczyć się Javy? - No tak, aby dość dobrze się nią posługiwać to 7 lat. Idzie do doktora: - Panie doktorze, ile pan potrzebuje czasu, aby nauczyć się Javy? - Sądzę, że w ciągu 5 lat to bym się nauczył. Podchodzi do studenta ile potrzebujesz czasu, aby nauczyć się Javy? Na co student spojrzał się ze zdziwieniem i pyta: - A na kiedy trzeba?
tefu
@jarekr000000: "Dopiero w Szwajcarii zobaczyłem jak tacy programiści "się rodzą"." Nie wiem czy dobrze zrozumiałem. Miałeś na myśli, że dopiero za granicą zobaczyłeś, że istnieją ludzie pracujący w danym zawodzie X lat i mający solidne braki w podstawach? Btw, rozumiem, że Szwajcaria to tylko przykład, czy może jest coś konkretnie nie tak z IT w Szwajcarii?
ToTomki
  • Rejestracja:około 7 lat
  • Ostatnio:dzień
  • Postów:1320
5

Tak, dawajcie na zadania rekrutacyjne typowe zadania algorytmiczne. Odsiejecie tych, którym się nie chciało przygotować na spotkanie z Wami i zostanie Wam całe nikt, może 2 osoby, które niekoniecznie wpasują się w zespół. Ja już się nauczyłem, że do zadań algorytmicznych się człowiek nie przygotowuje. Jak ktoś to rył w młodym wieku to może mu to weszło w krew i pamięta rozwiązania na pamięć. Ja już ich nie pamiętam i serio szkoda mi czasu na przypominanie ich sobie, bo ta wiedza mi się do niczego nie przyda, a i tak wyleci mi z głowy. Może kilka firm mi przez to odpadnie, ale jakoś to przeżyję. Mam lepsze rzeczy do roboty w wolnym czasie niż przypominanie sobie zadanek, na ktorych na ogół odsiewa się studentów, w tym momencie na przykład uciekam na szybkie 10min nauki tureckiego, a potem jadę się szczepić :P

adams0
Skąd pomysł z tureckim :D ?
ToTomki
A dlaczego nie? Wielki kraj z wieloma ludźmi. Może w kryzysie, ale demograficznie stoi dobrze. Może przyda się język za parę lat, jest tam tanio, sam język fajnie brzmi. Niewiele osób z Unii mówi w tym języku, więc jakbym chciał robić kiedyś jakiś interes czy cos to mam fajniejsza pozycję. No i fajna ciekawostka, jednak nieindoeuropejski.
adams0
Solidne argumenty. Od kiedy się uczysz ?
ToTomki
Dopiero z dwa tygodnie ;), chociaż wcześniej też znałem parę zwrotów. Pewnie rzucę to za jakiś czas w cholerę, ale rzadko jestem do czegoś zmotywowany, więc korzystam z chęci póki mogę.
adams0
Trzymam kciuki.
AL
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 3 lata
  • Postów:1493
4

@ToTomki: zgoda i nie zgoda. Bo tak, uważam że sprawdzanie czy ktoś zna alg. Dijkstry na pamięć ("personal bias", bo sam na takim czymś kiedyś poleciałem. Wiedziałem który algorytm tam spasuje bo zadanie było iście podręcznikowe, ale miało być z głowy a po prostu nie pamiętałem go ;P) jest przeciwskuteczne poza rekrutacją do algorytmicznego R&D. Jednocześnie: przepraszam, ale o co pytać? Pamiętam kiedyś jak dali mi stringa do odwrócenia, napisałem std::reverse, rekruter nawet się ucieszył że bibliotekę standardową znam i nie drążył. Ale jeżeli kandydatowi wspomnianemu przez OP dasz Fibonacciego, nie pyknie (ok, zaciął się), potem fizzbuzza a na końcu okazuje się, że typ ma problem z pętlą for ogólnie to co masz myśleć?
I żeby nie było. Ja np. bardzo lubię zadania domowe. Ale popatrz ilu tu na forum marudzi, że hurrr, durr czas. To jak delikwenta sprawdzisz? Wszystkim nie dogodzisz, sorry ;p

edytowany 1x, ostatnio: alagner
ToTomki
A jednak taka osoba przez x lat sprawdzała się w jakimś projekcie, a po ewentualnym zatrudnieniu pewnie się też sprawdzi. I co wtedy myśleć? Ja też jestem zwolennikiem zadań domowych z tego względu.
AL
@ToTomki: z bólem serca stwierdzam, że niekoniecznie się sprawdzi. Jedna rzecz to seniorzy jednego projektu, druga - ludzie którym udało się przechować, bo zmiana jednej linijki w kodzie to dwa miesiące estymacji, a awans na seniora jest za staż.
AL
Tzn. co chcę powiedzieć: sprawdzali się (bądź przemykali na skutek bezwładu organizacji, ale to jeden pies) w konkretnym układzie i sprawdzą się w jednym konkretnym.
PerlMonk
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Warszawa 🐪
  • Postów:1719
2

@alagner: "Ale popatrz ilu tu na forum marudzi, że hurrr, durr czas." - akurat tutaj często jest na coś narzekanie i najlepiej w ogóle nie zadawać pytań na rozmowie, bo jeszcze wyjdzie, że miś tak naprawdę nic nie umie ;) .
W każdym razie godzina rozmowy to naprawdę mało czasu. Jeśli rekruter woli spędzić ten czas na klepaniu formułek, to trochę nie baudzo to wygląda.


Nie sztuka uciec gdy w dupie sztuciec. 🐪🐪🐪
AL
no cecha narodowa marudzić. ;)
PerlMonk
"Nie cierpię nie cierpieć" - powiedział Maruda :)
F9
  • Rejestracja:ponad 4 lata
  • Ostatnio:około 9 godzin
  • Postów:76
1

Jak się rekrutowałem do mojej pierwszej pracy jako junior oczywiście, to rozmowa kwalifikacyjna była najtrudniejszą rzeczą jaka mnie spotkała w tej robocie :) Nigdy potem nie użyłem tak zaawansowanych cech języka (c++). Jak aplikowałem do drugiej roboty to rozmowa obiektywnie była o wiele prostsza bo pytali po prostu o doświadczenie i luźna pogadanka o pisaniu kodu.
Padł tutaj temat odwracania ciągu tekstowego albo fibo. Zrobiłem oba tematy od razu w C++ i w Pythonie... ale z pomocą internetu. Fibo sam zaimplementowałem ale z wikipedią bo nie pamiętałem jak szedł ciąg na samym początku, natomiast string reverse sprawdziłem jak wygląda to dla cpp i pythona (pomijam samodzielną implementacje tego typu rzeczy).
Dokąd z tym zmierzam?
Otóż mam tak, że naprawdę nie mam pamięci do takich rzeczy, nie wiem jak inni :) Za 3 dni znowu zapomnę jak to szło z tym string reverse. Dlatego jestem zwolennikiem pisania kodu na rozmowie ale z IDE + internet. Obie moje rozmowy miałem z kodowaniem na kartce papieru, co uważam za niezbyt dobre podejście. Mam nadzieję, że to nie jest częsta praktyka i ja miałem pecha po prostu.
Natomiast zadania algorytmiczne tylko do domu, na spokojnie do przeanalizowania. Albo na rozmowie ale gdy naprawdę stanowisko pracy jest znacząco powiązane z algorytmiką. Inaczej nie widzę żadnego sensu w tego typu zadaniach.

W0
  • Rejestracja:ponad 12 lat
  • Ostatnio:około 7 godzin
  • Postów:3554
1
ToTomki napisał(a):

Tak, dawajcie na zadania rekrutacyjne typowe zadania algorytmiczne. Odsiejecie tych, którym się nie chciało przygotować na spotkanie z Wami i zostanie Wam całe nikt, może 2 osoby, które niekoniecznie wpasują się w zespół. Ja już się nauczyłem, że do zadań algorytmicznych się człowiek nie przygotowuje.

Nie rozumiem co to za podejście, że od biednego kandydata nie można nic wymagać bo jeszcze nie przejdzie :D

Szukasz człowieka do klepania CRUDów. I:

  • algorytmiki sprawdzić nie można - bo niepotrzebne
  • znajomości kontraktu hashCode/equals sprawdzić nie można - bo IDE generuje :D
  • znajomości standardowego API sprawdzić nie można - bo istnieje Google, a przecież funkcji i tak się nie pamięta
  • znajomości SQLa sprawdzić nie można - bo jest Hibernate

Jedyne co można to dać jakieś zadanie do domu, które kolega rozwiąże i wytłumaczy :D Trochę powagi, nikt przy tych zadaniach algorytmicznych nie wymaga od ciebie żebyś pisał quicksorta. W komentarzach napisałem już jeden ekstremalny przypadek - człowiek mający 10 lat doświadczenia miał Ideę, informację o metodach toCharArray(), getCharAt(i) i length() - i nie potrafił wypisać na standardowe wyjście odwrotnego Stringa - jeśli tak ma wyglądać mój przyszły współpracownik to faktycznie wolę pracować sam.

edytowany 1x, ostatnio: wartek01
Zobacz pozostały 1 komentarz
Schadoow
ogólnie jako ze ostatnio prowadze sporo rekrutacji to czesto sie łapie na choinke ja zadaje jakies pytanie przeciez sam jakbym nie powtarzał tego n-ty raz w tym tygodniu to bym zapomniał xD.
W0
Ty tak na serio twierdzisz, że napisanie czegoś takiego: for (int i=text.length()-1; i>=0; i--) System.out.print(text.charAt(i)); jest dla ciebie czymś trudniejszym niż wyklepanie quicksorta?
Schadoow
ja mowiłem akurat o efektywnym fibbonacim a nie odwórceniu tekstu ;p
W0
No dosyć wyraźnie napisałem, że nikt nie wymaga rzeczy wymagających specjalistycznej wiedzy z matmy.
Schadoow
ok źle doczytałem :).
AL
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 3 lata
  • Postów:1493
1

czasem chcą tego quicksorta i sprawdza to automat. Wtedy gorzej ;P
Ale odnoszę wrażenie, że większa ilość tego typu rekrutacji wynika - po części przynajmniej - z pewnego obniżenia poziomu kandydatów. Na początku do IT szli chyba tylko pasjonaci, bo to była nowa branża. Obecnie - jest kasa to ludzie się cisną. Ciężko się dziwić situ...

The Pontiff
  • Rejestracja:ponad 4 lata
  • Ostatnio:10 miesięcy
  • Postów:128
1

Oblicz sumę od 1 do N to też jest algorytmika?

AL
przy odpowiednio dużym N sprawdzenie czy wiesz co to jest integer overflow :P
W0
Ekstremalnie prosta, ale tak.
piotrpo
Jak ktoś pamięta (albo umie wyprowadzić) wzór na sumę ciągu arytmetycznego, to nawet można powiedzieć, że metody numeryczne.
AL
@piotrpo: pod tym komentarzem dałbym serduszko jakby się dało :D
KamilAdam
@alagner: proszę, skopiuj sobie 🌈 ❤️ 💛 💚 💙 🤍 🖤 🦄 :D
KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:5 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
7
wartek01 napisał(a):

Nie rozumiem co to za podejście, że od biednego kandydata nie można nic wymagać bo jeszcze nie przejdzie :D

Szukasz człowieka do klepania CRUDów. I:

  • algorytmiki sprawdzić nie można - bo niepotrzebne
  • znajomości kontraktu hashCode/equals sprawdzić nie można - bo IDE generuje :D
  • znajomości standardowego API sprawdzić nie można - bo istnieje Google, a przecież funkcji i tak się nie pamięta
  • znajomości SQLa sprawdzić nie można - bo jest Hibernate

IMHO najlepiej pytać z tego co jest używane w projekcie :) Czyli jak projekt to CRUDy na Springu i Hibernate to najlepiej pytać o REST, Springa i Hibernate, np problem N+1 selectów lub problem leniwego ładowania :)
BTW jak mnie pytają o Springa i Hibernate to już wiem że nie chce tam pracować :D
BTW2 na Scalę pytali mnie z Monad, Type Class (raz) i Case Class (przemaglowali chyba każde możliwe użycie). Z Type Class poległem bo nie umiałem napisać z palca w Scali 2. Wiem co to ale pisałem tylko w Haskellu :D


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
edytowany 2x, ostatnio: KamilAdam
jarekr000000
No niestety w Scali 2 pisanie typeclass jest mocno nieintuicyjne - jakiś czas temu próbowałem napisać z pamięci, bez internetu (ale nie na rozmowie) i też nie umiałem.
Silv
@KamilAdam: "Type Class", o którym piszesz, to coś z tym? -> https://en.wikipedia.org/wiki/Type_class
KamilAdam
@Silv: Tak. W Ruście ich uproszczonymi odpowiednikami są Traity, a w Swifcie - zdaje się że Protokoły. Porównanie TypeClass dla Haskella, Scali i Swifta
Silv
Dzięki. <uczy się czegoś nowego>
YourFrog2
  • Rejestracja:prawie 4 lata
  • Ostatnio:około 2 lata
  • Postów:100
4

Algorytmy tak ale po coś. Jakby mnie ktoś spytał o kolizje brył geometrycznych w game dev to bym się nie zdziwił ale jakbym aplikował do software house to walnąłbym WTF bo jak to niektórzy powiedzieli to nic nie sprawdza.

Najlepiej jest zaprosić kandydata z którym się luźno rozmawiało wcześniej przez telefon. Nie ukrywajmy jak się ma doświadczenie to czuć jest czy osoba Ci ściemnia czy nie. Zresztą można prosić o konto na githubie czy code wars. Jeśli po człowieku NIE MA śladu to są dwie opcje albo wymiatacz albo gość co nic nie potrafi.

Dać kandydatowi link do artykułu z objaśnieniem jakiegoś algorytmu i poprosić go o napisanie kodu na podstawie ów artykułu. Sprawdza się czy człowiek umie czytać ze zrozumieniem i czy potrafi zaimplementować to o czym przed chwilą się dowiedział. Braki w wiedzy o bibliotekach używanych w projekcie można szybko nadrobić, a to coś albo się ma albo nie.

@jarekr000000 miał 100% racji każdy z nas poleci na podstawach języka bo ich nie pamiętamy albo one są tak mało istotne że nigdy się ich nie musieliśmy uczyć. Ktoś tutaj przytoczył sprawę algorytmu Dijkstry NIE MA opcji żebym z głowy napisał Dijkstre czy A*, sortowanie bombelkowe czy quicksorta. Jakieś sortowanie napiszę ale jak ono się nazywa y....? To jest trochę jak z REST'em każdy używał ale nikt nie wie jak wygląda prawdziwy RESTFull i do czego są te wszystkie komendy :D

WhiteLightning
  • Rejestracja:prawie 14 lat
  • Ostatnio:około 12 godzin
  • Postów:3169
11

Pod katem procesu rekrutacyjnego zazdroszcze lekarzom. Idziesz pokazujesz papiery, ustalasz godziny pracy dogadujesz sie o stawke i tyle. Nikt nie pyta czy np. hobbistycznie operujesz kurczaki wieczorami, albo czy w ramach pet projectow leczysz sasiadow po godzinach.

edytowany 1x, ostatnio: WhiteLightning
Zobacz pozostały 1 komentarz
AL
@Terrored: bo za te naprawdę tłuste "bugi" traci się prawo wykonywania zawodu i idzie siedzieć ;p
SI
Egzamin potwierdzający najpierw prawo do wykonywania zawodu a potem egzamin potwierdzający wiedzę specjalizacyjna, 6 lat studiów + 1 rok stażu + 6 lat specki żeby tak ta rozmowa wyglądała. Nauczenie się i zrozumienie wszystkich leetcode hardow zajmie maksymalnie rok, więc chyba jednak podziękuję xD
cerrato
@WhiteLightning: rozumiem, że to napisałeś w formie żartu. Bo na pewno wiesz, że (w odróżnieniu od programisty, czy szerzej informatyka) nie wystarczy pasja albo jakieś szkolenie, tylko trzeba skończyć studia, odbyć praktyki, staże, zdać mega trudny egzamin państwowy.
WhiteLightning
@cerrato: oczywiscie ze wiem jak to wyglada, stad napisalem ze trzeba pokazac papier. Ale chyba wolalbym zdac jeden dodatkowy megatrudny egzamin jak bylem mlodszy, niz przygotowywac sie za kazdym razem z rzeczy ktorych nie uzywam na codzien i najprawdopodobniej nie uzyje.
MU
Bo nad lekarzem stoi prokurator i biegli sądowi za ewentualne "bugi na produkcji", a w przypadku programisty niezadowolony manager lub klient
Wawer0123
  • Rejestracja:prawie 4 lata
  • Ostatnio:ponad 3 lata
  • Postów:94
9

Tak widzę te Wasze rekrutacje w których pytanie o fibonaciego czy inne hashcody...

Zołnierz ma strzelać, a nie recytować regułki.
Programista ma pisać kod, projektować, a nie recytować regułki.

edytowany 1x, ostatnio: Wawer0123
ToTomki
Kawaleria powietrzna <3
p_agon
Ballada o lekkim zabawieniu..; Serce z kamienia <3
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
6

"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
AL
Odkąd poznałem lekarza antywacka to ostatnie pytanie przestało być śmieszne :p
szatkus
Komentarz pod tym filmikiem świetny
WhiteLightning
@Shalom: wlasnie ten filmik mnie zainspirowal :P
SA
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 2 lata
  • Postów:37
3

Wiele osób powyżej kwestionuje cel zadawania "pytanek algorytmicznych" na rozmowach. Według mnie akurat ten sposób sprawdzania wiedzy jest bardzo dobry. Już tłumaczę dlaczego. Zadania typu leetcode nie mają na celu zapamiętania ich rozwiązań, ale sprawdzenia logicznego myślenia, sposobu podejścia do problemu i poniekąd też inteligencji, poniewaz osoba bez jakiegokolwiek podloza analitycznego bedzie miala prawdopodobnie problem z rozwiazaniem trudnych zadan. 99% tych zadań bazuje na prostych strukturach danych, które powinny być znane (w mojej opinii) każdemu inżynierowi oprogramowania. A samych utartych algorytmów jest bardzo niewiele... wyszukiwanie binarne, dfs, bfs... Ciągle widzę przykład "Dijkstra na pamiec!!!" - otóż nie... Jestem ciekaw czy ktokolwiek spotkał się z tym, że musiał napisać go z głowy - a jeśli tak to firma w której sie rekrutował prawdopodobnie zle interpretuje ten zaciągnięty z zachodu "problem solving". Sam Fibonacci jest przecież podstawą podstaw, ale oczywiście każdemu może sie zapomnieć - Wtedy poproście rekrutera o pierwsze kilka liczb, po ich zobaczeniu pattern powinien być od razu widzialny... Nie twierdze, że skill w rozwiązaniu tych zadań nie słabnie wraz z czasem, ale zakładając scenariusz zmiany pracy co rok, czy nawet co pół roku... to czy nie warto poświęcić tego tygodnia na poćwiczenie? I dzięki temu zyskać potencjalnie ciekawszą pracę? Ludzie z doliny krzemowej raczej nie narzekają, że muszą poćwiczyć LC. Nie chce nikogo urazić, to tylko moja subiektywna opinia.

nowy_kret_2
w naszych warunkach z takiej wiedzy praktycznie nie korzystasz, pyta o to google bo nawet springa maja swojego, wszystko maja swoje wiec pytaja m.in z algo bo to im daje wartosc, pozniej masz jakies nearshory/sh ktore jada cargo i nie wiedza o co kaman a na koniec walisz sztampe technologiczna i bardziej pracujesz z cloud providerem i narzedziami niz z algo
piotrpo
Kandydat dostaje gotowy kod, naiwna implementacja wprost z definicji. Jak nie może się połapać, to ma to tłumaczone.
Shalom
czy nie warto poświęcić tego tygodnia na poćwiczenie? nie bo jeśli firma rekrutuje sprawdzając skille które nie są potrzebne w pracy, to znaczy że może ci się trafić cały zespół dzbanów którzy nie potrafią programować, ale zagadkę albo algorytm z pamięci napiszą od ręki.
nalik
Wszystko spoko, o ile wystarczy logiczne myślenie i podstawowa wiedza. Kiedy rozwiązanie wymaga zauważenia czegoś bardzo nieoczywistego albo znajomości trudniejszego algorytmu, to moim zdaniem nie jest to już systematyczne sprawdzenie kandydatów. Oczywiście warto podnosić poprzeczkę, by kandydat wykazał się w trudnej sytuacji, ale gdzieś jest ta granica przegięcia.
AL
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 3 lata
  • Postów:1493
0

@Snatch and Pizza: no właśnie Dijkstra z głowy mi się przytrafił w ramach codility (z kamerą i nagrywaniem pulpitu, zasady były jasne co wolno sprawdzać).

Ale tu nie ma sporu, o jakieś proste rzeczy typu binary search imho warto spytać, bo jak mówiłem - widywałem seniorów, którzy tego nie znali nawet z nazwy, a to powinno wszystkie alarmy odpalić momentalnie.

edytowany 1x, ostatnio: alagner
ToTomki
  • Rejestracja:około 7 lat
  • Ostatnio:dzień
  • Postów:1320
5
Snatch and Pizza napisał(a):

ale zakładając scenariusz zmiany pracy co rok, czy nawet co pół roku... to czy nie warto poświęcić tego tygodnia na poćwiczenie?

Nie. Bo mam dużo więcej innych ofert, do których ćwiczyć nie muszę. Tydzień na klepanie zadanek, które kiedyś rozwiązywałem, a teraz nie pamiętam (co pokazuje jak to dla mnie użyteczne), to bardzo dużo. Czasu nikt mi nie odda, a życie mamy jedno.

Edit. Ale co ja tam wiem, o binary search usłyszalem tylko raz, a przynajmniej tak mi się wydaje, na rozmowie rekrutacyjnej : P

Edit 2. Jednak nie, to bylo na teście do zrobienia w domu. Wygooglowalem i zadanie zrobilem raczej poprawnie : P

edytowany 2x, ostatnio: ToTomki
AL
„Fizzbuzz jest zadaniem które rekruter rzuca jak nie sam nie pamięta jak napisać wyszukiwanie binarne” (nie pamiętam źródła, chyba Kevlin Henney)
LO
  • Rejestracja:ponad 9 lat
  • Ostatnio:14 dni
  • Postów:30
1

Tak, powinni brać jak leci, nie zadawać pytań i dawać 5k na łapę bo komuś zamarzyło się wejść do mitycznego IT i zarabiać 15k. Wszystkie te zagadnienia, które przedstawił autor zna w stopniu przynajmniej przeciętnym każdy ogarnięty student 1. roku lub uczeń 3-4 klasy technikum informatycznego a na pewno też ktoś kto zwyczajnie interesuje się tematem. Nawet jeśli czegoś nie będzie wiedział to będzie w stanie coś sensownego powiedzieć o 3/4 przedstawionych przez autora tematów.

Zamiana rekurencji na iteracyjne podejście to była chyba 2. klasa technikum informatycznego? Pierwszy lub drugi semestr studiów i to nawet takich w wyższej szkole gotowania na gazie?

W necie są gotowe listy zagadnień z czego warto by było się przygotować do rozmowy na stanowisko juniora, mida i seniora. To nie jest wiedza tajemna i choćby z przyzwoitości wypadałoby dobrze poszukać i odrobinę się przygotować. Nigdy nie uda się przygotować w 100% ale wypada prezentować jakiś poziom. A czy to przydatne w pracy? Raz przydatne a raz nie ale na pewno pokazuje, że kandydat ma podstawową wiedzę i wyrobione pewne schematy myślenia. Tak jak kolega @YourFrog2 napisał implementowanie algorytmu z głowy może nie ma większego sensu ale za to przerobienie istniejącego kodu albo napisanie algorytmu z kartki/ticketu na ździrze to jest coś co robi się w pracy bardzo często.

Wg mnie to jest tak, że kilka lat temu sporadycznie ludziom nie mającym nic wspólnego z IT udawało się zostać programistą. Niekiedy nawet tacy ludzie wymiatali lepiej od klasycznie wykształconych rzemieślników(bo dla mnie to rzemiosło). Wokół tych nielicznych przypadków zbudowana została narracja, że IT to eldorado dla wszelkiej maści osób pragnących "odmienić" swoje życie. Nie, to nie jest żadne eldorado tylko branża jak każda inna w której chwilowo brakowało pracowników.

To były takie moje rozważania na temat: Dlaczego "juniorzy" nie mogą znaleźć pracy.

AL
Przy relatywnie dużych zarobkach i często niskiej odpowiedzialności to jednak bywa Eldorado, zwłaszcza przechodząc z innej branży. Przepraszam, ale „context is king”, jak wszędzie.
KamilAdam
Wszystkie te zagadnienia, które przedstawił autor zna w stopniu przynajmniej przeciętnym każdy ogarnięty student 1. roku lub uczeń 3-4 klasy technikum informatycznego a na pewno też ktoś kto zwyczajnie interesuje się tematem.Nie prawda żeby nie powiedzieć że kłamstwo. Różnica ArrayList i LinkedList to problem czysto Javowy. Python czy Swift mają jedną listę. Czyli można być seniorem Swifta, zarabiać duże pieniądze i nie wiedzieć że w jakieś Javie jest różnica między Listami. Czyli naginasz fakty pod teorię :P
LO
Przed rozmową rekrutacyjną warto sobie przypomnieć podstawy języka w którym zamierza się pracować i często wykorzysytywane złożone typy danych. Bez względu na to jaki to język ;) założyłem, że to oczywista oczywistość - niepotrzebnie jak widać. https://codeburst.io/review-these-50-questions-to-crack-your-java-programming-interview-69d03d746b7f
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:dzień
  • Lokalizacja:Wrocław
4

Ale to pytanie o implementację ciągu Fibonacciego to jest męczenie z algorytmów?
Serio ktoś takie coś potrafi w środku tygodnia przed południem i na trzeźwo napisać?

edytowany 1x, ostatnio: somekind
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 12 godzin
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4707
9

@alagner:

Ale tu nie ma sporu, o jakieś proste rzeczy typu binary search imho warto spytać, bo jak mówiłem - widywałem seniorów, którzy tego nie znali nawet z nazwy, a to powinno wszystkie alarmy odpalić momentalnie.

Na pewno kilka lat temu jakbyś mnie zapytał o algorytm dijkstry to bym zrobił tylko wielkie oczy. 20 lat programowania - co za porażka.
Żeby było śmieszniej to akurat potrafię i potrafiłem napisać z palca - tyle, że po prostu znałem to jako mało interesujący przypadek A*, a nazwa już mi dawno wyleciała z głowy.
Żeby było śmieszniej - jako programista typowego web devu nigdy żadnego A* nie musiałem pisać ani użyć - więc normalnie bym zupełnie zapomniał. Przypadek tylko, że siedziałem trochę w gauano game devie ( bo do indie temu było daleko).

Na szczęśćie nie jestem juniorem i w większości firm o kod i algorytmy mnie nawet nie pytają. Wystarczy długie CV... A potem się zastanawiam jak to możliwe, że kolega z równym mi stażem (zespół od klienta) nie umie napisać testu, nie umie użyć debuggera, a jak kod wykracza poza gettery i settery to wpada w panikę.
Ale za to obserwowanie jak dodaje losowo kolejne adnotacje z listy wszystkich możliych adnotacji jakie znalazł w sieci z nadzieją, że po deploymencie coś zadziała jest nawet satysfakcjonujące - zwłaszcza jak raz na kilka miesięcy coś mu zadziała.

Juniorze! Zamiast płacić bootcampa, zrób sobie zabieg postarzania skóry (może jakieś instensywne opalanie + odwodnienie), doklej brodę, sfejkuj CV - i tak tego nikt nie sprawda, zachlej na dzień przed rozmową, żeby były wory pod oczami i głos jak przepitego 20letniego programisty i startuj od razu na seniora lub tech leada.
Łatwiej się będzie dostać, a i kasa lepsza.
Warto może sobie poczytać o jakichś modnych technologiach i rzucać losowo nazwami, wymyśl ze dwa skróty sam na wypadek gdyby o coś pytali. Im bardziej absurdalne odpowiedzi dasz tym większa szansa, że rekruterzy uznają, że czegoś nie wiedzą i jesteś wymiataczem.


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 9x, ostatnio: jarekr000000
JA
"Na szczęśćie nie jestem juniorem i w większości firm o kod i algorytmy mnie nawet nie pytają." -- jakim cudem? Mnie nadal pytają o pierdoły (mimo prawie 2 dekad w CV), jakbym nie miał studiów skończonych; ostatnio kazali mi zrobić chamskiego CRUD-a w ramach zadania domowego -- podziękowałem, bo mam już dość zajmowania się takimi rzeczami (założyłem, że skoro dają mi coś takiego na zadanie, to w pracy nie będzie lepiej). EDIT: no dobra, jak ktoś ma NAZWISKO, być może nie pytają o pierdoły...
jarekr000000
@Jaime: nie sądze, żebym miał aż tak znane nazwisko. I po prawdzie, jeśli nie każą mi czasie rekrutacji kodować...to dziękuję (tzn. faktycznie to podwyższam stawkę na zaporową).
AL
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 3 lata
  • Postów:1493
2

@jarekr000000: ja znowu jestem bardziej programistą systemowym i chętnie bym zobaczył pytanie o kablorekina czy memory sanitizer albo inne core dumpy.
A debugger to chyba wszędzie podstawa.

I zgoda, niech to u Ciebie będzie pytanie o coś innego. U kumpla w projekcie (Java, Web) goście położyli aplikację zapytaniami do ogromnej bazy co trochę, bo nie wpadli żeby jakieś dane statystyczne policzyć przyrostowo. Tzn. koleżka wpadł, zrobił fixa, tłumaczy juniorom a oni do niego że pamięć jest tania ;)

Zresztą to nie chodzi o ten konkretny binary search, ale jak przy pięciu tego typu pytaniach z rzędu kandydat się wyglebia to przyznasz, że jednak zostawia to pewne złe wrażenie? Tzn. mówię, ja zawsze bardzo lubiłem zadania domowe i potem code review tego. Ale serio odwrócenie stringa (przykładowo) to nie jest coś czego należy unikać imho, chociażby jako wstępnego screeningu.

edytowany 1x, ostatnio: alagner
LukeJL
kablorekin xD aż musiałem sprawdzić w Google, co to.
AL
@LukeJL: nie wiem co pokazuje Google, ale chodziło mi o Wiresharka. ;)
LukeJL
@alagner no właśnie to mi wyskoczyło, Ale kablorekin brzmi lepiej.
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 12 godzin
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4707
4

U kumpla w projekcie (Java, Web) goście położyli aplikację zapytaniami do ogromnej bazy co trochę, bo nie wpadli żeby jakieś dane statystyczne policzyć przyrostowo

No i?

Czy to znaczy, że nie umieli?
Czy to znaczy, że nie odratowali tej aplikacji i one umarła?
Czy to znaczy, że zawsze OSZCZĘDZAJ RAM GDZIEKOLWIEK JESTEŚ?
Czy to znaczy, że kolega (ten od fixa) nigdy nie położy aplikacji?


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 1x, ostatnio: jarekr000000
RE
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 6 godzin
3

ależ dyskusja wyszła! Ja kiedyś miałem jakieś zadanka na złożoność obliczeniową itp. Firma opracowywała jakiś system oparty o real time. I tu się zgodzę to było dla nich ważne. Więc problemy algorytmiczne czy złożoności obliczeniowe jak najbardziej mają sens paść, byle miało to osadzenie w działalności firmy.
Jak ktoś szuka gościa do zrobienia stronki albo jakiegoś softu nie krytycznego obliczeniowo(czytaj większość softu w polsce) to nie widzę sensu pytania o coś więcej niż fibonacci. A na pewno nie widzę sensu w pytaniach z serii "damy ci link do codility".

Co do tego że ktoś nie wpadł na optymalizację X. Cóż jak widzicie że wydajność przysiada obojętnie czy na QA czy jakiś testach automatycznych , to najpierw próbujecie to poprawić a nie od razu "bo pan X czy Y zadał za dużo zapytań". Człowiek uczy się całe życie. Kto z nas się nie pomylił albo nie napisał spaghetti bo za plecami menago?


We are the 4p. Existence, as you know it, is over. We will add your biological and technological distinctiveness to our own. Resistance is futile
edytowany 1x, ostatnio: revcorey
Zobacz pozostały 1 komentarz
RE
@Miang: raczej miejcie testy, feedback, i róbcie oprogramowanie iteracyjnie. Chyba że testy prowadzi się na prodzie. Ale to mówi dużo ale to dużo o firmie wtedy. Soft się po prostu poprawia.
KamilAdam
@Miang: Są już bazy które zakazują wolnych zapytań. Jak Cassandra albo Impala. Ale one są jeszcze trudniejsze niż Postgres :D
Silv
@KamilAdam: a Apache Impali nie znałem. Ale Wiki pisze, że to "query engine"?
KamilAdam
@Silv: Ale Wiki pisze, że to "query engine"? Formalnie rzecz biorąc - tak. Myślę o tym jak o bazie, bo jak trafiają tam SQLe to już nie rozkładam tego na czynniki pierwsze. Moja wina
Silv
Wina – nie wina. Ja się ostatecznie na pewno nauczę poprawnie, nie przejmuj się, poradzę sobie; dobrze, że mi kierunek wskazujesz. :)
AL
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 3 lata
  • Postów:1493
3

@jarekr000000: no nie, ale pominąłeś już część „koleżka wpadł, zrobił fixa, tłumaczy juniorom a oni do niego że pamięć jest tania ;)” (w sensie: mentalnie tego nie potrafili przyjąć, za jakiś czas problem się znowu pojawił z analogicznych powodów).

edytowany 1x, ostatnio: alagner
RE
a kto robił review ? ;) Trzeba dobrego lead żeby takie coś ogarnąć.
Miang
jeszcze bywają juniorzy którym w założeniach wyraźnie napiszesz że mają np. nie robić zapytań select * from tabela tylko dawać warunki a i tak zrobią filtrowanie na froncie
AL
@revcorey: ztcp to jeszcze ktoś inny. Zresztą to nie jest clou, że aplikację wywalili. Bardziej, że ciężko było wytłumaczyć dlaczego, patrz post niżej.
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 12 godzin
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4707
2

@alagner: a wiesz co ten koleżka spier ... zepsół? I to po całości.


jeden i pół terabajta powinno wystarczyć każdemu
Zobacz pozostałe 5 komentarzy
jarekr000000
@revcorey: to wtedy płaci za ram, cpu i programistów. A to, że niektóre narzędzia do monitoringu mają absurdalne wręcz ceny to inna sprawa.
RE
najgorsze jest to że takie akcje na embeeded i tam już amen ramu czy cpu nie dorzucisz. Aż mnie w plecach strzela.
AL
@jarekr000000: no generalnie jest ale tu nie była :p analizowałem ten jego projekt od strony integracji i tam były takie ilości błędów u podstaw, że czacha dymi. Ale architekt klepnął bez czytania dokumentacji, co zrobisz :p
jarekr000000
Najczęściej poprawiam kod po seniorach :-) I znajduje tam takie rzeczy, że czasem zgłaszam, że projekt nie powinien działać na produkcji - bo np. miesza dane (i to osobowe) klientów... ale cóż - działa od lat, specjaliści zrobili.
Charles_Ray
Po seniorach poprawiasz, po juniorach przepisujesz na nowo xd
piotrpo
  • Rejestracja:ponad 7 lat
  • Ostatnio:dzień
  • Postów:3277
0

Jest jeszcze jeden aspekt w skali "makro". Jesteśmy Bangalore środkowej Europy.

  • Większość projektów jest banalna jak budowa cepa
    -> Nie ma sensu się uczyć
    -> Dostajesz trochę bardziej zaawansowany projekt, ale nie da się go zrobić, bo "nie ma sensu się uczyć"
    -> GOTO #1

I żeby nie było, w aktualnej firmie miałem okazję dotknąć / mieć zapłacone / bawić się:

  • geometrią analityczną
  • algorytmami grafowymi (w tym Dijkistra)
  • optymalizacją
  • AI
  • Big Data

Tymczasem:

  • Najprostsze możliwe pytanie z Java - męczenie kandydata regułkami
  • Najprostsze możliwe zadanie zbliżone do produkcyjnego - męczenie kandydata "algorytmiką"
  • Wymiana paru zdań po angielsku też pewnie źle
  • Zapytanie o podstawy frameworka, w którym niby coś tam robił - po co, to jest w Internecie, ważne jak sobie poradzi sklejając przypadkowe snippety ze SO
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:około 2 godziny
  • Postów:8410
1
ToTomki napisał(a):

Kiedy startowałem na juniora przeprowadzona była rekrutacja w formie testu na kilkanaście osób, a ja jako jedyny takie podstawy ślicznie umialem (teraz nie umiem). Jak rozmawiałem z ludźmi to mówili, że im trochę głupio, że na rekrutację przyszli tacy nieogarnięci,

Czemu głupio? Przecież to się tak robi, że się próbuje zapamiętać, jakie były pytania, a potem się sprawdza je w domu i na poprawce, tfu, na kolejnej rekrutacji już się wie, czego się nie wiedziało wcześniej. Więc nawet jak się nic nie wie, to nie jest to powód do tego, żeby było głupio, tylko element planu działania. Rozmowy o pracę są świetną metodą uzupełnienia wiedzy i dostania feedbacku "czego nam jeszcze brakuje".

Studia dobrze tego uczą (niezależnie od kierunku). Czyli błyskawicznego uzupełniania niezbędnej wiedzy wtedy, kiedy okaże się potrzebna. W kilka godzin przed egzaminem, albo po spalonym egzaminie na 2, żeby na poprawce dostać 5 itp.


edytowany 4x, ostatnio: LukeJL
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 12 godzin
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4707
6

@piotrpo:

Pracuje w Szwajcarii, jest dokładnie tak samo. Widocznie jesteśmy Bangalore Zachodniej Europy.

Uważam, że należy maglować rekrutowanych, ale.

U juniorów nie ma co się oburzać jak to nie wiedzą iluś tam podstaw, od tego są juniorami, żeby nie wiedzieć - trzeba szukać czy umie na tyle by był przydatny i nauczalny. Niestety, jak się jest rekruterem i trzepie juniorów to jakoś tak same z siebie odpalają się skłonności sadystyczne (można by pewnie na ten temat badanie zrobić).
Po drugie (co już pisałem), warto w ogóle sobie odpowiedzeć na pytanie czy nasza firma tego juniora i tak nie zmarnuje...(bo raczej tak się stanie).
Po trzecie, o wiele bardziej (niż to jest przyjęte) trzeba maglować midów i seniorów, nie wiem jak w Polsce, ale w CH jest dramat. Straty po juniorze, który nie umiał są zwykle nieduże - ot najwyżej bazkę dropnie. Seniorzy rozpierdolu potrafią doprowadzić firmę do bankructwa... (i pójdą wtedy do kolejnej).
(Tak sobie o dwóch gościach konkretnych przypomniałem, szkoda, że nie można wystawiać minusów przy technologiach na linkedin).


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 3x, ostatnio: jarekr000000
AL
małe dziecko - mały kłopot, duże dziecko... #przprszm ;) "Senior rozpierdolu" ftw!
TR
im więcej czytam Twoich postów, tym więcej przypomina mi się nazwisk seniorów roz...
YourFrog2
  • Rejestracja:prawie 4 lata
  • Ostatnio:około 2 lata
  • Postów:100
5

Panowie nie podniecajcie się bo każdy z nas miał doczynienia z szeroko pojętą optymalizacją. Tyle że większość z nich ograniczała się do zmniejszenia wywołań aplikacji trzecich (w tym mówię o dowolnym storage).

Jak bawię się wieczorami w game dev bez silników to faktycznie potrzebuje "umieć" trochę matematyki i algorytmiki. Ale w komercyjnym projekcie najczęściej to jest najzwyklejszy CRUD / Formatki.

Uwielbiam słuchać jak ludzie mówią że pracują przy BIG DATA, a tak naprawdę walą po prostu zapytania na apkę która jest "silnikiem" dobrze zoptymalizowanym pod dany problem. AI z jakim się spotkałem to tylko to w grach. Jeszcze nie widziałem aplikacji biznesowej gdzie potrzebna by była sztuczna inteligencja. Te wszystkie przerabianie zdjęć, postarzania ocry itp. To najczęśćiej dumnie stwierdzenie że AI pod spodem pracuje. A tam z tego AI to nic praktycznie się nie zgadza.

Są oczywiście dziedziny gdzie wydajność jest stawiana na równi z poprawnym wynikiem np samochody autonomiczne, rakiety (nie tylko kosmiczne) czy systemy wykrywania (np. samolotów). Ale na boga ilu z was tak naprawdę przy tym pracuje? Większość biznesu to klepanie sklepu, stronek, jakiegoś API opartego o inne api, coś z płatnościami, g**no aplikacje w telefonie itp. itd. Potrafie sobie wyobrazić że robimy autonomicznego robota np do giełdy i walczymy z innymi autonomicznymi robotami tam algorytmy będą MEGA ważne i będziemy się bić po głowach.

Kiedyś ktoś tutaj przytoczył blog riot'u związany z optymalizacją kodu w ich grach. I wiecie co? Wpis traktował o tym że arr[index] nie trafiał w cache procesora, a nie że używają złego algorytmu do indeksowania danych w strukturze.

Junior ma być juniorem. Ma potrafić sklepać proste problemy z którymi zmagamy się na codzień w pracy. Ja nie wiem jak zbzikowanym trzeba być by wysyłać juniora do części systemu który jest krytyczny wydajnościowo bez wstępnej rozmowy z nim o tym z czego ma skorzystać. A jeśli już nasz system cały jest krytyczny wydajnościowo to miejsca dla juniora w zespole NIE MA.

KamilAdam
Uwielbiam słuchać jak ludzie mówią że pracują przy BIG DATA też przy taki pracuje :D
YourFrog2
@KamilAdam: Kiedyś oglądałem jakiś wywiad z chłopakiem który zatrudnił się w google. Powiedział że fajnie jest tam pracować bo gdzie indziej mógłby sprawdzić jak jego program zachowuje się na 4 TB danych... I to było ładnych parę lat temu zanim BigData jeszcze się pojawiło :D
AL
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 3 lata
  • Postów:1493
0

A jeśli już nasz system cały jest krytyczny wydajnościowo to miejsca dla juniora w zespole NIE MA.

Nie tylko wydajnościowo.
Przy czym to jest układ idealny. Ale czasem szefostwu nie wyjaśnisz i potem masz wagon outsourcingu bo to ciągle taniej niż jeden lepszy inżynier albo przyhamowanie na 3 dni w celu zrewidowania procesu.

EDIT: btw, wychodzi z tego smutny obraz tego, że lata doświadczenia to sobie można w buty włożyć, bo to żadna metryka.

edytowany 1x, ostatnio: alagner
YourFrog2
Bo tak jest. Może przyjść 18 latek który nas wszystkich tutaj będzie bić na głowę :)
AL
@YourFrog2: i na zdrowie.
piotrpo
  • Rejestracja:ponad 7 lat
  • Ostatnio:dzień
  • Postów:3277
1
jarekr000000 napisał(a):

U juniorów nie ma co się oburzać jak to nie wiedzą iluś tam podstaw, od tego są juniorami, żeby nie wiedzieć - trzeba szukać czy umie na tyle by był przydatny i nauczalny. Niestety, jak się jest rekruterem i trzepie juniorów to jakoś tak same z siebie odpalają się skłonności sadystyczne (można by pewnie na ten temat badanie zrobić).

Ja się nie oburzam, nie te lata. Ja się co najwyżej dziwię. Nie jestem rekruterem, a skłonności sadystycznych nie mam. Najłatwiej udowodnić że ja się szybko uczę prezentując wiedzę, którą się zdobyło wcześniej.

Po drugie (co już pisałem), warto w ogóle sobie odpowiedzeć na pytanie czy nasza firma tego juniora i tak nie zmarnuje...(bo raczej tak się stanie).

Nie sądzę - jak na juniora jest sporo możliwości uczenia się nowych rzeczy, jest na to czas, jest kogo pytać o radę. Jak postanowi iść ciemną stroną mocy i losować adnotacje do Springa, to będzie to jego wybór :D

Po trzecie, o wiele bardziej (niż to jest przyjęte) trzeba maglować midów i seniorów, nie wiem jak w Polsce, ale w CH jest dramat. Straty po juniorze, który nie umiał są zwykle nieduże - ot najwyżej bazkę dropnie. Seniorzy rozpierdolu potrafią doprowadzić firmę do bankructwa... (i pójdą wtedy do kolejnej).

Zgadzam się, ale to jest jedynie kolejny wyraz tego samego ciągu. Kiepski junior, u kiepskiego seniora, po jakimś czasie zostaje za dupogodziny "midem", jak wszyscy uciekną z projektu, to staje się najbardziej doświadczonym graczem na boisku, a wiedza jak w dniu rekrutacji czasami.

edytowany 1x, ostatnio: piotrpo
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)