• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Różnica w poziomach trudności zadań programistycznych

0 głosów
175 wizyt
pytanie zadane 20 czerwca w Rozwój zawodowy, nauka, szkoła, praca przez coderCpp93 Gaduła (3,990 p.)

Witam

Od kąd "wyjrzałem" poza świat Polskich programistów, m.in. korzystając z różnych stron typu Topcoder, Hackerrank i subskrybując programistów na YT ze Stanów, zauważam coraz częściej pewną różnicę w poziomach trudności zadań i oczekiwaniami od programisty.

Nie wiem, powiedzmy zaimplementowanie sortowania bąbelkowego, jest łatwe, a w Stanach łatwe jest np. napisanie symulatora enigmy. Sortowanie bąbelkowe nie wchodzi tam w rachubę, bo oczywiste jest, że każdy to zrobi nawet pierwszego dnia nauki, ba zrobi całe GUI. 

Niech przykładem będą poniższe listy zadań. Według mnie niektóre zadania z poziomem trudności "łatwe" wcale takie nie są.

Według rankingu na stronie Hackerrank na pierwszych miejscach krajów, które najskuteczniej rozwiazują zadania znajdujące się na tejże stronie są kolejno: Chiny, Rosja, Polska. A wspomniane wcześniej USA znajduje się na 29 miejscu. Mam wrażenie, że wynika to z tego, iż w Polsce jest więcej programistów-samouków, którzy nie mają jeszcze pracy i mają czas na rozwiązywanie takich zadań.

Mam pytanie, czy też coś takiego odczuwacie. Może to wynika z tego, że wielu ludzi podejmuje się nauki za pomocą płatnych kursów i bootcampów, dzięki czemu nauka idzie im szybciej. Dzięki za odpowiedzi 

2 odpowiedzi

+1 głos
odpowiedź 20 czerwca przez adrian17 Mędrzec (193,840 p.)
edycja 20 czerwca przez adrian17

Pierwsze dwa rzędy wyników z Twojego linka to standardowa lista tematów projektów z /g/ :P To jest lista projektów dla ludzi którzy nie mają weny i szukają pomysłu na coś fajnego do stworzenia.

Lista projektów do zrobienia w domu to zupełnie inny wymiar oczekiwań (w tym poświęconego czasu) od "zadań" które byś dostał na rozmowie o pracę. Zadanie masz zrobić w kwadrans (ew zadanie "domowe" w parę godzin), a nad "własnymi" projektami można siedzieć tygodniami i cyzelować, bo nie mają ustalonego końca.

a w Stanach łatwe jest np. napisanie symulatora enigmy

I w Stanach, i w Polsce na rozmowie o pracę możesz dostać słynne pytanie o FizzBuzza, którego złożoność sprowadza się do "czy umiesz pisać if-a i czy rozumiesz dzielenie z resztą", a i tak spory procent kandydatów na tym wysiada ;)

(EDIT: fakt, że w tej liście "easy" ma dość duży rozrzut: traktowałbym to bardziej jako "zajmie mało czasu, jeśli znasz fundamentalne podstawy tej dziedziny a resztę nauczysz się po drodze". Na przykład projekt "imageboard" powinien być dość prosty i zająć dość mało czasu, ale dla osób które już nauczyły się podstaw tworzenia jakichkolwiek stron internetowych z backendem, a nie dla osób które znają C++a)

komentarz 20 czerwca przez tkz Gaduła (3,820 p.)
Akurat co do rozrzutu pytań sam mogę potwierdzić. Dostałem pytanie plus zadanie z wielowątkowości, pytania o wskaźniki, ich arytmetyka oraz sytuacje wyjątkowe z nimi związane. Znajomy w innej firmie dostał do "naprawy" wyciek pamięci. Oba stanowiska juniorskie, w nazwie...
komentarz 20 czerwca przez Tomek Sochacki Mędrzec (186,810 p.)

Oba stanowiska juniorskie, w nazwie...

a wg mnie to właśnie jak najbardziej stanowisko juniorskie.

komentarz 20 czerwca przez tkz Gaduła (3,820 p.)
Oczywiście, no może oprócz tej wielowątkowości, główny zamiar mojej wypowiedzi byl skierowany na rozrzut w wiedzy
1
komentarz 20 czerwca przez marcin99b Maniak (64,550 p.)

Są też firmy, a nawet sporo, które robią juniorom rekrutacje na poziomie mida, żeby sprawdzić czy może oni nadają się już na regulara

Głupio byłoby mieć poziom regulara, ale nie dostać żadnego pytania ponad podstawy podstaw, aby móc się wykazać 

Są też firmy które nie szukają juniorów przy dolnej granicy tego poziomu - jak już szukają juniorów, to tych "prawie mid'ów"

Także mówienie że coś trzeba było zrobić na rekrutacji na juniora, jest troche bez sensu, ja na niektórych rozmowach na juniora miałem pytania o szczegóły działania pewnych rzeczy pod spodem i zostałem wyceniony na regulara 
Na innych rozmowach pytania ograniczały się do absolutnych podstaw i zrobiłem kilka głupich błędów przez stresującą atmosfere i mnie odrzucili 

komentarz 20 czerwca przez Tomek Sochacki Mędrzec (186,810 p.)
dokładnie Marcin, i taki junior może wtedy np. przez rok wdrożyć się w cały system pracy, narzędzia itp. i szybko awansować na mida i robić dobre ficzery biznesowe.

A wiele osób typowo po bootcampach nie są w stanie ogarnąć dobrze nieco bardziej skomplikowanych ficzerów i są nastawione w mojej ocenie głównie na robienie prostych stronek www, a do pracy przy normalnych aplikacjach dużo im brakuje, a jednocześnie wiele takich osób nie ma pokory i bardzo duże mniemanie o sobie i wymagania. Na przykład ze świata JS, jak można twierdzić, że na bootcampie się uczyło zaawansowanego JS i nie umieć odpowiedzieć na proste pytania o XHR, jakieś proste odp. np. kiedy użybyś statusu 204, kiedy 422 itp. itd. Albo jakie nagłówki byś ustawił w tej i tej sytuacji itp. To ja nie wiem co na tych bootcampach jest...
komentarz 20 czerwca przez marcin99b Maniak (64,550 p.)
Pewnie najszybsza droga do zrobienia pełnej działającej aplikacji

Tylko pytanie czy takie uczenie się jest złe? Według mnie najlepsza droga to poznawanie rzeczy ogólnych, bez zaprzątania sobie głowy szczegółami
A dopiero później wchodzenie coraz głębiej

Osoba która dopiero zaczyna nie musi znać szczegółów działania http, wystarczy że wie o istnieniu tego i wie, że tym można przesłać jakieś dane

Dopiero jak ktoś chce wyjść poza ten poziom "kompletny początkujący" - powinien skupiać się na tym, jak coś działa pod spodem

Według mnie większym problemem niż poziom bootcampów jest to, że ludzie po nich nie chcą, lub nie potrafią sami wchodzić w szczegóły
Przykładowo, ktoś coś gadał że jest jakiś garbage collector - ale ile osób sprawdzi, nawet ogólnie, czym on tak właściwie jest?
Ale to bardziej kwestia typu osobowości i wychowania

Są osoby które czują niechęć do wchodzenia w szczegóły (to ten sam typ osób które nie próbują wielu rzeczy, bo boją się że zepsują)
I są osoby które nie wytrzymają bez wiedzy, na jakiej zasadzie coś działa (powiesz mu o czymś, a on dopytuje "a dlaczego akurat tak?", "a jakim prawem to działa?")
komentarz 21 czerwca przez Tomek Sochacki Mędrzec (186,810 p.)

Są osoby które czują niechęć do wchodzenia w szczegóły (to ten sam typ osób które nie próbują wielu rzeczy, bo boją się że zepsują)
I są osoby które nie wytrzymają bez wiedzy, na jakiej zasadzie coś działa (powiesz mu o czymś, a on dopytuje "a dlaczego akurat tak?", "a jakim prawem to działa?")

i tu moim zdaniem warto postawić kropkę bo dla mnie jest to idealna definicja dobrego i słabego  programisty.

komentarz 21 czerwca przez tkz Gaduła (3,820 p.)
Można to powiedzieć o każdym zawodzie. Tak na prawdę wiedza na pewnym poziomie wystarczy na utrzymanie się na rynku, bez zagłębiania się w szczegóły.
0 głosów
odpowiedź 20 czerwca przez Tomek Sochacki Mędrzec (186,810 p.)
Moim zdaniem całe to zamieszanie wokół trudności zostania juniorem itp. wynika z faktu, że wiele osób uważa, iż junior to osoba, która dopiero zaczyna się uczyć. Bzdura, w mojej opinii junior to osoba, która potrafi samodzielnie napisać złożoną aplikację, swobodnie porusza się w języku, zna wiele metod, trendów itp., umiec pisać choćby proste testy jednostkowe (ja nie wyobrażam sobie aplikacji bez testów.. dla mnie takie coś to bzdura i bezsens), umie poruszać się w narzędziach itp.

Wiele osób w moim odczuciu myli juniora z tym, co powinien umieć i robić stażysta czy praktykant. Junior to taki regular, który po prostu potrzebuje nieco więcej czasu na rozwiązanie niektórych problemów i doszlifowanie wiedzy z narzędzi, jakiś corner casow językowych itp. itd. Natomiast junior powinien biegle umieć pracować z dokumentacją, SO itp. Czyli w moim odczuciu junior to na pewno nie osoba, która z każdym problemem leci na forum itp. tylko sama umie znaleźć rozwiązanie.

I jeśli tak na to spojrzeć to nie ma zadań trudnych, są tylko takie, które po prostu wymagają nieco więcej czasu. Nie wiesz np. jak zrobić jakiś algorytm sortujący? Zbierz dokładnie kryteria biznesowe, poczytaj, poszukaj jak robią to inni i napisz, ot tyle.

Podobne pytania

0 głosów
2 odpowiedzi 1,856 wizyt
0 głosów
3 odpowiedzi 2,713 wizyt
+1 głos
2 odpowiedzi 124 wizyt
pytanie zadane 21 sierpnia 2015 w Rozwój zawodowy, nauka, szkoła, praca przez falauthy Stary wyjadacz (11,620 p.)
Porady nie od parady
Publikując kody źródłowe korzystaj ze specjalnego bloczku koloryzującego składnię (przycisk z napisem code w edytorze). Nie zapomnij o ustawieniu odpowiedniego języka z rozwijanego menu oraz czytelnym formatowaniu kodu.Przycisk code

65,727 zapytań

112,367 odpowiedzi

237,225 komentarzy

46,687 pasjonatów

Przeglądających: 135
Pasjonatów: 0 Gości: 135

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...