Wpis z mikrobloga

#anonimowemirkowyznania
Tak ciągle słyszę o tragicznej sytuacji na rynku juniorów ale stan wiedzy i podejście kandydatów to dramat. Ostatnio otworzyliśmy 2 pozycje na Junior Consultanta I po przesiewie zrobionym przez codility i HR ja prowadziłem rozmowy przez skype. Jestem w tej firmie tech leadem. Żaden z kandydatów nie potrafił zaimplementować quick sorta, żaden nie wiedział co to jest pamięć wirtualna, żadnej nie potrafił mi powiedzieć jak działa garbage collector oprócz tego że no... czyści pamięć. Jedyne co potrafiuli to napisać jakiegoś fora albo ifa. Oczywiście jak się pytałem jakie własne projekty zrobili to tylko jakieś gówno-aplikacje na zaliczenia na studia których nawet na githuba nie wstawili bo pewnie nie wiedzą co to. A najlepsze jak przyszło nam rozmawiać o finansach. Dwóch chciało 4-5k netto a trzeci 7k netto na start xD Gdzie ja zarabiam jako tech lead 11k w tej firmie a wcześniej robiłem tam 4 lata jako senior. To może jednak sutuacja nie jest tak tragiczna tylko chcecie kosmiczne pieniądze a nic nie umiecie?

#programista15k ♯programowanie #pracbaza #pracait ♯bekazpodludzi #rekrutacja ♯csharp ♯dotnet

Kliknij tutaj, aby odpowiedzieć w tym wątku anonimowo
Kliknij tutaj, aby wysłać OPowi anonimową wiadomość prywatną
ID: #5fe1fe2a4fbb67000ac1ef65
Post dodany za pomocą skryptu AnonimoweMirkoWyznania ( https://mirkowyznania.eu ) Zaakceptował: sokytsinolop
Wesprzyj projekt
  • 42
  • Odpowiedz
@daro1 idąc twoim tokiem rozumowania to w ogóle nie powinno się robić rozmowy rekrutacyjnej bo ktoś się może zestresować i wszystko jest w dokumentacji więc weźmy kogokolwiek bo sobie może doczytać xD. Takie jest dorosłe życie, musisz zasłużyć na pracę na danym stanowisku bez względu na stres.
  • Odpowiedz
@ehhhh: Spoko. Koleś który przez jakiś czas klepał jakieś projekty, nawet w tym pythonie, w JAVA czy C# też się może wyłożyć w przypadkach kiedy to w zasadzie miał w nosie GC bo wszystko działo się automatycznie. Mówimy tu jednak o zmierzeniu się na rozmowie z pytaniami (i problemami) z którymi gość nigdy albo prawie nigdy jeszcze nie miał do czynienia w pracy. Na czymś takim można odwalić praktycznie każdego.
  • Odpowiedz
Nie po to powstał GC żeby programista musiał wiedzieć jak działa GC bo GC ma go właśnie wyręczać z pierdół. Ty szukasz chyba kogoś do programowania w assemblerze systemu do sterowania wahadłowców a nie jakieś apki dla gównosklepu ( ͡° ͜ʖ ͡°)
  • Odpowiedz
@ciachostko: Ja nie mówię żeby nie robić rozmów rekrutacyjnych, tylko ja się zastanawiam nad sensem opierania ich o jakieś pytania z dupy. Zamiast tego działania GC może paść równie dobrze cokolwiek innego, na którym kogokolwiek można uwalić, bo akurat czegoś nie wie. A potem oczywiście najlepiej napisać jacy to kandydaci są do dupy.
  • Odpowiedz
@daro1 przecież ja nie każe komuś recytować jak działa GC linia po linii, a jedynie mieć ogólne pojęcie. Jak jesteś midem czy wyżej to nawet sam z ciekawości to sprawdzasz
  • Odpowiedz
@daro1: tak jak pytanie o quicksort z pamięci jest głupie, tak wiedza o działaniu GC jest przydatna, nawet kluczowa, żeby nie dopuścić do spalenia wszystkich serwerów w pierwszy dzień pracy ( ͡° ͜ʖ ͡°) No i pytanie o działanie GC jest jak najbardziej na miejscu przy rozmowie rekrutacyjnej - sprawdzamy, czy kandydat rozumie co się dzieje pod maską wysokopoziomowych języków (nikt nie każe mu klepać garbage collectora,
  • Odpowiedz
@ciachostko: Dobra ale w ilu przypadkach będziesz miał do czynienia z tym żeby to sprawdzać? Zależy co jeszcze programujesz. Ja jeszcze nigdy nie miałem do czynienia z takim problemem żeby zawracać sobie głowę jak działa GC. A programowałem w JAVA, C#, php, pythonie ale może za mało jeszcze widziałem i za mało przerabiałem. I dlatego właśnie to są takie przypadki, kiedy to nawet w miarę ogarniętych gości którzy pewnych rzeczy nie
  • Odpowiedz
@dziqs1987: To w sumie tak samo jak z dynamicznym typowaniem danych w PHP, pythonie czy innych temu podobnych językach programowania. Nie wszyscy tu chyba zdają sobie sprawę, po co powstały takie narzędzia do automatyzacji procesów i po co powstało dynamiczne typowanie danych. To ma z założenia ułatwiać programowanie a nie utrudniać. No dobra, może mi któryś z Wykopków tu poda link do konkretnego problemu w którym trzeba się zmagać z GC,
  • Odpowiedz
@daro1: ja tysiące razy przeglądałem GC logi jako konsultant od performance aplikacji na JVM. Do tego dochodzą różne flagi i czytanie heap dumpów. Chociaz to dużo bardziej pragmatyczne podejście, bo sam nie jestem w stanie opisać, co robi G1 czy jakieś nowsze wynalazki

Edit: żeby dodać trochę kontekstu, to na ogół aplikacje obsługujące spore ilości użytkowników (setki tysięcy lub więcej) albo low latency
  • Odpowiedz
@daro1: to również trochę kwestia ambicji bo dla mnie to możesz nawet nie wiedzieć jak odpalić jara z command line'a bo przecież jest intellij więc po co ci to wiedzieć, jednak niektórzy wgryzają się temat i lubią to po prostu wiedzieć lub pracują nad czymś, co faktycznie wymaga od nich takiej wiedzy.
  • Odpowiedz
wiedza o działaniu GC jest przydatna, nawet kluczowa, żeby nie dopuścić do spalenia wszystkich serwerów w pierwszy dzień pracy


@ehhhh: wiedza o GC to jest potrzebna, żeby je spalić. Przez 10 lat w ogóle nie wnikałem jak to działa i nigdy nie miałem problemów, byleby wiedzieć co disposowac trzeba ręcznie xD

Dopiero niedawno się w to wglebilem, i w sumie nic to w mój warsztat codzienny nie wniosło
  • Odpowiedz
@fortySeven: ale wg Janusza programowania to teraz jesteś gość. Żeby 'spalic' serwery to trzeba się naprawdę postarać, jak się w. NET korzysta z usingow i się zamyka wszystkie połączenia to ciężko o wyciek pamięci, ale ja nie jestem wykopowym programista 15k więc co ja tam wiem
  • Odpowiedz
@fortySeven: no ok, najprawdopodobniej w większości wypadków (zwłaszcza w progamowaniu webowym) problem pamięci nie jest jakoś mocno ważny i można sobie na to patrzeć bardziej swobodnie. Niemniej jest dużo przypadków kiedy tak nie jest i nie wiem, weźmy banalny przypadek (coby się nie odnosić do przypadków programowania niskopoziomowego albo korzystania ze sprzętu z naprawdę ograniczoną ilością pamięci) - jesteś data scientist, zapuszczasz sobie jakiś własny fetching, żeby sparsować wszystkie podstrony jakiegoś
  • Odpowiedz
@ehhhh: ja za to nie wiem jak w pytongu, ale w .NET ogarnięcie co, kiedy i jak disposowac zajmie juniorowi inteligentniejszemu niż orangutan max godzinę, i trzebaby by niesamowitym półgłówkiem, żeby doprowadzić do problematycznych wycieków. Za to zrozumienie jak działa GC to już znacznie wyższa szkoła jazdy - i w sumie przez ponad 10 lat pracy jeden raz w ogóle zwróciłem uwagę, ale to było na tyle specyficzne zastosowanie, że pewnie
  • Odpowiedz
@fortySeven: no wymaganie quicksorta to sie zgodze - przydatne tylko w jakiejs mocno algorytmicznej pracy.

no w pythonie masz automatyczny GC i jestem w stanie zaryzykować ztwierdzenie ze jakos 3/4 devów nawet o tym nie wie (wliczając wlasnie ludzi z data science, ai etc) i tak samo trzeba sie postarac zeby to zepsuc, z drugiej strony to jak ktos ma pecha to nawet w jakiejs mniej popularnej bibliotece zassanej z neta
  • Odpowiedz
SamotnaMarzycielka: @AnonimoweMirkoWyznania: Typie ale co ciebie interesuje czy ktoś robi lub nie robi pobocznych projektów i wrzuca lub nie wrzuca na githuba? W pracy liczy się wiedza przy projekcie a nie klepanie własnego contentu po godzinach. Tak samo quicksort i inne algorytmiczne ćwiczenia chłopie po co? Z marszu nie napisałbym quicksorta, nawet nie pamiętam dokładnego algorytmu (a kiedyś potrafiłem rozpisać na kartce przykładowe sortowanie liczb) ale ogólną ideę w jednym
  • Odpowiedz