Krótka wersja
Jeśli praca polega na utrzymaniu aplikacji, umiejętności, które musisz sprawdzić podczas rozmów kwalifikacyjnych to:
Zdolność do zrozumienia dużej bazy kodu z jej dokumentacją, testami jednostkowymi itp.
Umiejętność byłaby kod i przynieść zmiany bez zerwania wszystko.
Poproszenie ludzi o przeczytanie kodu nie pomoże ci ocenić tych umiejętności.
Długa wersja
Czy zostałeś poproszony o napisanie kodu? Jeśli tak, jak zauważył w swojej odpowiedzi Sign , to wystarczy. Jeśli trochę uogólnimy, osoba, która napisze jasny, łatwy do zrozumienia kod źródłowy, będzie w stanie odczytać kod źródłowy napisany przez inne osoby.
Jeśli nie zostałeś poproszony o napisanie kodu, to prawdopodobnie byłeś przesłuchiwany przez osobę z działu zasobów ludzkich. Takie rozmowy nie mogą być zbyt techniczne i są w większości bezwartościowe, ponieważ nie doceniają twoich umiejętności i zdolności do dobrej pracy, ale raczej liczbę lat spędzonych na studiach i innych rzeczy, które nie mają nic wspólnego z pracą.
Jest jeszcze kilka powodów, dla których nie należy prosić o odczytanie kodu dla zadania konserwacji:
1. Trudno to zrobić niezawodnie
A konkretnie, co byś zrobił, gdybyś był ankieterem? Niech twoi kandydaci przeczytają jakiś kod. Jaki kod? W jakim języku? Jak dobrze lub źle napisane? Z komentarzami czy bez? Z dokumentacją czy bez?
Co ważniejsze, co mówi o kandydacie? Jak dobrze koreluje z samą bazą kodu?
Załóżmy, że masz starszą aplikację VB.NET do utrzymania. Wiesz, że kod źródłowy jest w większości brzydki i nieprzetestowany, a kilka komentarzy jest nieaktualnych lub wprowadzających w błąd. Przez ostatnie trzy miesiące miałeś bardzo zręcznego programistę pracującego nad rozwiązaniem; przebudował i przetestował najbardziej krytyczne części aplikacji, dodał komentarze tam, gdzie były potrzebne komentarze, i, co najważniejsze, napisał szczegółową dokumentację na temat ogólnej architektury, części krytycznych i pułapek.
Zatrudniasz teraz programistę do obsługi tej bazy kodu. Czy podczas wywiadu podałbyś fragment kodu (brzydki, nieprzetestowany), czy fragment kodu, który został ponownie opracowany przez poprzedniego programistę?
Czy dostarczyłbyś dokumentację? Aby przeczytać dokumentację, kandydat musi spędzić co najmniej kilka godzin. To uniemożliwia to podczas rozmowy kwalifikacyjnej.
2. Czytanie krótkiego kodu nie jest tym samym, co czytanie kodu znanego projektu
Pamiętaj, że zadaniem jest utrzymanie projektu. Trudno jest utrzymać dużą bazę kodu w pierwszych dniach lub tygodniach, gdy nie znasz projektu. O wiele łatwiej jest to zrobić po kilku miesiącach, kiedy napisałeś całą dokumentację i masz jasny obraz ogólnej bazy kodu.
Najważniejszą rzeczą do przetestowania jest to, czy dana osoba będzie skuteczna w tych miesiącach . Nie obchodzi cię, czy dana osoba nie będzie w stanie nic zrozumieć przez pierwsze dwa dni.
Prosząc osobę o przeczytanie krótkiego fragmentu kodu od zera, nie testujesz, w jaki sposób ta osoba byłaby w stanie poradzić sobie ze znanym, udokumentowanym kodem tysięcy LOC .
3. Utrzymanie kodu źródłowego to nie tylko jego czytanie
Kiedy utrzymujesz bazę kodu, modyfikujesz ją. Deweloper, który po prostu czyta kod, nie wnosi nic użytecznego dla jego firmy.
Przydatne umiejętności to zdolność do refaktoryzowania kodu , dodawania testów jednostkowych , przewidywania wpływu zmiany itp. Nie testujesz tych umiejętności, prosząc osobę o przeczytanie kodu podczas rozmowy.