Топ-10 книг по программированию для начинающих от профи своего дела

Считается, что программирование — это прикладная дисциплина, и в её изучении упор нужно делать на практику. Особенно в сравнении с другими digital-специальностями — дизайном или маркетингом.

Ведь от дизайнера ожидают не только механического знания Photoshop или Figma, но и наличия вкуса, который тренируется через насмотренность. От маркетолога – баланса между креативностью и контролем за метриками. Поэтому книги в этих сферах больше направлены на то, чтобы вдохновить читателя, научить вариативности решения их задач.

С программистами такое равновесие работает в меньшей степени – знай, как написать функционал из ТЗ, и ты уже неплох. Если можешь предложить несколько вариантов реализации – вообще замечательно. Но есть важные для кодера хард- и софт-скиллс, о которых не прочитаешь в мануалах и на StackOverflow.

Кадр из сериала «Мистер Робот»

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

Игорь Музыкин

Тимлид продюсеров курсов по программированию

Даниил Пилипенко

Евангелист образовательных программ и автор курса «Профессия Java-разработчик»

«Паттерны проектирования» Эрик Фримен, Элизабет Фримен

Книга будет полезна как опытным разработчикам (если вы сталкивались с различными паттернами на практике, но не знали, что это были именно они) так и новичкам, потому что здесь дается широкий набор исчерпывающих и очень понятных объяснений и примеров. Доступный и интересный способ подачи –– визитная карточка серии «Head First» издательства O’Reilly, так что чтение не будет скучным. Что важно знать: книга ориентируется на Java, но почти все пользователи в сети отмечают, что это не большая проблема для PHP-программистов.

«Чистый код» Роберт Мартин

Книга о том, как писать код без лишних комментариев, чтобы он был понятен другим людям, прост и лаконичен. Издание научит вас писать поддерживаемый и хорошо структурированный код, а также постоянно совершенствоваться в его качестве. Есть большое число актуальных советов – от длины и выразительности имен до содержимого функций. В сети много хороших отзывов о книге, но встречается и критика: опытные прогеры отмечают, что есть моменты, с которыми можно спорить. Но если вы новичок, и нуждаетесь в основах –– эта книга будет очень полезна.

«Компьютерщики»

«Совершенный код. Мастер-класс» Стив Макконнелл

Книга о программировании в широком смысле этого слова. О процессе разработки, о качестве программного кода и чертах самого программиста. Многие прогеры причисляют ее к классике и must read литературе в своей специальности. Содержит не только общие сведения, но и детали –– поэтому даже опытные специалисты найдут ее полезной. Все примеры здесь преимущественно на С++ и Visual Basic. Если вы front-end-разработчик –– общий смысл уловить будет несложно, но в деталях синтаксиса придется разбираться подольше.

«Алгоритмы: построение и анализ» Томас Кормен, Чарльз Лейзерсон

Еще один must have. Хорошо структурированный и очень большой справочник по всем основным алгоритмам с подробными и понятными примерами. Будет полезен как для понимания работы встроенных в языки программирования алгоритмов, так и для проектирования собственных. Книга переиздавалась как минимум три раза: в последнем издании убрали главы о сортирующих сетях и биномиальных кучах и внесены правки в синтаксис псевдокода. Так что для знакомства лучше выбирать более поздние издания –– они значительно актуальнее.

«Кремниевая долина»

«Искусство программирования» (все тома) Дональд Кнут

Фундаментальный труд, который разрабатывался на протяжении нескольких десятилетий, о математике, глубоких аспектах различных алгоритмов и структур данных. Билл Гейтс сказал об этой книге: «Если вы считаете себя действительно хорошим программистом, прочитайте Искусство программирования [Кнута]… Если вы сможете прочесть весь этот труд, то вам определенно следует отправить мне резюме».

«Сколько стоит программный проект» Стив Макконнелл

Уже вторая книга этого автора в нашей подборке. Очень подробное пособие о том, как рассчитывать сроки разработки программного обеспечения. Современный вариант классического труда Фредерика Брукса «Мифический человеко-месяц», написанного в 1975 году. Поможет научиться реалистично подходить к оценке затрат на разработку продуктов.

«Эмоциональный интеллект» Дэниел Гоулман

Работа любого программиста состоит не только из написания кода и сидения за компьютером, но и из взаимодействия с другими людьми — коллегами, подчиненными и руководителями. При таком общении важен эмоциональный интеллект. О том, что это такое и каким он бывает, подробно рассказывает эта книга. А если тема личных эмоций и достижения духовного равновесия окажется вам близка, можно посмотреть и более ранние книги автора. Например, «Многообразие медитативного опыта».

«Тонкое искусство пофигизма» Марк Мэнсон

Бестселлер, о котором вы, наверняка, слышали. Книга, которая позволит разобраться в себе, в своих ценностях, амбициях и мотивах. Для многих даже заменяет психоаналитика, помогает понять суть и пути решения различных внутренних конфликтов. Если копнуть глубже, принципы позитивного мышления, которые изложены в книге, могут показаться знакомыми и простыми истинами. Но разве мы всегда помним о них в ежедневном потоке дел и прогерских кодов?

«Человеческий фактор: успешные проекты и команды» Том Демарко

Книга одинаково полезна и тимлидам, и рядовым программистам. Лучше смотреть третье издание – там 6 новых глав с актуальными дополнениями. По английски она называется «Peopleware» – что еще больше говорит о ее содержании. Книга о людях, о работе в команде и о том, что ваша эффективность зависит не только от техники, но и от социальных факторов. Хвалят менеджеры и управленцы почти любых сфер – число положительных отзывов это уже веский повод обзавестись своим экземпляром.

«Игра в имитацию»

«Психбольница в руках пациентов» Алан Купер

Книга о том, как создавать доступные интерфейсы и делать программное обеспечение понятным даже для тех, кто далек от компьютерных технологий. Один из важных тезисов –– интерфейс вы создаете для тех, кто будет им пользоваться. Мысль кажется очевидной, но практика показывает, что программист часто может забыть про целевую аудиторию на любом этапе разработки. Как этого не допустить? Как настроить обратную связь и нарисовать портрет ваших пользователей? Что такое метод персон? Книга ответит на эти вопросы и даст любому разработчику +100% к профессиональной эффективности.

0
31 комментарий
Написать комментарий...
Альберт Ибрагимов

Даже не знаю, как в этот список для начинающих попали труды дядюшки Кнута.

Ответить
Развернуть ветку
Ievgen Ishchuk

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

Ответить
Развернуть ветку
andrey volgushev

одна критика. предложи свой вариант

Ответить
Развернуть ветку
Галсанов Мунко

Привет! ты с Бурятии?

Ответить
Развернуть ветку
Bulat Ziganshin

1. это не книги по программированию, а книги по алгоритмам, качеству кода и менежменту. первое надо изучать, но конечно не сразу. второе - когда получаете реальную работу и вам нужно писать продакшн код. третье - когда кроме кода вас начинает интересовать менедмент
2. кнут не нужен, а уж тем более начинающим (я его читал и именно поэтому так говорю). Кормен тоже плохо подходит для самостоятельного изучения алгоритмов, это учебник-задачник для сопровождения курсов MIT

Ответить
Развернуть ветку
Аэродуля

Что за курсы MIT?

Ответить
Развернуть ветку
Bulat Ziganshin

afair кормен преподаёт в MIT и как я понимаю, эта книга родилась из его лекций и сопутствующего им учебного курса

Ответить
Развернуть ветку
Аэродуля

А что вы можете посоветовать для изучения программирования?

Ответить
Развернуть ветку
Bulat Ziganshin

вуз

Ответить
Развернуть ветку
Аэродуля

Какой?))))

Ответить
Развернуть ветку
Мерген Болдырев

А "грокаем алгоритмы" Адитья Бхаргава добавьте, пжлст.

Ответить
Развернуть ветку
Даниил Пилипенко

А Вы её прочитали?)

Ответить
Развернуть ветку
Юрин Иван

Кнут да, у всех стоит на полке, но никто не читал))

Ответить
Развернуть ветку
Даниил Пилипенко

А почему, кстати, как думаете?

Ответить
Развернуть ветку
Alexander Lex

Рекомендовать начинающим Кнута - верх снобизма.

Ответить
Развернуть ветку
Мария Одинцова

«Эмоциональный интеллект» Дэниела Гоулмана очень крутая книга, советую (я не программист, но все же)

Ответить
Развернуть ветку
Даниил Пилипенко

Программистам рекомендуем её для общего развития. Многие говорят, что EQ понимается проще через IQ

Ответить
Развернуть ветку
Marina Runovich

Ок, где была эта подборка на старте моего обучения во ВШЭ(

Ответить
Развернуть ветку
Вадим Скворцов
Ответить
Развернуть ветку
Александр Макаров

Добавлю от себя:
1. "Проект Феникс" и "Проект Юникорн"
2. Design Data Intense Applications

Ответить
Развернуть ветку
Даниил Пилипенко

Все три не читал, но выглядят интересно. Спасибо!)

Ответить
Развернуть ветку
0day

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

Ответить
Развернуть ветку
Антон Коростелёв

«Тонкое искусство пофигизма» Марк Мэнсон "...капнуть глубже..." Это ошибка. Копнуть, через "О", проверочные слова копать, а не капать каплями. Исправьте, а то глаз колет.

Ответить
Развернуть ветку
Даниил Пилипенко

Исправили, спасибо!

Ответить
Развернуть ветку
Святослав Жиренко

Да, все книги очень интересные.

Но если вы всерьез хотите научиться программировать, во-первых, одной (сотни) книги не хватит. А во-вторых, первая книга должна быть "Структура и интерпретация компьютерных программ".

Ответить
Развернуть ветку
Даниил Пилипенко

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

Так что книги — для развития и понимания того, что делаешь, но они ни в коем случае не отменяют и не заменяют практику.

Ответить
Развернуть ветку
Святослав Жиренко

автовладельцы с вами не согласятся
сначала надо на права сдать, а потом на дорогу выезжать 

Ответить
Развернуть ветку
Андрей Конышев

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

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Artem Glazkov

Без «Мифического человеко-месяца» Брукса список точно неполный 🤔

Ответить
Развернуть ветку
Виталий Зарубин

«Психбольница в руках пациентов» Алан Купер
дно

Ответить
Развернуть ветку
28 комментариев
Раскрывать всегда