Недавно я прочитал Психологию компьютерного программирования Джеральда М. Вайнберга. Изначально книга была опубликована в 1971 году, но была переиздана в 2011 году. (Я прочитал ее на белой бумаге, и она выглядела великолепно! Так что не беспокойтесь о возрасте книги, если вы опасаетесь, что в ней она не будет хорошо смотреться. формат электронной книги).

Несмотря на то, что книга была написана задолго до появления общедоступного Интернета, Java, Javascript, смартфонов и многих других вещей, которые мы воспринимаем как должное сегодня, большая часть ее содержания все еще звучит правдоподобно.

Я действительно рекомендовал бы разработчикам программного обеспечения читать эту книгу даже сегодня. Это помогло мне больше оценить навыки межличностного общения, необходимые в профессии.

Несмотря на то, что большая часть содержания книги актуальна и сегодня, некоторые вещи ужасно устарели. В какой-то момент автор описывает полезность общения с другими программистами в ожидании очереди, пока оператор компьютера выполнит ваш код. Я искренне надеюсь, что ни одному программисту в 2019 году не придется проходить через испытания, связанные с передачей перфокарт. :)

Памятные моменты

Вот некоторые из вещей, которые я выделил на протяжении всей книги. Если вам интересно увидеть все основные моменты, их можно найти на странице моих хороших отзывов.

Мы увидим, как человек придает индивидуальность своей программе и как программирование придает форму самому программисту.

Это вневременная идея. При работе с большой кодовой базой часто просто глядя на код, я могу сказать, кто из моих коллег написал определенный фрагмент кода. Несомненно, есть стиль кодирования, который можно привязать к людям. С помощью машинного обучения даже машины могут отследить, кто написал фрагмент кода. В этой статье WIRED есть больше информации об этом.

Другая часть, где программирование формирует программиста, также вызывает у меня чувство. Программирование действительно формирует то, как вы думаете о мире, и учит вас образу мышления, который можно распространить и за пределы программирования.

Кому-то определенно следует изучить удручающее влияние, которое слишком распространенные половинные разделы оказывают на продуктивность программистов. Им удается прервать всякую полезную коммуникацию, позволяя проникнуть всем мешающим звукам и движениям.

Это было дано как своего рода примечание, отсюда и скобки, которые использовал автор. В настоящее время у нас больше нет даже половинных разделов! Лично я бы предпочел полуперегородки полностью открытому офису. Печально видеть, что почти за 50 лет мы так и не создали рабочее пространство, которое позволяло бы людям работать максимально продуктивно.

Идеальная команда была бы выбрана как по навыкам межличностного общения, так и по навыкам программирования (…)

Многие тесты кодирования в [BigCo] сосредоточены на решении технических проблем. Лично я предпочитаю работать с 1x-инженером с хорошими soft skills, чем с 10x-инженером, который не умеет общаться. Если вы когда-нибудь работали в неблагополучной команде, вы почувствуете, насколько важны навыки межличностного общения. В конце концов, программирование - это командный вид спорта, поэтому, если у вас дисфункциональная команда, как могут появиться функциональные программы? :) (В идеале взять 10-кратного инженера с навыками межличностного общения!)

Даже когда больше нечего делать, ведение документации никогда не является добровольной альтернативой.

У меня вызывает улыбку мысль, что полвека назад никто не хотел писать документацию. Это также может помочь объяснить, почему документация часто оказывается устаревшей или плохой. Но бессовестно цитировать Дика Брэндона »« Документация похожа на секс: когда это хорошо, это очень и очень хорошо; а когда плохо, это лучше, чем ничего ».

Вывод

Мне очень понравилось читать книгу, поскольку название должно намекать, в ней в основном говорится о межличностной деятельности и проблемах, возникающих в области программирования. Его по-прежнему хорошо читают спустя десятилетия после того, как он был опубликован, и я ожидаю, что он сохранится еще несколько десятилетий. Мне, например, определенно было бы интересно прочитать аналогичную книгу, адаптированную к современности. Хотя мне тоже понравилась историческая перспектива, изложенная в книге. Я сам не пережил те времена, поэтому интересно наблюдать за проблемами, которые возникают при работе на мэйнфрейме с перфокартами в то время, когда обычные пользователи понимали компьютеры еще меньше, чем сейчас.