5 книг для тех, кому недостаточно просто писать код

Можно всю жизнь сидеть в офисе и писать код, но чтобы двигаться дальше — придется учиться.

Здравствуйте!

Мы уже писали о книгах, которые нужны программисту, чтобы вырасти большим и умным. Теперь — о книгах, которые не помогут писать код, но помогут правильно мыслить и учиться.

См. также: «Ruby: три must-read книги, по мнению разработчиков», «5 книг по PHP», «8 книг по Python для начинающих», «Must read: 10 книг по Java».

Майк Монтейро, «Дизайн — это работа»

Как мы говорим нашим клиентам, когда те спрашивают, как будет выглядеть их сайт: «Понятия не имеем. Но у нас есть процесс, который поможет это выяснить».

Когда меня спрашивают, что почитать о дизайне, я начинаю с этой книги. Но эта книга — не о дизайне, а о постановке целей, презентации работы и внимательности.

Я рекомендую эту книгу и программистам: она поможет им понять, что написание кода — скромная часть работы программиста. Главная же цель — решить задачу клиента: понять проблему, найти решение и показать его.

Джим Кэмп, «Сначала скажите нет»

Или, как говорил моему сыну инструктор в школе военных летчиков: «Лейтенант Кэмп, вы, конечно же, иногда принимаете в этом самолете неудачные решения, но не волнуйтесь. Пока вы вообще в состоянии принимать решения, неудачные можно исправить».

Эта книга — о переговорах, нужде и мире клиента. Кэмп рассказывает о переговорах в бизнесе, но система работает везде — на работе, в ресторане и в лифте. Тезисы разбавлены живыми примерами из практики.

Считается, что программист работает не с людьми, а с кодом. Это не так: даже в офисе приходится взаимодействовать с командой, тимлидом и менеджерами. Все это — переговоры.

37signals, «Getting Real»

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

Эти ребята придумали Бейскемп, Ruby on Rails и написали книги: «Remote» об удаленной работе, «Rework» о работе в целом, и «Getting Real», которая получилась случайно. Если вы читали «Rework», то «Getting Real» можете не читать — не узнаете ничего нового.

«Getting Real» — о том, как избегать ненужной бюрократии и рисования схем в пользу реального продукта здесь и сейчас. На самом деле эта книга для программистов, но о ней постоянно забывают. А зря!

Ли ЛеФевр, «Исскуство объяснять»

Пустые взгляды — вы видели это и раньше. Обычно такое наблюдается по прошествии 10 минут, в течение которых вы пытались заразить своим энтузиазмом аудиторию, рассказывая о какой-то идее. Но из выражения лиц слушателей становилось ясно: они ничего не поняли.

Чем программист профессиональнее, тем проще ему объяснять рабочие моменты другим программистам и сложнее — обычным людям. Проблема в «проклятии знания»: сложно представить, что другие люди не знают того, что знаешь ты.

ЛеФевр пишет о том, что умение объяснять — исскуство, но ему можно научиться, и объясняет как. О том и книга, в конце концов.

Генрих Альтшуллер, «Найти идею»

Технический объект идеален, если его нет, а функция выполняется.

Программисты решают задачи.

Каждая задача, требующая решения, содержит в себе противоречие. Решить задачу — значит найти и разрешить это противоречие. Это подход ТРИЗ — теории решения изобретательских задач. ТРИЗ придумали для решения инженерных задач в реальном мире, но принципы универсальны, и их можно и нужно применять в программировании.

 

Стоит ли подробнее рассказать о книгах? Какие еще книги порекомендуете? Рассказывайте.


А писать код мы научим: профессия «Веб-разработчик».

книги
Нашли ошибку в тексте? Напишите нам.
Спасибо,
что читаете наш блог!