Книги, которые стоит прочесть каждому программисту

От алгоритмов до психологии.
3 минуты42818

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

Лидия Перовская, программист, тьютор кафедры компьютерных технологий факультета информационных технологий и программирования Университета ИТМО:

«Первым в списке окажется классический талмуд по алгоритмам и структурам данных, с которым многие начинают знакомиться еще в школе — „Алгоритмы. Построение и анализ“ (Кормен, Лейзерсон, Ривест, Штайн). Грамотное повествование, аккуратное переиздание, качественный перевод — эта книга поможет изучить все базовые алгоритмы и стандартные приемы программирования, необходимые для их реализации.

Для перехода от пользовательского уровня к пониманию того, как компьютер реализует переданные ему команды, я советую „Архитектуру компьютера“ Эндрю Таненбаума.

Лично для меня исключительно полезной оказалась книга „Рефакторинг. Улучшение существующего кода“ Мартина Фаулера. Хотя я познакомилась с ней только на старших курсах университета, она структурировала мое понимание «хорошего» кода и того, как действительно живет проект после первой его реализации. „Приемы объектно-ориентированного проектирования. Паттерны проектирования“ от „банды четырех“ — Эриха Гаммы, Ричарда Хелма, Ральфа Джонсона и Джона Влиссидеса тоже поможет в осознании необходимости писать поддерживаемый, а не работающий код».

Денис Кудинов, ведущий Ios-разработчик студии мобильной разработки Trinity Digital:

«Если говорить про фундаментальные науки, то я бы уделил особое внимание математике, хотя бы на уровне нескольких курсов университета: высшая математика, комбинаторика, дискретная математика. Такие знания серьёзно прокачивают голову и полезны при программировании реальных задач. Даже если речь идёт про проектирование UI, в современных средах для создания UI используются системы уравнений или неравенств. Понимать изнутри такие вещи крайне полезно для того, чтобы избежать непредвиденных головоломок со стороны скачущей вёрстки. 
Несколько книжек по теме:

  • Демидович Б.П., „Сборник задач и упражнений по математическому анализу“
  • Виленкин Н.Я., А.Н. и П.А., „Комбинаторика“»

Иван Труфанов, генеральный директор Werbary:

«Шэрон Мельник, „Стрессоустойчивость“. Потому что работа программиста не только код, но и постоянные стрессы, которые надо уметь переживать».

Владимир Дворецкий, руководитель проектов в ИТ-компании «Системный софт»:

«Гарри Гаррисон, Марвин Мински, „Выбор по Тьюрингу“. Научно-фантастический роман, но очень полезный с точки зрения технических и этических проблем разработки искусственного интеллекта — грубо говоря, как компьютеру стать человеком и как человеку не стать компьютером. Такие книги расширяют сознание разработчика».

Евгений Потапов, генеральный директор ITSumma:

«Харольд Абельсон, Джеральд Джей Сассман, „Структура и Интерпретация Компьютерных Программ“. Хотя авторы описывают основные концепции программирования на языке Scheme (диалект LISP), книгу всё равно стоит прочитать каждому программисту, чтобы научиться алгоритмическому мышлению. Также стоит заметить, что книга использовалась как учебник в Массачусетском технологическом институте (США).

Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес, „Приемы объектно-ориентированного проектирования. Паттерны проектирования“. Очень полезная книга о том, как разрабатывать архитектуру программного продукта. Её смело можно назвать библией проектирования программного обеспечения».

Сергей Бронников, opensource community manager в компании Virtuozzo:

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

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

  • Эрик Берн, „Игры, в которые играют люди. Люди, которые играют в  игры“
  • Уильям Джеймс, „Психология“
  • Зигмунд Фрейд, „Введение в психоанализ“
  • Абрахам Маслоу, „Мотивация и личность“
  • Альфред Адлер, „Практика и теория индивидуальной психологии“
  • Гордон Олпорт, „Становление личности“»

А какие книги рекомендуете вы?

Прочли книгу — время практики: профессия «Веб-разработчик».

Самоизоляция заканчивается — самое время освоить новую профессию, чтобы начать карьеру мечты и уверенно смотреть в будущее! Мы хотим помочь вам и до 22 июня 2020 г. дарим скидку 40% почти на все программы обучения GeekBrains. Будьте здоровы и успешны! :)

 

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