Cписок книг,  которые возможно будут интересны другим программистам

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

В них можно научится другому -- интуитивному пониманию вещей, осознанности своих действий. Чтение таких книг может изменить Ваш подход и отношение к программированию. Обучение новому языку программирования или технологиям  превратится из  вызова, испытания воли и интеллекта,  в процесс аналогичный изучению инструкции от нового телевизора или сборки IKEA-вского шкафа. Вы учитесь не столько самому программированию, сколько КАК надо программировать, учиться, жить.  Вы начинаете постигать дао программирования.

Итак, приступим к обзору.

Алан Картер (Alan Carter) и Колстон Сэнджер. Программистский камень.

Классика жанра. Описывается противостояние Mapper vs Packer (Картостроители против Паковщиков). Интрига занятней чем Хищник против Чужих (или Протосы против Зергов).

... Классическое поле сражения картостроителей с паковщиками в программировании состоит в том, что картостроители видят, что с тем, что они узнали, повторная реализация может быть сделана быстрее и не будет страдать от проблем сопровождения, вырисовывающихся в существующем коде. Паковщики видят, что картостроители безумствуют, пытаясь разгромить всю их работу (как будто нет резервной копии) и повторить работу нескольких последних месяцев, которые были ужасны, поскольку они, очевидно, не знали, что они делали (они хранят изменяющиеся вещи). Паковщики настраивают одного из своих защитников остановить картостроителей, и организация вынуждена забыть о достигнутом понимании, которое не может быть использовано в контексте существующего кода...

В книге автор пытается объяснить как работают мозги у разных программистов, как осуществляется программирование в целом и многое многое другое.

Читать обязательно!

Дж. Ханк Рейнвотер. Как пасти котов. Наставление для программистов, руководящих другими программистами.

Как пасти котов

Даже если Вы еще не являетесь руководителем и в глубине души убежденный пацифист, то вам все равно стоит прочитать эту книжку. Из нее Вы узнаете о разных "породах" программистов: конструктивист, инженер,  волшебник, разгильдяй, тормоз и другие (всего около 15). Возможно узнаете себя. Поймете какие подходы используют Ваши начальники, чтобы манипулировать Вами. Ведь для того чтобы противостоять манипуляции, нужно её распознать, а в этой книжке очень хорошо все расписано.

В том случае, если из Вас сделали начальника, то прочитаете какие ошибки не следует допускать в первую очередь.

Книга легкая, написано с юмором, не плохо подходит например для метрочтения.

Фредерик Брукс. Мифический человеко - месяц или Как создаются программные системы

Мифический человеко-месяц

Фундаментальный труд. Наверное один из самых цитируемых в сфере разработки программного обеспечения. Очень полезно иметь под рукой эту книгу, чтобы в нужный момент тыкнуть объяснить начальнику (не программисту) почему его планы ошибочны. Почему измерять в человеко-часах объем работы не разумно. В книжке есть очень наглядные диаграммы и с пояснениями, например такие:

Зависимость времени от числа занятых - задача со сложными взаимосвязями

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

Книга содержит в себе солидное количество различных фактов о разработки ПО, графики, диаграммы и даже формулы.  Очень полезное чтиво.

Эдвард Йордон. Путь камикадзе

Путь камикадзе

Оригинальное название книги "Death March", то есть смертельный марш. Определение "Death March" взято из американской истории Второй Мировой Войны. Такое название получили трагические переходы американских солдат, взятых в плен японцами, по тропическим джунглям. Во время этих переходов большая часть военнопленных заболевала или погибала. Другими словами переведенное название "путь камикадзе" не совсем подходит к этой книги.  Военнопленные которые идут в смертельном марше, это люди подневольные, как и программисты которые в силу обстоятельств пришлось впрячься в безнадежный проект, а камикадзе, как вы знаете, это японские добровольцы-смертники из специального  ударного отряда „божественный ветер“ осуществлявшиеся самоубийственные атаки на врага.  Так вот, в этой книге, не о том как осуществить программисткое самоубийство во имя великого проекта, а как попробовать выжить в нудном, затянутом и сложном проекте.

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

Том Демарко. Deadline. Роман об управлении проектами.

Deadline. Роман об управлении проектами

Беллетристика. По большому счету бульварное чтиво, но это не умаляет достоинство этой книги. Во-первых читается просто и улучшает настроение (особенно на контрасте с Йордоном), можно прочитать за один-два дня, как какую-нибудь фентезийную книжку.

Во-вторых показывает и разжевывает несколько простых правил в разработке ПО, которые почему-то многие до сих пор игнорируют.

Джоэл Спольски. Джоэл о программировании Joel on Software

Джоэл о программировании

Джоэл о программировании

Я бы сказал, что это не книга, а сборник новелл о программировании. Написано очень живым языком, читать одно удовольствие. Главы слабо зависимы друг от друга и содержат истории, которые интересны сами по себе и могут быть прочитаны в любой последовательности. Как сказки Шахеризады  или  серии Футурамы . Это Вам не Ф. Брукс, где на второй половине книги начинаешь пробиваться к финалу сквозь наукоемкие формулировки и тяжеловесные академические языковые конструкции. Джоэл пишет ярко и по делу, для тех кто не знает, на самом дела эта книжка основана на переводах некоторых статей из его блога.

Эрик Синк. Бизнес для программистов. Как начать свое дело.

Бизнес для программистов. Как начать свое дело

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

Приятного чтения!