Z mojego doświadczenia, zanim zaczniesz pracować dla firmy, nie masz okazji przyjrzeć się bazie kodu (poprosiłem i ze względu na poufność wszyscy zawsze mówili „nie”, myślę, że to jest sprawiedliwe), więc podczas rozmowy kwalifikacyjnej czy uważasz, że są najważniejsze pytania, które należy zadać, aby dowiedzieć się, w jakim stanie jest kod (w końcu, jeśli jest to pies, to będziesz miał do czynienia z biednymi nieszczęśnikami, którzy muszą go chodzić codziennie)?
AKTUALIZACJA:
Lista kontrolna: Zapytaj;
- Co oni myślą o kodzie. A kiedy to zrobisz, zwróć szczególną uwagę na mimikę twarzy i czas potrzebny na reakcję. [Zaraz]
- Jaki jest poziom CMM firmy [DPD] (i jeśli słyszysz, że poziom 5 działa w drugą stronę [Doug T])
- W jakim cyklu życia używają [DPD] (A jeśli słyszysz „Agile”, wtedy zaczynasz zadawać kilka wnikliwych pytań, aby spróbować dowiedzieć się, czy przez „Agile” mają na myśli „Agile” lub „kodowanie kowboja” [Carson63000])
- Jakich narzędzi używają do oceny jakości kodu? [DPD]
- Jakich narzędzi używają do programowania? [DPD] (poszukaj narzędzi do refaktoryzacji i serwerów ciągłej kompilacji)
- Jakiego systemu kodu źródłowego (kontroli wersji) używają, i dobrą odpowiedzią jest pytanie, dlaczego go używają. [Zachary K].
- Jakie są ich procedury testowe? [Karl Bielefeldt] (Zwróć szczególną uwagę na zespoły, które używają fałszywych frameworków i kładą nacisk na dokładne zautomatyzowane testowanie jednostek za pomocą ustalonych frameworków, takich jak NUnit / JUnit; nie zniechęcaj się zespołami, które nie używają testowego rozwoju TDD, ale bądź uważaj, jeśli nie uznają testowania za integralną i solidną podstawę do tworzenia oprogramowania. Poszukaj zespołów z oddanymi testerami).
- Jakie zadania są przydzielane nowym programistom? Do doświadczonych programistów? [Karl Bielefeldt]
- Ile osób pracuje nad projektem? [Karl Bielefeldt]
- Czy refaktoryzacja jest dozwolona? Zachęcony? [Karl Bielefeldt]
- Jakie zmiany w procesie lub architekturze związane z jakością są rozważane lub zostały wprowadzone niedawno? [Karl Bielefeldt]
- Ile autonomii mają poszczególne moduły? [Karl Bielefeldt]
- Czy będziesz opracowywać nowsze projekty (rozwój terenów zielonych) czy starsze projekty (rozwój terenów poprzemysłowych)? (Rozwój Greenfield jest ogólnie przyjemniejszy i ma mniej problemów, ponieważ nie czyścisz błędów innych).
- Czy wskaźnik rotacji pracowników jest wysoki w organizacji czy zespole? (Często oznacza to niższą jakość kodu) [M.Sameer]
- Niektóre twoje własne problemy programistyczne; ale unikaj wydawania się palantem. [Iskrzący]
- Jak współpracują programiści i jak dzielą się wiedzą w zespole? (To powinno pasować do twojej osobowości; powiedziałbym, że najlepiej jest mieszać pracę solo i parę, przy proporcji odpowiadającej twoim potrzebom społecznym)
- Jak blisko jest ich baza danych do trzeciej postaci normalnej (3NF), a jeśli odbiega ona gdzie i dlaczego? (Jeśli powiedzą „3NF ???”, wyjdź. Jeśli nie, a powody mogą być inne, dowiedz się, jakie są).
UWAGA: Zaakceptowałem odpowiedź Anona, ponieważ po około tygodniu społeczność myśli, że jest najlepsza - myślę, że to sugeruje, że jest to po prostu coś, dla czego musisz rozwinąć szósty zmysł. Ale myślę, że każdy miał coś cennego do powiedzenia.