CTO Genesis Media Вячеслав Одиноков более 11 лет работает в IT. В Genesis прошел путь от Senior Front-End Developer до CTO. В своей колонке для AIN.UA он поделился лучшими книгами о веб-разработке, которые были полезными для развития его собственной карьеры.


Большую часть своего карьерного пути в IT я провел в качестве full stack-веб-разработчика. Активное участие во всех этапах разработки веб-приложений требует разносторонней квалификации. Еще с того времени я взял за правило добавлять в свой список для прочтения литературу из множества сфер и о разных темах. Лучшее я собрал в эту подборку.

Илья Григорик, High Performance Browser Networking: What every web developer should know about networking and web performance

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

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

В книге достаточно полно описаны “способы” доставки, их особенности, ограничения и сферы применения. Сегодня быстродействие сайтов – крайне актуальная тема, а Илья Григорик является специалистом в вопросах производительности в вебе. У него множество полезных статей, которые можно прочитать здесь

Александр Швец «Погружение в паттерны проектирования»

Книга также доступна на украинском и на английском

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

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

У автора также есть сайт. Там можно найти описание шаблонов и полезные сведения о рефакторинге кода.

Professor Frisby, Mostly adequate GUIDe to functional programming

Книга также доступна на украинском (контрибьютор GitHub: Главы 1-7) и русском (контрибьютор GitHub: Главы 1-8)

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

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

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

Также по следам книги создали онлайн-курс на egghead.

Pramod J. Sadalage, Martin Fowler, NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence

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

Мне всегда нравилась идея “полиглотизма” в разработке: выбирать технологию или язык в зависимости от задачи. Идея вроде очевидна, но я часто вижу, как специалисты ограничивают себя одной технологией и пытаются натянуть на нее решение. 

Эта книга стала для меня отличным подспорьем на пути к “полиглотизму” в вопросах работы с данными. Считается, что с помощью NoSQL можно создать более производительные, легче масштабируемые и проще программируемые системы. Авторы доступно объясняют устройство и работу различных СУБД, а также демонстрируют возможные пути их использования.

Michael T. Nygard, Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)

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

Эта одна из самых любимых книг.  

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

Автор добавил примеры на Java с пояснениями и комментариями, в которых будет несложно разобраться. 

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

Автор: Вячеслав Одиноков, CTO Genesis Media