Джоэл Спольски — программист и писатель. Известен как автор блога «Джоэл о программном обеспечении», в котором он обсуждает вопросы программирования. В 1991—1994 годах он занимал должность менеджера по продуктам в команде Microsoft Excel. Основал компанию Fog Creek Software, в которой сейчас и работает. Спольски является сооснователем Stack Overflow, он также причастен к созданию платформы Trello и ряда инструментов для разработки.
Если умным людям не позволить делать вещи так, как они считают правильным, то эти люди впадут в депрессию и разбегутся. И, если это случится, то вы останетесь один на один с кучкой подхалимов, которые понятия не имеют о том, как всё должно работать.
Даже самый лучший маркетинг в мире не может заставить людей платить за бесполезный продукт.
Было время, я поддерживал донкихотскую и, в итоге, глупую идею, чтобы каждый работник Fog Creek был программистом, даже офис-менеждер должен был иметь опыт написания программ. В морской пехоте США, каждый, даже повар, должен уметь обращаться с винтовкой. Конечно, это из-за того, что повара в этом чертовом Афганистане гибнут так же, как и обычные солдаты, поэтому им же лучше, если они будут уметь стрелять. В то время как наш офис-менеджер вряд ли когда-нибудь погрузится в исходный код и напишет класс. Почти никогда.
О написании спецификаций:
Я думаю, это потому, что люди просто не любят писать. Пустой экран с курсором ужасно расстраивает. Лично я победил свой страх перед чистым листом, пройдя курс обучения в колледже, который требовал написания очерков на 3-5 страниц каждую неделю. Письмо – это тренировка. Чем больше вы пишете, тем больше вы можете написать.
О программистах:
Вот вам простая арифметика. Факты свидетельствуют, что если мы отвлекаем программиста даже на 1 минуту, мы отнимаем у него 15 минут продуктивной работы. К примеру, у нас есть два программиста: Вася и Петя, сидящие в соседних «кубиках». Петя забыл название Unicode версии функции strcpy. Он может найти его самостоятельно, для чего надо 30 секунд, или спросить у Васи, на что уйдёт 15 секунд. Так как он сидит рядом с Васей, почему бы не спросить у Васи. Вася отрывается от работы и теряет 15 минут продуктивной работы (чтобы сэкономить 15 секунд Пети).
Если программирование вам в удовольствие — радуйтесь своей удаче: вы в числе той немногочисленной группы людей, которая может зарабатывать неплохие деньги, делая то, что нравится. Большинство людей лишено такого счастья.
О тестировании:
Коридорное тестирование — это процедура, при которой вы выбегаете в коридор, хватаете первого попавшегося человека и заставляете его попользоваться программой, которую вы только что написали. Если вы проделаете эту процедуру на пяти разных людях, вы получите 95% иноформации о проблемах с удобством использования в вашей программе.
Семь бесплатных советов Джоэла для студентов, изучающих вычислительную технику:
- Научитесь писать до окончания учебы.
- Выучите C до окончания учебы.
- Выучите микроэкономику до окончания учебы.
- Не пропускайте лекции, не относящиеся к вычислительной технике, только потому, что они скучны.
- Возьмите интенсивные курсы программирования.
- Перестаньте беспокоиться о том, что вся работа переносится в Индию.
- Не важно, чем вы занимаетесь, найдите хорошую летнюю практику.