• 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

VPS Starter Arubacloud
0 głosów
398 wizyt
pytanie zadane 20 czerwca 2019 w Rozwój zawodowy, nauka, praca przez coderCpp93 Gaduła (4,200 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

0 głosów
odpowiedź 20 czerwca 2019 przez adrian17 Ekspert (344,100 p.)
edycja 20 czerwca 2019 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 2019 przez tkz Nałogowiec (42,000 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 2019 przez Tomek Sochacki Ekspert (227,510 p.)

Oba stanowiska juniorskie, w nazwie...

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

komentarz 20 czerwca 2019 przez tkz Nałogowiec (42,000 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 2019 przez marcin99b Szeryf (81,480 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 2019 przez Tomek Sochacki Ekspert (227,510 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 2019 przez marcin99b Szeryf (81,480 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 2019 przez Tomek Sochacki Ekspert (227,510 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 2019 przez tkz Nałogowiec (42,000 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 2019 przez Tomek Sochacki Ekspert (227,510 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
5 odpowiedzi 559 wizyt
0 głosów
0 odpowiedzi 97 wizyt
0 głosów
0 odpowiedzi 399 wizyt
pytanie zadane 10 listopada 2019 w Rozwój zawodowy, nauka, praca przez Wisien Nowicjusz (200 p.)

92,454 zapytań

141,262 odpowiedzi

319,089 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...