czy programista powinien mieć dobre umiejętności debugowania?
Tak. To powiedziawszy, poprosiłbym cię o rozważenie metodologii w wywiadzie (tj. Stylu quizu / testu) mniej niż idealnej (w porządku, wadliwej), ponieważ wiele osób uważa kod na papierze za dziwne, nieznane doświadczenie.
Ponieważ debugowanie jest procesem , a nie odpowiedzią lub wynikiem (np . Pomyłką ), sugerowałbym użycie interaktywnego dialogu lub dyskusji jako lepszego sposobu oceny zdolności debugowania kandydatów. Podczas gdy większość osób korzysta z nieformalnego systemu debugowania ad hoc, dobrzy kandydaci będą mieli ogólnie podobny wzór zadawania pytań w celu zrozumienia systemu lub założeń i wymagań, a następnie wyodrębnienia problemu (często dzielenia i podbijania) oraz metodycznego porównywania kod do wymagań i oceniaj oczekiwane dane wejściowe / wyjściowe, a nie chcąc nie chcąc zmieniając kilka rzeczy naraz, dopóki to nie zadziała.
Wyrażam również zastrzeżenia do problemów z łamigłówkami podczas wywiadów, szczególnie w formie pisemnej, tak jakby kandydat nie miał właściwych założeń ram odniesienia ( sztuczka), puzzle mogą być dla nich nierozwiązywalne. Tzn. Wiele łamigłówek ma jedną prawidłową ścieżkę, podczas gdy życie jest skomplikowane, a najbardziej kreatywne są te, które przyjmują zaskakująco nowatorskie podejścia do rozwiązania problemu, który może nie działać z daną gotową układanką, z oczekiwanym rozwiązaniem . To tak, jakby oczekiwać od wszystkich trębaczy grania jazzu. Można temu zaradzić, zadając pytanie jako niekonfrontacyjną (presja może zakłócać kreatywność) interaktywną dyskusję. Ponownie, dla mnie odpowiedź jest drugorzędna, aby zobaczyć proces dobrej myśli. Prawdopodobnie będziesz musiał poprosić ich o przemyślenie na głos, ale z mojego doświadczenia wydaje się to bardziej produktywne.
Nie przeczytałem ani nie oceniłem , dlaczego programy Zellera nie działają , ale mogę polecić debugowanie przez Agans jako krótki, szybki odczyt, który może pomóc zestalić proces debugowania ad hoc w bardziej uporządkowany, konkretny i zorganizowany wysiłek, który może pomóc być bardziej wydajnym w debugowaniu. Wydrukuj także kopię i powieś ją przy swoim kabinie lub obejściu, plakat Reguły debugowania , jest to idealne przypomnienie na te złe dni, w których nic nie idzie dobrze. Mam kilka złych dni i spędzam mniej czasu na aktywnym debugowaniu (czytaj: drapanie w dezorientacji ), próbując podążać za nimi w duchu, jeśli nie w liście.