Dostałem właśnie maila od Google AdSense. Google grozi, że zablokuje serwis 4programmers.net ponieważ regulamin zabrania wyświetlania na stronach zdjęć pornograficznych. Chodzi o wątek http://4programmers.net/Forum/C_i_C++/188747-trojkat_pascala_-_problem_z_1_tablica
Czyżby chodzi o słowo "trójkąt" w tytule? ;) Google przeszło samego siebie.
#wtf #4programmers.net
@Adam Boduch: tylko czekać jak zagrożą zablokowaniem strony bo... adres zaczyna się od cyfry a nie litery...
Zlecenie na program w Javie: piszę o szczegóły. W odpowiedzi link do zadania i pytanie czy zrobię to za darmo czy chcę doładowanie za 15 zł.
#humor #wtf
@Wizzie: Zależy od zlecenia. Hello world za doładowanie 20 zł to czemu nie :).
Miał już być ostatni wpis rekrutacyjny, ale uznałem że warto napisać o jeszcze jednej sytuacji, tym razem z naszego lokalnego, krajowego podwórka. Otóż rozsyłając CV jedno z nich trafiło do pewnej dużej firmy z oddziałem w jednym z dużych polskich miast. Średni czas odpowiedzi
działu rekrutacji w tej firmie wynosi 2 tygodnie
(low latency to to nie jest) :D Od wysłania CV do pierwszego kontaktu minęło trochę czasu (ale tu różnie bywa, czasem firmy są zasypane pracą) więc dostałem maila z pytaniem czy nadal jestem zainteresowany procesem rekrutacyjnym.
Po udzieleniu odpowiedzi że "jestem" czekałem prawie 3 tygodnie
(!) na kolejną wiadomość z pytaniem "kiedy byłbym dostępny na interview".
Dla kontrastu warto zaznaczyć, że cały proces rekrutacji
w jednej z firm o których wspomniałem w poprzednich wpisach, trwał mniej niż 3 tygodnie
. Od czasu wysłania CV, poprzez rozmowę telefoniczną, testy z pisania kodu online / rozwiązywania przesłanych zadań, lot na rozmowę na miejscu, aż do przedstawienia mi oferty. W czasie kiedy jedna firma skrobie maila na 3 zdania, inna jest w stanie przeprowadzić cały proces rekrutacyjny (fakt faktem, oni akurat zajmują się trochę rozwiązaniami low-latency ;]). Pewnie tamta rekrutacja byłaby jeszcze szybsza, ale spowolnił ją fakt, że na interview na miejscu musiałem lecieć ;]
#interview #rekrutacja #wtf
Dla tych którzy śledzili mój ostatni wpis -> http://4programmers.net/Mikroblogi/View/3311#entry-3311 dzisiaj część druga!
Po opisywanej wcześniej rozmowie udało mi się jednak zakwalifikować do kolejnego "etapu", którym było napisanie programu rozwiązującego zadany problem. Problem sam w sobie był raczej banalny (parsowanie określonego formatu wejściowego plus odpowiednio zmodyfikowany algorytm Dijkstry), ale w wytycznych było zaznaczone żeby wziąć pod uwagę kwestie związane z utrzymaniem i jakością kodu. Co prawda zadanie było algorytmiczne, coś jak ze SPOJa (z tą różnicą że miało raportować błędy w danych wejściowych w dość dokładny sposób), ale uznałem że skoro jest trywialnie proste i podkreślili żeby brać pod uwagę aspekty jakościowe to warto napisać to elegancko. Tak też uczyniłem, dzieląc wszystko na ładne, małe klasy i wydzielając odpowiednie interfejsy. Same obliczenia zajmowały oczywiście raptem kilka dość jasnych i trywialnych linijek, częściowo dzięki Javie 8, częściowo dzięki sensownie wydzielonych klasach.
Dzisiaj dostałem feedback i wg. programistów którzy robili code review mojego rozwiązania, co prawda działa ono całkiem poprawnie, ale mieli zastrzeżenia co do "jakości":
W kodzie brakowało komentarzy
. Przyznaje się - wolę spędzić 10 minut na sensownym nazywaniu metody, jej parametrów, nazw zmiennych i nazw klas, dzieląc na mniejsze kawałki jeśli potrzeba, zamiast wstawić w kodzie komentarz. Jak widać dla niektórych jest to błędne podejście :(Napisałem zbyt skomplikowany kod, robiąc masę pakietów i klas, a przecież można było to całe zadanie stuknąć w main
. Jak widać mamy rozbieżne pojęcie "skomplikowanego" i "prostego" kodu, a także jak pisze się kod z myślą o jego późniejszym "utrzymaniu" (co było zaznaczone nawet w treści zadania!).Niestety w związku z powyższym nie są zainteresowani moją kandydaturą, bo oni bardzo dbają o jakość swojego kodu
. Wspomnę tylko, bo w ostatnim wpisie im tego oszczędziłem, że jest to firma która:
#interview #wtf #humor #praca #code-quality
Nie ma potrzeby ujawiać co to za firma, bo to mała firma z UK jakich setki. Szansa że ktoś z was na nich kiedyś trafi jest raczej znikoma ;)
@Shalom: Czy to była firma z muzyką w nazwie? Bo wszystko brzmi tak jakby znajomo... Choć prawda jest taka, że takich firm pewnie jest multum (ale na zachodzie przy takich kosztach pracy to działa...?)...
Miałem wczoraj rozmowę (telefonicznie) rekrutacyjną w jakiejś randomowej firmie (akurat jakaś headhunterka mnie spamowała na linkedin czy bym nie chciał się tam rekrutować to jej odpisałem, że czemu by nie). Rozmowę miałem z koderem i koderką z tej firmy.
WTF 1 - Oboje mają mniej doświadczenia ode mnie, zarówno w programowaniu jako takim jak i w samej Javie (rekrutacja dotyczyła pozycji developera javy)
WTF 2 - Ta laska ma raptem pół roku doświadczenia :D
WTF 3 - Zadają pytania na poziomie: czym się rózni arraylist od linkedlist (w sumie nie dziwota, przypuszczam że na trudniejsze pytania po prostu sami nie znaliby odpowiedzi :D)
WTF 4 - Jak w końcu przeszli na sensowniejszy temat - współbieżność - i się pytali jak walczyć z race conditions, deadlockami etc to im opowiadam o statelessness, immutability, barierach, latchach, reentrant lockach i innych cudach o których można poczytac w Java Concurrency in Practice, a oni niezadowoleni. Okazuje się że oni by chcieli posłuchać o algorytmie bankiera i o tych innych zabawnych teoretycznych rozważaniach, które w prawdziwym życiu nie mają prawa zadziałać... Znów nie ma się co dziwić - pewnie jedyne problemy ze współbieznością jakie widzieli w życiu to właśnie na uczelni :D
Jednocześnie obawiałem się, że mogłem tej rozmowy nie przejść, bo miałem wrażenie że trochę przesadziłem z poziomem odpowiedzi. No ale jak ktoś mi zadaje pytanie "czym się różni overloading od overriddingu metod" to aż wstyd było nie powiedzieć o tym czym są typy kowariantne i kontrawariantne i dlaczego, wbrew obiegowej opinii, da się zmieniać typ parametrów metod (a w niektórych językach nawet i typ zwracanej wartości) w podklasach i nadal będzie to override a nie overload. Albo jak ktoś wyskakuje z pytaniem "jak działa hashmap" to aż sie prosi żeby opowiedzieć o różnych sposobach implementacji, różnych metodach rozwiązywania konfliktów i różnych sposobach na zapewnienie współbieznego dostępu.
Miałem dziwne wrażenie że "tracę rozmówców" jak zaczynam wchodzić w jakieś ciekawsze szczegóły. Co to za pomysł żeby kogoś na poziomie regular/senior rekrutowali ludzie na poziomie stażysta/junior? o_O
#interview #wtf #humor #praca
@Shalom: ad WTF 1 - moze w firmie brakuje bardziej doswiadczonych ludzi i wystawili kogo mieli najlepszego?
ad WTF2 - moze sie uczyla jak wyglada rekrutacja w praktyce?
ad WTF3 - jesli nie miales okazji tego samemu robic pogadaj z ludzmi ktorzy prowadza rekrutacje, zwlaszcza w firmach ktore ni emaja topowej marki, produktu etc. i zapytaj ile osob wie jakim poleceniem
sprawdzic aktualny katalog na Linuxie. Na rozmowie nie chcodzi o to by kogos zagiac, ale sprawdzic co faktycznie wie, poza tym takie pytanie mozna potraktowac jaki dobry 'opener'. A po tym jak ktos odpowiada widzisz czy rozumie temat czy nie. Do tego patrzy sie tez na cechy osobowe, jesli widac ze ktos ma podejscie 'God Mode On' - jest spora szansa ze bedzie z nim ciezko pracowac zespolowo, a w wielu projektach to sie liczy najbardziej.
@krzysiek050: murica...