Лучшие книги для старта карьеры разработчика

В этом выпуске мы обратились к экспертам с вопросом:
— Если бы вы могли вернуться в прошлое, к самому началу своей карьеры разработчика, и сказать самому себе: «прочитай именно это», какую бы книгу вы рекомендовали?

Передаём слово экспертам.

Антон Пискунов

Антон Пискунов, основатель и генеральный директор BeastGaming

Все зависит от того что подразумевается под «началом».

Если мы говорим о человеке который учится в школе и только-только начинает интересоваться программированием, то советовать читать профессиональную литературу достаточно глупо — лучше порекомендую оффлайн курсы вроде Digital Banana. Нужна атмосфера драйва и человек который руками поможет с проблемами, а не сухие выдержки того как делать правильно, а как нет.

В случае если же человек учится уже в 10—11 классе или на первых курсах «вышки» и имеет небольшой опыт программирования, то наверное имеет смысл начать с того что прочесть «Совершенный код». В современных реалиях это больше дань традициям, на мой взгляд, нежели реальная польза. После прочтения советую идти на Coursera, в Epixx или любую другую площадку которая учит программированию интерактивно — КПД выше.

Алексей Михайлишин

Алексей Михайлишин, руководитель отдела разработки ПО компании ОС3

Я начинал свою карьеру как С++ разработчик, соответственно посоветовать могу книги по этому направлению. Но, пожалуй, и в целом по программированию часть из них тоже будет полезна.

Современный С++ ушёл далеко вперёд и сейчас говорят, что начинать изучать его с языка Си не очень правильно, однако я всё таки склоняюсь к тому, что начинать надо с классической книги «Язык программирования Си», более известной как просто «K&R». Она отлично структурирована и написана самими авторами языка, хорошо приводит в порядок общее представлении о программировании в том числе.

Для тех, кто уже что-то программирует, крайне рекомендую прочитать все книги Скотта Майерса по эффективному использованию C++ и STL. Они оформлены в виде набора небольших советов, благодаря этому читаются легко в перерывах между учёбой или работой. Но при этом затрагивают много очень важных вещей, таких как, например, паттерны проектирования или контейнеры и алгоритмы. Может быть, вы даже не получите полного представления об этих темах, но хотя бы поймёте, что это такое, зачем вам нужно, и в каких направлениях стоит копать дальше.

Отдельно рекомендую после устройства на свою первую работу в качестве программиста прочитать пару книжек по управлению командами разработчиков, например, «Как пасти котов» Дж. Ханк Рейнвотера. Даже если вы и не думаете пока что о том, чтобы стать ведущим разработчиком или тим-лидом, это поможет вам лучше понимать как и почему начальство ставит вам задачи, а значит и лучше их выполнять. Это поднимет вашу ценность как программиста и в будущем поможет в продвижении по карьерной лестнице.

Артур Сахаров

Артур Сахаров, технический директор Redmadrobot

Joel Spolsky: «Joel on Software». Сначала хотелось Макконнелла порекомендовать, но в начале карьеры не так важно уметь грамотно проектировать или писать код, как представлять, куда развиваться и зачем: в качестве книги, от которой остается больше вопросов, чем ответов, Спольски отлично подходит. И шансы дочитать его до конца, не закончив карьеру прямо сразу, намного выше, чем Кнута.

Стас Павлов

Стас Павлов, руководитель направления маркетинга для технических аудиторий в Microsoft Россия

Я бы посоветовал себе прочитать книгу «Алгоритмы: построение и анализ».

Станислав Протасов

Станислав Протасов, старший преподаватель и научный сотрудник Университета Иннополис

Думаю, что это могла бы быть любая внимательно прочитанная книга по алгоритмам и структурам данных, например, Н. Вирт «Алгоритмы + структуры данных = программы», «Data structures and algorithms in Java» (Goodrich, Tamassia). Сразу за ней — глубокую книжку по набору технологий, например, «Pro C# 5.0 and the .NET 4.5 Framework (Expert’s Voice in .NET)» (Troelsen).

Андрей Войнов

Андрей Войнов, директор по разработке программного обеспечения «Петер-Сервис»

Хорошему программисту надо читать не только (и может быть, не столько) книги о программировании, но и книги о бизнесе, личном развитии, выстраивании отношений в коллективе, работе с клиентами и т.д. Хороший программист – это тот, кто приносит пользу своему проекту. 🙂 А для этого надо не только уметь писать код, но и слышать заказчика и свою команду. Возможно, для начинающего специалиста это звучит странно. 🙂 Но, тем не менее, основная зона роста большинства айтишников – это не новые языки программирования, а коммуникационные навыки и понимание бизнеса. Только человек, который слышит и понимает своего потребителя, может создать по-настоящему успешный продукт. Язык программирования – это всего лишь язык, средство, а важен не язык, важно то, что ты хочешь выразить с его помощью, для кого и какая будет от этого польза.

Прим. редакции: мы рекомендуем книгу “45 татуировок менеджера” и другие книги издательства МИФ.