З мого досвіду, перш ніж почати працювати в компанії, у вас немає можливості подивитися на кодову базу (я запитував, а з міркувань конфіденційності всі завжди говорили "ні", я вважаю, що це справедливо), тому під час інтерв'ю ви вважаєте, що це найважливіші запитання, які слід задати, щоб дізнатися, в якому стані знаходиться код (зрештою, якщо це собака, то ви збираєтеся бути з бідними нещасниками, яким доводиться її вигулювати кожен день)?
ОНОВЛЕННЯ:
Контрольний список: Запитайте;
- Що вони думають про кодову базу. А коли ви це зробите, приділіть пильну увагу міміці обличчя та часу, який потрібен їм для реагування. [Анон]
- Який рівень CMM компанії [DPD] (і якщо ви чуєте рівень 5, бігайте в інший бік [Doug T])
- Який життєвий цикл вони використовують [DPD] (І якщо ви чуєте "Agile", тоді ви починаєте задавати деякі проникливі питання, щоб спробувати зрозуміти, чи під "Agile" вони означають "Agile або" ковбойське кодування "[Carson63000])
- Які інструменти вони використовують для оцінки якості коду? [DPD]
- Які інструменти вони використовують для розробки? [DPD] (Шукайте інструменти рефакторингу та сервери безперервного збирання)
- Яку вихідний код (систему контролю над версіями) вони використовують, і корисне подальше запитання - це запитати, чому вони її використовують. [Захарій К].
- Які їхні процедури тестування? [Карл Білефельдт] (Особливо шукайте команди, які використовують глузуючі рамки та роблять акцент на ретельному автоматизованому тестуванні блоку через встановлені рамки, такі як NUnit / JUnit; не відкладайте команди, які не використовують тестові розробники TDD, але будьте будьте обережні, якщо вони не вважають тестування невід'ємною частиною та основою розробки надійного програмного забезпечення. Шукайте команди з спеціалізованими тестерами.)
- Які види завдань надаються новим розробникам? Досвідченим розробникам? [Карл Білефельдт]
- Скільки людей працюють над проектом? [Карл Білефельдт]
- Чи дозволено рефакторинг? Підбадьорений? [Карл Білефельдт]
- Які процеси, пов'язані з якістю чи архітектурою, розглядаються чи були внесені нещодавно? [Карл Білефельдт]
- Скільки автономії мають особи щодо своїх модулів? [Карл Білефельдт]
- Чи будете ви розробляти новіші проекти (розробка зеленого поля) або застарілі проекти (розробка коричневого поля)? (Розвиток Грінфілда, як правило, веселіше і має менше проблем, оскільки ти не прибираєшся до чужих помилок).
- Чи високий показник плинності працівників в організації чи колективі? (Це часто вказує на меншу якість коду) [M.Sameer]
- Деякі власні проблеми програмування; але уникай здаватися ривком. [Іскровий]
- Як розробники співпрацюють і як ділиться знаннями між командою? (Це має відповідати вашій особистості; я б сказав, що суміш сольної та парної роботи, мабуть, найкраща, співвідношення відповідає вашим соціальним потребам)
- Наскільки близька їх база даних до 3-ї нормальної форми (3NF), і якщо вона відхиляється, де і чому? (Якщо вони кажуть "3NF ???", піти. Якщо ні, і можуть бути вагомі причини цього, то дізнайтеся, що вони є).
ПРИМІТКА: Я прийняв відповідь Анона, тому що приблизно через тиждень громада вважає, що це найкраще - я думаю, це говорить про те, що це просто щось, для чого потрібно якось розвинути шосте почуття. Але, я думаю, кожен мав щось сказати.