Gdybym rekrutował programistę…

Categories Programowanie

Gdybym rekrutował programistę to zamiast męczyć go wiedzą z konkretnych frameworków, albo implementacją Quick sorta to przedyskutowałbym z nim wypowiedź twórcy paradygmatu obiektowego, Alana Keya.

„OOP to me means only messaging, local retention, and protection and hiding of state-process, and extreme late-binding of all things.”

Jeśli ktoś wie o co chodzi i można z nim podyskutować o tym to widać już, że gość nie jest ignorantem i zna podstawy.

Jak rozumie wzorzec obserwatora to nawet nie pracując nigdy na froncie zrozumie biblioteki reaktywne js. Jak rozumie DI to pracując wcześniej z guice ogarnie springa.

Oczywiście ponadto pytania innego rodzaju: juniora można zapytać o przeciążanie vs przesłanianie metod (co się wiąże z powyższym), czy jak działa Hashmapa i jakie to niesie ze sobą konsekwencje (equals hashcode), jak przekazywane są argumenty do metod (referencja/wartość).

Regulara można pomęczyć ze wzorców, kazać przerobić kawałek kodu na czystszy, zapytać o optimistic locking, współbieżność, dlaczego kontrolery w springu czy serwlety musimy pisać wielowątkowo. Kazać mu napisać poprawne testy zgodnie z FIRST. Z seniorem można już pogadać wysokopoziomowo, o architekturach, jego wcześniejszych projektach.

Nie widzę też większego sensu w fancy zadaniach algorytmicznych rodem z leetcode czy codility gdzie są dwie strony specyfikacji wyssanej z palca Hindusa. Chyba że ma się zamiar rzucić gościa w pracy na rozwój algo to można go przemaglować z odwracania drzewa binarnego.

#java #programowanie