Информационные материалы → Разное →
Тест Джоэла. Часть Шестая.
9. Используете ли вы лучшие средства, какие только можно купить?
Компиляция кода - одна из последних вещей, которые еще нельзя делать мгновенно на домашнем компьютере. Если процесс компиляции занимает больше, чем несколько секунд, то вы сэкономите время, если приобретете новейший и сильнейший компьютер. Если даже компиляция занимает 15 секунд, то, пока работает компилятор, программисты будут скучать и начнут читать журнал Onion, на что в целом уйдет несколько часов рабочего времени.
Отладка GUI-кода с помощью системы с одним монитором - процесс болезненный, а то и невозможный. Если вы пишете GUI-код, то два монитора значительно облегчат вам жизнь.
Большинству программистов в конце концов надо работать с растровыми изображениями, чтобы создавать пиктограммы или панели инструментов, и большинство программистов не имеют хорошего растрового редактора. Обработка растровых файлов с помощью Microsoft Paint - это несерьезно, но именно так приходится действовать большинству программистов.
На моей предыдущей работе системный администратор все время посылал мне спам, жалуясь на то, что я использую на сервере больше (обратите внимание) 220 Мбайт жесткого диска. Я подчеркнул, что такова нынешняя цена использования жестких дисков и что стоимость этого пространства значительно меньше стоимости туалетной бумаги, которую я использую. А трата даже 10 минут на чистку своего каталога может обернуться невероятной потерей производительности.
Выдающиеся команды не мучают своих разработчиков. Даже мелкие расстройства, вызванные применением маломощного оборудования, вносят свой вклад, делая программистов раздражительными и несчастными. А раздражительный программист - непродуктивный программист.
Кроме всего этого ... программиста легко подкупить, предложив самую крутую и самую новую программу. Этот способ заставить их работать намного дешевле, чем платить им по-настоящему конкурентоспособные зарплаты!
10. имеются ли у вас тестеры?
Если в вашей команде нет специальных тестеров, хотя бы по одному на каждых двух-трех программистов, то вы или поставляете продукты с ошибками, или тратите впустую деньги, платя программистам по 100 долл. в час за работу, которую тестер сделал бы за 30 долл. в час. Экономия на тестерах является настолько фальшивой, что меня поражает, почему так мало людей этого не замечают.
11. Пишут ли кандидаты на работу код во время собеседования?
Наняли бы вы волшебника, не попросив его показать какие-нибудь волшебные трюки? Конечно же, нет.
Наняли бы вы поставщика провизии для вашей свадьбы, не попробовав его блюд? Сомневаюсь в этом. (Если только это не тетя Мардж, и она возненавидит вас навеки, если ей не разрешат приготовить ее "знаменитый" пирог с рубленой печенью.)
Тем не менее программистов нанимают из-за их впечатляющих резюме или благодаря тому, что ведущему собеседование нравилось с ними болтать. Либо им задают тривиальные вопросы ("В чем разница между CreateDialog() и DialogBox() ?"), на которые можно ответить, посмотрев документацию. Но вас не интересует, помнят ли они тысячи тривиальных сведений о программировании, а интересует, могут ли они создавать код. Или, что еще хуже, им задают "Ага!"-вопросы - такие, которые кажутся легкими, если ответ вам известен, но когда вы его не знаете, то ответить на них нельзя.
Пожалуйста, прекратите это делать, только и всего. А в остальном делайте на собеседованиях все, что хотите, но, кроме того, заставьте кандидата написать код.
12. Проводители вы коридорное тестирование удобства использования программы?
Коридорное тестирование проводится так: вы перехватываете человека, идущего по коридору, и заставляете его использовать код, который вы только что написали. Проделав это с пятью людьми, вы узнаете 95% того, что вам нужно знать о проблемах с удобством использования в вашем коде.
Проектировать хороший пользовательский интерфейс не так уж трудно, как вы, возможно, думаете, зато очень важно заставить пользователей любить и покупать ваш продукт.
Однако самое важное в пользовательских интерфейсах - если вы покажете свою программу горстке людей (на самом деле, пяти или шести будет достаточно), то быстро узнаете самые главные проблемы, с которыми столкнутся пользователи. Даже не имея квалификации разработчика таких интерфейсов, вы все равно сумеете во много раз улучшить свой пользовательский интерфейс, если заставите себя проводить коридорные тесты на удобство, а они не будут вам ничего стоить.