Чтение книг уходит в прошлое – сейчас, при желании узнать или изучить что-то новое, удобнее будет послушать подкаст или посмотреть обучающий видеоролик. Тем не менее, раз вы здесь, то вы понимаете – есть нечто особенно полезное и притягательное в книгах.
Конечно, изучение кода не требует чтения книг, однако, если вы обучаетесь на технических специальностях, вы точно сталкиваетесь с учебной литературой – попробуйте изучить что-то кроме университетских изданий.
Можно ли учить программирование по книгам? И если да, есть ли достойные экземпляры? Наш обзор сможет ответить на эти вопросы.
Недостатков чтения книг в печатном варианте, особенно для деятелей из технической сферы, масса – это и громоздкость книг, и затраты времени на поиск нужной информации, и ограниченность интерактивных примеров кода. Какие есть альтернативные варианты для чтения?
Для того чтобы книги принесли вам пользу, необходимо а) желание учиться, б) понятный и полезный материал, в) применение прочитанного на практике. Попробуйте использовать этих три элемента в совокупности, чтобы преуспеть.
Какие книги будут полезны для разработчиков? Разберем базовые руководства для Junior, Middle и Senior специалистов.
Если вы не определились, кем хотите стать или какой язык учить следующим, переходите на статью 10 самых востребованных языков программирования 2024 года, где мы рассказываем про рыночные тенденции и сравниваем языки по востребованности, наличию и качеству библиотек и фреймворков.
Для кого? Junior
Какого года? 2020
Четвертое издание «Изучаем Python» – это отличная книга для начинающих, охватывающая основы Python с практическими примерами. В ней вы сможете почитать про базовые понятия Python: типы данных, операторы, структуры данных, функции и модули. Также большое внимание уделяется ООП (объектно-ориентированному программированию) и работе с файлами.
В конце каждой главы вас ждут контрольные вопросы с ответами, чтобы вы могли проверить и закрепить свои знания, а в конце каждой части – упражнения, решения которых вы найдете в приложении В. Книга дополнена примечаниями о самых значимых обновлениях и расширениях, введенных в версии Python 3.1.
Для кого? Middle
Какого года? 2021
Книга ориентирована на программистов, уже имеющих опыт работы с другими языками. Хотите узнать, как использовать функции как объекты первого класса или как декораторы могут улучшить ваш код? Здесь вы найдете ответы. Издание охватывает последние изменения в Python 3.9 и 3.10. Если вас интересует писать более производительный и качественный код, то эта книга для вас. Из описанных методов вы изучите: декораторы, контекстные менеджеры, абстрактные базовые классы и многое другое.
Для кого? Junior
Какого года? 2021
Идеальное введение в язык JavaScript, охватывающее как базовые, так и продвинутые концепции, например, функции, объекты, асинхронное программирование и работа с DOM. Книга Мэрийна Хавербеке уникальна своей структурой, направленной на практическое обучение через пошаговые проекты (создание игры «Жизнь» или рисование фракталов).
Марейн Хавербеке — опытный практик. Вы начнете с изучения структуры языка, управляющих конструкций, функций и структур данных. Затем перейдете к обработке ошибок и отладке, освоите модульность и асинхронное программирование. В завершение – займетесь программированием браузеров, применяя все полученные знания на практике. Особенностью книги является глубокое погружение в функциональное и асинхронное программирование с помощью промисов и async/await.
Для кого? Middle
Какого года? 2021
Углубленное руководство, охватывающее все аспекты JavaScript. Эта книга является наиболее подробным справочником по JavaScript и его экосистеме. Здесь собрано всё: от базовых конструкций до сложных тем, таких как асинхронное программирование, работа с веб-API и разработка веб-приложений. Книга включает многочисленные примеры кода и объяснения, что делает её полезной как для начинающих, так и для опытных разработчиков. Примечательно, что в ней больше 1000 страниц, наполненных примерами кода и объяснениями. Конечно, такой трактат будет удобнее изучать в электронном формате.
Для кого? Senior
Какого года? 2020
«You Don’t Know JS Yet: Get Started» (2nd Edition) — это обновленная версия популярной серии книг про JavaScript. Она написана для опытных разработчиков, стремящихся улучшить свои знания и навыки. Все 6 книг являются совершенно новыми, переписаны, чтобы охватить все стороны JS на 2020 год и далее.
Кайл Симпсон известен своим глубоким пониманием JavaScript и умением объяснять сложные концепции простым языком. Его книги помогают разработчикам уровня Senior и выше не только совершенствовать свои навыки, но и получать удовольствие от программирования на JavaScript.
Разберем конкретно 2d edition. В ней вы найдете подробное объяснение основ JavaScript, включая типы данных, области видимости, замыкания и объекты. Также отдельное внимание уделяется асинхронному программированию, современным подходам к модульности (включая ES6 модули), управлению зависимостями. Кайл показывает различные техники оптимизации производительности кода и подсвечивает такие нетривиальные концепции как метапрограммирование, работа с прокси и рефлексией.
Книга не просто учит, как писать код, но и объясняет, почему и как JavaScript работает. Хотя бы поэтому ей стоит дать шанс. К тому же на Oreilly она есть в форме pdf в свободном доступе (правда только на английском языке). На просторах Интернета можно найти и русскую версию.
Для кого? Junior
Какого года? 2023
Интерактивное и увлекательное введение в Java для начинающих. Она предлагает пошаговое введение в язык, начиная с основ и заканчивая более сложными темами – работа с файлами, многопоточность и сетевое программирование. В книге вы найдете много наглядных иллюстраций, что делает ее более доступной для изучения. Особенностью книги является её фокус на подготовке к реальным проектам и задачам.
Для кого? Middle
Какого года? 2018
Незаменимое руководство для мидлов, полное практических советов по улучшению кода на Java. Тут и советы по проектированию API, работе с коллекциями, и обработка исключений и многопоточности. Особенность книги – акцент на «чистый код» и оптимизацию производительности.
Для кого? Junior
Какого года? 2022
Комплексное руководство по C# и .NET Core для создания кроссплатформенных приложений. Книга фокусируется на реальных проектах, например создание веб-приложений и API. А еще, авторы дополнили издание новейшими функциями C# 8.0 – асинхронные потоки и диапазоны.
Для кого? Senior
Какого года? 2020
Книга, известная своим детальным и продвинутым анализом языка C#. Предназначена, скорее, для опытных разработчиков, желающих углубить свои знания в. Здесь охвачены такие темы, как передовые концепции ООП, многопоточность, работа с сетями и оптимизация производительности. Книга содержит множество примеров и советов по написанию эффективного кода.
Для кого? Junior
Какого года? 2020
Эта книга предлагает введение в веб-разработку с использованием HTML и CSS, с акцентом на создание адаптивного дизайна. Примечательной особенностью является её визуальный подход: книга наполнена иллюстрациями и цветными примерами кода. Доступность и легкость изложения делает её отличным ресурсом для начинающих веб-разработчиков.
Для кого? Senior
Какого года? 2023
Углубленное изучение проектирования и реализации сложных веб-приложений и систем. Эта книга рассматривает подходы к проектированию, разработке и внедрению микросервисной архитектуры. Автор обсуждает декомпозицию монолитов, управление конфигурациями, оркестрацию и мониторинг микросервисов. Книга полезна для разработчиков и архитекторов, стремящихся освоить современные подходы к созданию масштабируемых систем.
Для кого? Middle
Какого года? 2016
Почитайте про основные принципы и практики DevOps – автоматизация, непрерывная интеграция и доставка. Книга имеет структурированный подход и в ней действительно много реальных кейсов. Особенностью книги является её акцент на методологии непрерывного совершенствования и советы по внедрению инструментов DevOps в организации.
Для кого? Senior
Какого года? 2022
Книга доступна только на английском языке. Она предлагает научно обоснованные методы и практики для создания и масштабирования высокоэффективных технологических организаций. Материал книги основан на данных и исследованиях, подкрепленных реальными примерами. Особенностью книги является её акцент на измерении производительности и качества программного обеспечения, что делает её незаменимой для менеджеров и лидеров команд.
Для кого? Любой
Какого года? 2022
Доминика – ведущий практик по Kanban в IT-индустрии. Её книга предлагает методы визуализации процессов работы и управления задачами. В книге рассмотрены популярные инструменты управления ИТ-командой – канбан-доски и карты потоков. Особенностью книги является её акцент на выявление «расхитителей времени» и оптимизацию процессов, что делает её полезной для менеджеров, стремящихся повысить эффективность работы своей команды.
Также, вы можете почитать про эволюцию методов разработки и управления проектами. Например, чем Agile отличается от Waterfall и в чем заключается философия DevOps.
Для кого? Junior
Какого года? 2019
Книга идеально подходит для новичков, желающих изучить Python через практические проекты. В чем заключается проектный подход? Вы будете создавать игры, визуализации данных и веб-приложения – это поможет лучше понять и применить изученные концепции.
Для кого? Middle
Какого года? 2019
Если коротко, то – это руководство для разработчиков среднего уровня, фокусирующееся на практическом применении ML. Введение в глубокое обучение происходит с помощью использования библиотеки Keras на Python. Вы научитесь создавать и обучать нейронные сети для решения реальных задач. Если вас интересует разработка ИИ и ML – советуем заглянуть.
Для кого? Любой
Какого года? 2016
Эта книга является фундаментальным трудом по глубокому обучению, написанным ведущими экспертами в этой области. В ней рассматриваются теоретические и практические аспекты deep learning, такие как архитектуры нейронных сетей, алгоритмы обучения и приложения. Книга будет полезна для студентов, исследователей и разработчиков, которые действительно интересуются темой.
Особенностью книги является её академический подход и включение новейших исследований в обсласти. Другими словами, книга полна данных о реальной практике по deep learning.
«Написанная тремя экспертами в этой области, «Глубокое обучение» — единственная всеобъемлющая книга по этой теме». — Илон Маск, сопредседатель OpenAI; соучредитель и генеральный директор Tesla и SpaceX.
«Человеческий фактор: Успешные проекты и команды» — Том ДеМарко и Тимоти Листер
Книга о людях, командах и о том, как управлять проектами разработки. Она сосредотачивается на человеческом факторе и изучает, как он влияет на эффективность разработки. Эта книга широко известна и популярна среди ИТ-специалистов и менеджеров проектов за ее уникальный подход к вопросам управления командами и проектами.
«Мифический человеко-месяц, или как создаются программные системы» — Фредерик П. Брукс
Эта классическая книга об инженерии объясняет многие аспекты управления проектами и командной работы. Здесь можно найти много размышлений о разработке ПО и проблемах, связанных с увеличением команд и сроков разработки.
Understanding the 10x Developer — Jonathan Solórzano-Hamilton
Статья помогает понять, что делает некоторых разработчиков более продуктивными и как менеджеры могут поддерживать эффективность своих команд.
Книга «Understanding the 10x Developer» Джонатана Солорзано-Хамильтона, опубликованная на платформе freeCodeCamp – это эссе, а не полноценная книга.
Она обсуждает миф о так называемом «10x разработчике» — программисте, который якобы может быть в десять раз более продуктивным, чем его коллеги. Что на самом деле означает быть продуктивным разработчиком? Автор подчеркивает важность навыков общения, сотрудничества и других soft skills, наряду с техническими знаниями.
What Makes a Good Software Engineer? — Google Research (Google AI Blog)
Исследование Google о том, какие качества делают разработчиков успешными. Полезно для менеджеров, чтобы лучше понимать, как поддерживать и развивать команды.
How to Read Code — Bill Sourour (Dev.to)
Статья, которая объясняет, как научиться читать код. В основном, она направлена на разработчиков, которые хотят улучшить свои навыки в чтении и понимании кода, а также научиться эффективно работать с чужим кодом или большими кодовыми базами. Но, статья может быть полезной и для менеджеров, которые хотят лучше понимать, что делают их команды.