Według jednej opinii osoby, która prosi o próbki kodu podczas oceny kandydatów, istnieje kilka funkcji wysokiego poziomu (treść kodu) i kilka funkcji niskiego poziomu (struktura kodu). Funkcje wysokiego poziomu:
- Tożsamość : smak kodu. Jeśli rozliczasz się jako programista UI / HCI, chcę zobaczyć dobry wygląd / wyczucie czegoś wizualnego po uruchomieniu. Jeśli jesteś konstruktorem baz danych, chcę zobaczyć coś interesującego z reprezentacją danych lub analizą. Próbka powinna być czymś, z czego jesteś dumny . Jeśli nie masz co najmniej jednego z nich, nie masz tożsamości.
- Dojrzałość : Czy zmieniasz strategie dla różnych problemów? Czy rozwiązujesz ciekawe problemy? Czy kod lub podejście można łatwo rozszerzyć na podobny problem? Z drugiej strony, czy mam wrażenie, że patrzę na członka gminy kultowej?
- Komunikacja : czy kod łatwo wyjaśnia, co robi i dlaczego? Nie oznacza to, że kod musi być prosty. W rzeczywistości jest to bonus, aby skomplikowany kod był łatwy do zrozumienia.
Aspekty niskiego poziomu są prostsze:
- Styl : kod powinien być czysty, spójny (zgodny z ustalonymi wytycznymi) i dobrze udokumentowany.
- Pakowanie : Powinno być co najmniej krótkie readme, wersja do uruchomienia i testy do uruchomienia. Plik Readme powinien mi powiedzieć, jak uruchomić dwa ostatnie, a także dlaczego demonstrujesz ten konkretny przykładowy kod.
- Język (i) : zazwyczaj pytam kogoś o próbkę w języku dla tego stanowiska, a także tego, w którym czują się najsilniejsi. Daje dobry obraz obecnych pułapów danej osoby.
Dla dobrego kandydata oczekuję, że próbka będzie: A) Kuloodporna, mała próbka lub B) Dobra część większego interesującego projektu (np. Moduł z osobistego repozytorium Github). Oczekuję, że będą to projekty osobiste lub akademickie. Jeśli wyślą jeden z płatnego projektu, spodziewam się, że otrzymali pozwolenie na jego użycie. Jeśli nie dostanę tej notatki, odetnę ich od kandydatów (słaby kandydat) lub zapytam o to podczas rozmowy kwalifikacyjnej (silny kandydat). Brak pozwolenia byłby wielką czerwoną flagą (prawdopodobnie nie do pokonania). Dla zaawansowanego kandydata spodziewam się wyłączenia odpowiedzialności, stwierdzając, że niektóre z ich najlepszych próbek źródłowych nie mogą zostać pokazane, ponieważ zostało to wykonane w ramach ich pracy. Spodziewam się jednak, że będą dumni z tego, dlaczego są dumni z tego nieukrywalnego projektu i jak kochają go jak dziecko.
Wreszcie, o ile niektórzy twierdzą, że „Och, ktoś może po prostu pobrać próbkę kodu z Internetu”, kontrargumentem jest to, że większość ludzi, którzy nie rozumieją kodu dobrej jakości produkcji, również go nie rozumie, kiedy go widzi. . Poza tym zawsze można Google wyróżnić linię do sprawdzenia kodu. Ponadto, w najlepszym wypadku, kradzież kodu spowoduje, że kandydat zostanie zaproszony na rozmowę, w której sami się zawstydzą („Więc dlaczego to zrobiłeś w ten sposób ...?”).
Ostatnia uwaga na temat kodu z wcześniejszego zatrudnienia: Po prostu nie. Z punktu widzenia HR prośba o kod z poprzedniego zatrudnienia jest nieodpowiednia i oznacza czerwoną flagę na temat firmy. Oboje ponosilibyście odpowiedzialność prawną (tj. Moglibyście być pozwani) i pokazuje, że nie mają pojęcia, co robią. Kod sporządzony dla poprzedniego pracodawcy nigdy nie powinien być podawany, chyba że kod jest już publicznie dostępny lub nie masz wyraźnej zgody tego pracodawcy. Co gorsza, w dużej firmie twój bezpośredni szef może nie być w stanie udzielić ci pozwolenia, więc baw się dobrze z działem prawnym w takim przypadku? Jestem pewien, że będą zadowoleni z ujawnienia swojego adresu IP dla wychodzącego pracownika.