Wpis z mikrobloga

#abstrakcjaprogramowania #naukaprogramowania #piszebomoge #rekrutacjawit

Wkurzaja mnie juz troche ciagle powtarzajace sie pytania w stylu "chcem na staz, 25k na reke o co mogom mnie pytac" - wiec postanowilem opisac sprawe nieco z mojej perspektywy.

A jest ona taka, ze w paru firmach zajmowalem sie rekrutacja - na roznym poziomie i w roznym stopniu, roznych ludzi i w roznyn wymiarze - jak i sam sie rekrutowalem tu i owdzie - i oto moj poglad na sprawe, czyli lista najwiekszych problemow ktore wystepuja przy rekrutacji, kolejnosc w sumie losowa:

1. Za przeproszeniem, sranie wyzej niz sie dupe ma, buta, chamstwo. Sytuacja na rynku wcale nie jest taka kolorowa jak sie wydaje ;) To jeszcze z czasow, gdy pracowalem w PHP, a wersja 5 byla calkiem swieza - szukalismy jakiegos flashowca - czasy swietnosci tej technologii, heh. Koles wiec wlazl do biura z rowerem, gadka szmatka. Costam umie podobno, ale portfolio nie ma, gotowych prac nie ma. Ostatni rok studiow chyba. Znajomosc PHP mierna, fotoszopa nie zna, cssy i htmle leża. Za taki pakiet zazyczyl sobie 7k na reke (ponad 10 lat temu!). Jak mu podziekowalismy to oburzony wyszedl, nie podajac reki i walac kolem od roweru w drzwi. ;) Inna sytuacja, calkiem swieza - gosc do programowania sieciowego (nie, nie webdev) - wszystkio fajnie, zajebiscie, wszystko obu stronom pasuje. Pytam go na koniec jeszcze - czy cos umie w JS albo innym HTMLu, bo team maly i moga sie inne zadania pojawic, firma mloda etc - koles odparl, ze on jest specjalista w swojej dziedzinie i od htmla to mozemy sobie zatrudniac hindusow. Chcielibyscie, np. bedac webdevami siedziec obok kogos, kto wami gardzi, heh?
To chyba takie dwa najciekawsze konkretne ekstremalne przypadki, ale sa i inne - sam mialem sytuacje, gdzie szukali kogos od Javy, zapytali mnie co sadze o PHP - a potem sie okazalo, ze tak naprawde to wiekszosc ludzi tam rzezbi wlasnie w PHP ;) Przypal. I to nawet nie o to chodzi co mysle o PHP, ale jak to wyrazam. Kultura jednak obowiazuje.
A szczegolnie smiesznie jest, jak ktos ma w CV codeacademy (nic zlego samo w sobie, nawet wskazane), a zgrywa seniora i oczekuje osobistej asystentki.
I tutaj uwaga - nie chodzi o NIE cenienie sie. To cos zupelnie innego i jest absolutnie wskazane. Ale jak ktos nie rozumie, ze dobry frontend to cos wiecej niz wyklikanie w dreamwaverze - no to coz.

Z tego co slysze od znajomych - banka rosnie coraz bardziej, tj. niektorym sie naprawde wydaje, ze przeczytanie ksiazki o javie do polowy to 10k, a do konca 15k od reki bez gadania. Dobrze wiemy, ze pieniadze sa tym biznesie - ale za darmo nikt ich nie daje. A rynek "gownoprogramistow" coraz bardziej nasycony... Generalnie nigdzie nie warto w zyciu sie sadzic ;)
A, i tutaj wpada tez "ale skonczylem studia" - o ile nie bylo to MIT, to dobrze wiesz jaka opinie maja studia w tym swiatku. Nie, ze studia sa zle - bron boze - tyle, ze traktowanie dyplomu jako dowodu ze cos sie umie w tej branzy raczej jest słabe.

2. Nieumiejetnosc myslenia. Tu chodzi przede wszystkim o to, ze wszyscy ucza sie jezyka. Do tego stopnia, ze nie maja pojecia jak dziala cokolwiek innego. Lezy i kwiczy znajomosc struktur danych, czasem nawet jak sa "wbudowane" w jezyk. Ogolnie jakakolwiek algorytmika ktora wykracza poza standardy (czyli sortowanie) - jest zle. Operacje grafowe to kosmos dla niektorych. Glupie trzymanie sie wzorcow z konkretnego jezyka - np. to, ze unit test zawsze musi testowac jedna i tylko jedna metode. Zbyt czeste poleganie na "magii" - slyszalem takie kwiatki, ze javowe foreach dziala tylko z wbudowanymi klasami albo np. ze iteratory to stara, juz nieuzywana metoda ;) Roznice miedzy listami a setami (to bardziej matematyka). Moim absolutnym "krolem" bylo pytanie jak policzyc pierwiastek z liczby bez uzywania wbudowanych funkcji sqrt. Na oko 70% ludzi robila sie biala, niektorzy dukali ze nie znaja sie na matematyce tylko sa programistami (tak tak) - jak sie domyslacie, nie chodzilo tu o podanie matematycznej formuly, a pokombinowanie - kazda odpowiedz, lacznie z brute-forcem byla "poprawna". Niestety, najgorzej brzmi - "eeeee, eeeee, eeee nie wiem, poddaje sie", zwlaszcza po 20 sekundach. Poza tym wypadaloby znac jakiekolwiek podstawy optymalizacj ;)

3. Testowanie. Lezy i kwiczy. Nie chodzi o formalne definicje "unit testu" ale o podstawy - a chodzi o poprawne pisanie kodu ktory da sie testowac. Malo ktos widzi cos zlego ze funkcja ma zhardkodowana operacje zapisu na przyklad. Kwiatki typu - "eee, no jak metoda ma byc testowana to musi byc publiczna". Mockowanie/stubowanie - a co to za magia? Testowanie wydajnosci - a co tam, opakowac kod w petle i wykonac 1000 razy. Ja rozumiem, ze testowanie nie jest seksi, ale to jednak czesc rzemiosla. A i trafiali sie tacy, co twierdzili, ze od testowania to sa testerzy a nie oni (patrz punkt 1) albo ze unity sa niepotrzebne, bo zabieraja czas :D Generalnie laczy sie to z punktem 2, no i troche z kolejnym, czyli

4. Narzedzia. Troche tak jak z Officem - to, ze umiesz zmienic kolor czcionki nie oznacza "znakomitej znajomosci Worda", tak samo umiejetnosc zrobienia commita nie oznacza "wysmienitej i doglebnej znajomosci GITa". Mozecie marudzic, ale nie kojarze firmy ktora apke produkcyjnie odpala klikajac strzalke w Eclipse albo wrzuca jary do katalogu obok apki. Ja wiem, ze to jeszcze mniej seksi niz testowanie - ale nadal to nic, czego nie mozna uzywac w domu nawet przy najmniejszym projekcie. Nikt nie oczekuje cudow, ale elementarna znajomosc, chociaz ze slyszenia i wiedzy do czego sluzy maven - to by sie jednak przydala, nie?.
Tutaj tez trafiaja wszelkie narzedzia typu debugger, profiler. Nie, println() nie jest dobra metoda debugowania. Nie, optymalizacja bez konkretnych danych nie przyniesie zysku. Slowem - warto znac swoje srodowisko.

5. Niedocenianie sie i niepokazywanie tego - przeciwnosc punktu 1 - ludzie pt "no tak, costam umiem, costam pisalem", czy - mam taki projekt, #!$%@? gierke, ale w domu na dysku etc. Chwalcie sie ludzie, ale z umiarem! Konto na githubie z DOBRYM projektem (dobrym technicznie, nawet jak wypisuje hello world). Jakies portfolio. Slowem - nie zgrywajcie przegrywa :P Ja wiem, ze to brzmi troche jak "nie badz za madry ani za glupi" - ale taka tez prawda. Raz trafilem na kolesia co przyniosl swoja apke na komorke - sciagala jakiestam obrazki (no to bylo w czasach gdy malo kto mial smartfona) - dobre pol godziny gadalismy o tym jak ja pisal (mimo, ze wtedy nie wiedzialem nic o pisaniu apek).
Slowem - chodzi o pokazanie, ze umie sie cos zrobic do konca.
A najlepiej - jak ma punkty 3 i 4, czyli testy i sensowne narzedzia.

tl;dr;

  • 44
no ale ta firma tez gardzi czlowiekiem oczekujac ze bedzie robil wszystko, ludzie uciekaja od takich firm bo moga sobie sami w domu zrobic firme i robic wszystko, nie wiem czy dzisiaj nie powstaly kolejne frameworki JS a ludzie chca miec tez po pracy wolne jak w innych zawodach


@bazingaxl: to bardziej dotyczylo kultury niz konkretnej pracy - mozna powiedziec, ze "nie znam sie za bardzo na tym" albo "ze raczej
@bazingaxl: to raczej kwestia jakim sie jest człowiekiem. Czy uważasz, ze sprzątaczka jest gorsza, bo sprząta i mniej zarabia? Ja nie, i i ile uczciwie pracuje to nie krze powodu by ja traktować gorzej - a miałem okazje dotykać takich, co to gardzili wszystkimi wokoło, bo oni, zwykle miernie, ale programują.
Tak samo nie uważam zeby komuś spadła z głowy korona jak za swoją stawkę programisty raz na ruski rok posprząta
@bazingaxl: a i te stawki to masz mocno z dupy - 100 funtów na godzinę to ma może prezes, 400-500 płaca na kontraktach najlepszym ake dziennie, co daje 50 na godzinę, ale brutto - minus podatek, NI i wychodź ok 33.
@Midnightwish: jak nie masz nic innego i szukasz staży czy pierwszej pracy to pewnie, ze wszelkie takie certyfikaty z udemy czy innych są na plus. Niewielki, ale na pewno na plus.
Jak jednak aplikujesz na seniora to wypadałoby by jednak mieć coś więcej...
@M4ks: temu programiscie co nie nie chciał nic robić w JS albo htmlu to się nie dziwie, facet miał w 100% rację. Równie dobrze można by jeszcze mu powiedzieć żeby posprzątał piętro czasem no bo mała firma i na sprzątaczkę nie styka.
@faun69: Do webdeva nie zatrudniasz specjalisty od czego innego tylko raczej studenciaka albo kogoś kto nic innego nie potrafi. No albo hindusa ( ͡° ͜ʖ ͡°) Ja bym nie przyjął takiej pracy gdzie ktoś jeszcze chciałby mi dorzucić webdeva do moich obowiązków.