Собрали список и про Kotlin, и про Java, и про алгоритмы, и про новые инструменты, и популярное чтиво есть. Почитать на новогодние выходные.

«Site Reliability Engineering: How Google Runs Production Systems», Бетси Бейер 

Это книга от Google, а значит она доступна бесплатно в онлайн-версии на английском. Почти 600 страниц (в печатной версии), 34 подробных главы…

…и 6 приложений с полезными материалами, вроде приложения с таблицами доступности…

…или с примерами постмортемов.

В целом, книга не о том, как надо делать, а о том, как это сделано в Google. Повторять их путь не обязательно, но что-то почерпнуть, например, в организационной части — можно.

И пусть вас не смущает SRE в названии — книга будет полезна не только DevOps-инженерам, как это казалось бы на первый взгляд. 

Абакар Магомедов

Android Tech Lead в приложении Альфа-Мобайл

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

«Kotlin in Action», Дмитрий Жемеров, Светлана Исакова

Алексей Батурский

Android-разработчик в приложении Альфа-Мобайл

«Kotlin сейчас — стандарт де-факто в разработке мобильных приложений под Андроид, в книге довольно ёмко и лаконично описаны основные фичи языка»

Описано практически всё: от инструментария до документирования, от системы типов до конструирования DSL. Написано коротко, ясно, по существу…

…и с примерами.

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

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

Но возраст здесь не помеха — принципы актуальны до сих пор, с учётом того, что есть довольно свежие версии с обновлениями.

Абакар Магомедов

Android Tech Lead в приложении Альфа-Мобайл

«Отличная книга о том, почему чистота кода это важно и как её поддерживать. В книге большое количество примеров, что делает её чтение ещё интереснее»

Но есть одно «Но». Автор очень любит писать — почти 900 страниц, как никак. Вот типичный абзац.

«На уровне архитектуры ПО сложность проблемы можно снизить, разделив систему на подсистемы. Несколько несложных фрагментов информации понять проще, чем один сложный. В разбиении сложной проблемы на простые фрагменты и заключается цель всех методик проектирования ПО. Чем более независимы подсистемы, тем безопаснее сосредоточиться на одном аспекте сложности в конкретный момент времени. Грамотно определенные объекты разделяют аспекты проблемы так, чтобы вы могли решать их по очереди. Пакеты обеспечивают такое же преимущество на более высоком уровне агрегации. Стремление к краткости методов программы помогает снизить нагрузку на интеллект. Этому же способствует написание программы в терминах проблемной области, а не низкоуровневых деталей реализации, а также работа на самом высоком уровне абстракции»

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

И, кажется, Стив понимает, что пишет очень много:)

Лаконичности предыдущей книги «Совершенному коду» не хватает:)

«Совершенный алгоритм. Основы», Тим Рафгарден

Абакар Магомедов

Android Tech Lead в приложении Альфа-Мобайл

«Очень интересная книга по алгоритмам. Автор описывает базовые термины как на научном, так и на простом языке. Причём даёт сразу две формулировки, чтобы сложилось более глубокое понимание предмета»

«Интересность» книги возникла не просто так. Ведь она основана на курсах по алгоритмам на Coursera, которые Рафгарден, в свою очередь, основал на лекциях, которые он же читал в Стэнфордском университете. Книга — это двойная производная от лекций, так сказать.

Шесть глав, 258 страниц, алгоритмы, и ничего лишнего.

«Effective Java, 3rd Edition», Joshua Bloch

— Так, а зачем здесь Java? Все новые приложения уже пишут на Kotlin!

Алексей Батурский

Android-разработчик в приложении Альфа-Мобайл

«Всё верно, но проекты с легаси, написанным на Java никто не отменял. А ещё сами исходники Android SDK на Java, а залезать в них во время работы придётся»

Как пишут в отзывах, вы «точно поймёте, как используется та или иная функция»

Раз уж речь зашла о Java, то следующая рекомендация…

«Java Concurrency in Practice», Brian Goetz

Алексей Батурский

Android-разработчик в приложении Альфа-Мобайл

«В современных мобильных приложениях довольно много асинхронной работы. Конечно, она уже закрыта за большим количеством абстракций (kotlin coroutines, rxjava2, HandlerThread) — но не лишним будет узнать, как всё это работает на более низком уровне. В книге приводится довольно много фундаментальных проблем связанных с многопоточностью и работой с памятью. Сложное, но интересное чтиво»

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

«Jetpack Compose Internals», Jorge Castillo

Абакар Магомедов

Android Tech Lead в приложении Альфа-Мобайл

«Compose сейчас все больше набирает популярность, как инструмент построения UI на Android. В этой книге описано, как он устроен под капотом. Всегда полезно знать, как работает тот инструмент, которым пользуешься в повседневной разработке» 

Книга стоит 50 с лишним долларов и есть только на английском. Если это станет препятствием — можно почитать блог Хосе, там тоже достаточно статей о Jetpack Compose. Но глобального понимания, как книга, статьи не дадут.

«Идеальный программист»,  Роберт Мартин

Абакар Магомедов

Android Tech Lead в приложении Альфа-Мобайл

«Эта книга позволяет понять, что я не первый кто сталкивается с определенным типом проблем в карьере программиста и успокаивает даже снимает синдром самозванца. Если уж такой человек как Роберт Мартин ошибался и спокойно может написать книгу о своих ошибок, то и в моем случае в этом нет ничего критичного. Главное учиться на каждой своей ошибке»

В целом, книга скорее мотивирующая, чем техническая — в формате жизненный историй и уроков.

Прочитав её, сразу становится понятно, какую мораль (в хорошем смысле)  от Роберта мы прочтём. Книгу можно читать даже если вы далеки от разработки — советы универсальные (почти все).

«Extreme Programming», Kent Bek

Никита Горбунов

Ведущий Android-разработчик в приложении Альфа-Мобайл

Книгу можно назвать гайдом по созданию ПО. Писал её человек с большим опытом, который успел поучаствовать в большом количестве проектов. Так лучше чем наступать на свои грабли прочитать о чужих»

«С большим опытом» это даже скромно:) Кент Бек — это легенда: один из авторов шаблонов/паттернов проектирования (да, у идеи паттернов есть авторы), автор JUnit, автор книг и подхода экстремального программирования. Это не все достижения, для этого есть отдельная статья у JUG Ru. Но даже этого короткого списка хватит, чтобы записать книгу в список обязательных для чтения.

На этом всё — оставайтесь на связи.


Рекомендуем почитать [подборка редактора блога]:

Подписывайтесь на Телеграм-канал Alfa Digital — там мы постим новости, опросы, видео с митапов, краткие выжимки из статей, и другие подборки, иногда шутим.

Комментарии (4)


  1. ivanovdev
    29.12.2022 20:28

    Ещё одна подборка материалов по мобильной разработке

    Не понял, что в названии делает слово "мобильной"


    1. AlfaTeam Автор
      29.12.2022 20:45

      Действительно, это же подборка для Android-разработчиков


  1. Ioanna
    29.12.2022 22:39

    А что еще посоветуете читать для изучения Kotlin?


    1. ivpetrov386
      30.12.2022 13:40

      Больше писать.