Jak przeprowadza się wywiady z programistami Scala? Jakie aspekty szuka ankieter podczas rozmowy z programistą Scala?
Jak przeprowadza się wywiady z programistami Scala? Jakie aspekty szuka ankieter podczas rozmowy z programistą Scala?
Odpowiedzi:
Po pierwsze, powiem, zastanów się, dlaczego potrzebujesz programisty Scala. Czy naprawdę potrzebujesz Scali? Pomyśl o tym, co przychodzi wraz ze Scalą (IDE, narzędzia do budowania, biblioteki lib, kolejna warstwa złożoności powyżej Java itp.) Powrót do pytania Ma dwa aspekty: teoretyczne zrozumienie i umiejętności praktyczne. nie daj się zwieść „teorii”. Jest to tak samo ważne w Scali, jak praktyczność jest ważna w Javie.
Sprawdź, czy potrafią zmienić fragment kodu imperatywnego na dobrą funkcjonalną alternatywę (patrz wyżej). Wypróbuj pętlę, która implementuje matematykę lub coś w tym stylu.
Znajdź swój gust w stylu funkcjonalnym vs imperatywnym. Wybierz bardziej funkcjonalny styl, ale zachowaj ostrożność, aby nie dojść do skrajności po stronie dewelopera.
Zobacz, ile wiedzą o bibliotekach Scala (np. Lift, dispatch itp.) I narzędziach (np. SBT, fsc, IDEA).
Zobacz, jak dobrze potrafią wykorzystać Javę (narzędzia i kody). Scala jest ściśle związana z Javą, szczególnie w poważniejszych środowiskach. Wiedza o tym jest dużym plusem.
Sprawdź, czy są połączone ze społecznością. Zapytaj ich o Martina Oderskiego i Davida Pollaka. Poproś, aby wymienili kilka projektów Scala i opisali je Tobie (Facebook, Twitter, FourSquare, DBPedia i DBPedia SpotLight). Sprawdź, czy wiedzą, jak dokładnie Scala jest wykorzystywana w tych projektach. Czy czytali artykuły, oglądali filmy itp.?
Zapytaj ich o książki (jest ich tylko kilka). Im więcej wiedzą, tym lepiej.
Jako ostatnie słowo ostrzeżenia mogę powiedzieć, że genialne języki mają ten dziwny potencjał przyciągania niewłaściwych ludzi. Uważaj na to, co przychodzi do Scali z niewłaściwych powodów. Oto kilka:
PS: Jeśli znalazłeś dobrego Joe, to proszę, daj mi znać, bo potrzebujemy trochę;)
W wywiadzie z prawdziwego świata po prostu wiedza, że Scala to połowa zwycięskiej bitwy. Zatrudnienie dobrego programisty jest zawsze trudne, niezależnie od języka!
Programiści Scali zwykle przychodzą do tego języka, ponieważ byli już na szczycie swojej gry w Javie i chcieli „przenieść ją na wyższy poziom”.
Jeśli masz wystarczającą liczbę programistów Scala dostępnych na rozmowę kwalifikacyjną, uważaj się za szczęściarza. Jeśli nie, bardziej odpowiednie pytania mogą brzmieć: „Jakich aspektów powinienem szukać u programisty, którego będę szkolił w zakresie korzystania ze Scali?” Oraz „Jakie firmy są obecnie w stanie świadczyć usługi szkoleniowe?”
Lubię widzieć rozwiązania takich małych problemów: Zrób histogram wyników rzucania dwiema sześciokątnymi kostkami 200 razy.
Zobacz komentarze tutaj, aby uzyskać interesujące odpowiedzi: http://briccetti.blogspot.com/2011/01/dice-throw-simulation-in-java-and-scala.html
Ktoś z rozwiązaniem takim jak Daniel Sobral lub ten z Kevin Wright: http://ideone.com/8LFs3 byłby wart bliższego przyjrzenia się.
Jeśli odpowiedź wygląda jak kod Java, wnioskodawca może nie być wystarczająco daleko.
Chciałbym również zobaczyć, że osoba jest powiązana ze społecznością Scala: zna książki, autorów, programistów open source, grupy użytkowników, ciekawych ludzi.
Nigdy nie zatrudniałem Scali, ale szukałem zrozumienia, w jaki sposób implikuje ona pracę, wzorzec klas typów i podstawy programowania funkcjonalnego.