Что читают разработчики СберТеха: 23 книги, которые стоит открыть каждому инженеру
Мы заглянули в библиотеку команды СУБД Pangolin и собрали 23 книги, которые реально повлияли на работу и решения инженеров. Здесь не только техническая классика, но и научпоп, книги по дизайну и менеджменту, которые неожиданно меняют оптику и помогают смотреть на системы шире.Эта подборка родилась в командах, которые создают высоконагруженную СУБД повышенной безопасности и надежности — и связанные с ней продукты для работы с данными — Kintsugi и CopyWala.
Если вам тоже интересно, что формирует мышление людей, создающих сложные системы, — сохраняйте статью.
Разработка
Книги, которые формируют инженерное мышление: помогают глубже понимать архитектуру, масштабирование, алгоритмы и внутреннее устройство систем. Если хотите расти как разработчик — эта подборка must read.
Антон Казачков, разработчик в СУБД Pangolin:
1. «Верблюжья книга» (Сamel Book), Ларри Уолл. Оказала на меня сильнейшее влияние. Автор — создатель языка Perl. Это легендарная книга в IT, она сочетает техническую базу, философию Perl («TIMTOWTDI» — There’s More Than One Way To Do It), юмор и культовый стиль. Понравится и тем, кто не сталкивался с Perl.
2. «SQL Cookbook», Энтони Молинаро. Здесь собраны практические советы для работы с SQL — от базовых запросов до оптимизации с примерами для разных СУБД — PostgreSQL, Oracle, MySQL.
Роман Дягелев, разработчик в СУБД Pangolin:
3. «Высоконагруженные приложения. Программирование, масштабирование, поддержка», Мартин Клеппман. Она же — «Книга с кабанчиком» (из-за кабана на обложке). Must read для разработчика высоконагруженных отказоустойчивых приложений. Популярно разбирает внутреннее устройство баз данных и объясняет, в каких сценариях использовать БД того или иного класса.
Михаил Шатохин, разработчик в CopyWala:
4. «Психбольница в руках пациентов», Алан Купер. «Проектирование у программистов — это те 20 минут перед тем, как они начинают писать код». Алан Купер разоблачает удобные для разработчиков, но безумные для пользователей решения и объясняет, как важно проектировать взаимодействия. «Эй, ребята, у вас тут полно обозлённых клиентов. Вам есть что им ответить?».
Илья Шишков, разработчик RnD-команды СУБД Pangolin:
5. «Effective C++», Скотт Майерс. А ещё книги «More Effective C++», «Effective STL» и «Effective Modern C++». Именно благодаря им я полюбил С++. Когда учился в аспирантуре, я распечатал их, сшил и читал в троллейбусе по дороге в университет и обратно — так я прочувствовал философию C++ изнутри и научился элегантно им пользоваться.
6. «Приёмы объектно-ориентированного проектирования. Паттерны проектирования»(1994 год). Авторы Эрих Гамма, Ричард Хелм, Ральф Джонсон и Джон Влиссидес. Их называют «Банда четырёх». Давным-давно я на 14 дней уехал в отпуск, где только спал и лежал на пляже. Этого хватило, чтобы прочитать книгу от корки до корки. Я не выучил все 24 шаблона, которые там описаны, но главное — понял, по каким принципам они строятся. И стал применять их в работе, эта книга до сих пор влияет на то, как я пишу код.
Михаил Левицкий, лидер продукта CopyWala:
7. «Современные операционные системы», Эндрю Стюарт Таненбаум. Это один из ключевых учебников в топовых вузах (включая MIT, Stanford и пр.). Разбирает ОС «по слоям»: от аппаратной абстракции до виртуализации. Ещё У Таненбаума нужно читать «Компьютерные сети» о том, как работает интернет и «Архитектуру компьютера» — как работает CPU и память.
Менеджмент
Чтобы строить сложные системы, недостаточно хорошо писать код — нужно ещё понимать, как работают люди, команды и бизнес-ограничения. Эти книги про то, как общаться, договариваться и не превращать рабочие процессы в хаос.
Михаил Семёнов, лидер СУБД Pangolin:
8. «Доставляя счастье», Тони Шей. История американского интернет-магазина Zappos. Рассказывает о том, как бизнес, где главная ценность — счастье клиентов и сотрудников, может прийти к выдающимся результатам.
9. «Слово за Слово: искусство переговоров в реальной жизни», Арт Гаспаров. Эта книга учит вести переговоры и выходить с выгодой для себя даже из сложных ситуаций.
Иван Пушкарь, лидер Platform V Kintsugi:
«Посоветую “производственные романы”. Это художественная литература, которая через сюжет, героев и диалоги доносит до читателя бизнес-концепции и управленческие идеи. Начать можно с хитовых книг в этом жанре».
10. «Цель», Элияху Голдратт. «Мне тридцать восемь лет, и я никчёмный директор жалкого завода! Чудесно, не правда ли? Я весел и счастлив». Так начинает свою историю Алекс Рого, он главный герой романа, который пытается спасти свой завод от краха. Вместе с Алексом вы проходите путь, начиная от понимания, что такое реальная цель бизнеса, до поиска ограничения, которое мешает её достичь.
11. «Цель-2», Элияху Голдратт. Теперь Алекс Рого — вице-президент крупного холдинга на грани краха. Проблемы вышли на стратегический уровень: три завода, тысячи сотрудников, неясно, какой продукт прибыльный, а какой нет, и постоянная нехватка денег. Книга для тех, кто хочет понять, как принимать стратегические, а не тактические решения на основе теории ограничений.
12. «Проект “Феникс”. Роман о том, как DevOps меняет бизнес к лучшему», Джин Ким, Кевин Бер. Это детективная история IT-директора, который за несколько дней должен спасти проект от провала. В качестве решения он внедряет DevOps. В этой книге автор на примерах объясняет, как устранять разрыв между разработкой и эксплуатацией. Поможет тимлидам лучше понимать девопсов.
Научно-популярное
Полезно (и интересно) читать не только прикладную литературу. Например, научпоп — он здорово расширяет кругозор. Эти книги помогают лучше понимать людей, причины их решений и природу сложных систем. Порой именно оттуда приходят решения, которые помогают в работе.
Михаил Семёнов, лидер СУБД Pangolin:
13. «Sapiens. Краткая история человечества», Юваль Ной Харари. Мировой бестселлер. История развития человеческой цивилизации от появления наших древних предков до современности.
14. «Ружья, микробы и сталь. История человеческих сообществ», Джаред Даймонд. Почему одни народы стали колонизаторами, другие — колониями? В 1998 году Даймонд получил за эту книгу Пулитцеровскую премию. На её основе снят документальный фильм «Ружья, микробы и сталь». Кстати, книга вдохновила Харари на Sapiens.
15. «Лягушка, слон и брокколи», Алексей Марков. Популярно и с юмором о том, как работает человеческий мозг и почему мы принимаем нерациональные решения. Сочетает научные факты и практические советы.
16. «Думай медленно… Решай быстро», Даниэль Канеман. О том, как когнитивные искажения влияют на наши решения. Как работают два типа мышления — быстрое (интуитивное) и медленное (рациональное) и почему мы склонны полагаться на первое раз за разом совершать логические ошибки.
Тестирование
Книги, которые помогают глубже понимать тест-дизайн, роли в команде и подходы к качеству. Обязательный минимум для тех, кто работает с надёжностью продуктов.
Святослав Ященко, тимлид QA-команды в Platform V Kintsugi:
17. «Тестирование Dot.Com», Роман Савин. Это первая книга тестировщика. Рассказывает о сложном простыми словами и даёт исчерпывающее представление о том, что есть тестирование и какая роль у тестировщика. К концу книги станет ясно, подходит ли вам это направление.
18. «Что такое тестирование. Курс молодого бойца», Ольга Назина. Эта книга похожа на труд Савина, но включает много задач на самостоятельную работу. Может быть второй книгой каждого тестировщика :)
Елизавета Моздукова, нагрузочное тестирование СУБД Pangolin:
19. «Как тестируют в Google», Д. Уиттакер, Дж. Арбон, Дж. Каролло. Почему тестировщики в Google не пишут мануальные тесты и как автоматизируют всё? Есть практические методы — например, как тестировать микросервисы и большие данные.
Дизайн
Эти книги — про то, как работает визуальное мышление. Они объясняют, как люди читают интерфейсы и почему одни решения срабатывают лучше других. Даже если вы не дизайнер, эти знания делают вас сильнее как создателя продуктов.
Дмитрий Петелин, дизайнер в СУБД Pangolin:
20. «Ководство», Артемий Лебедев. На заре карьеры познавал базу через «Ководство». Тогда оно выходило по статьям на странице студии. Сейчас можно купить книгу и наслаждаться.
21. «Типографика», Ян Чихольд. Это классика и основа основ работы со шрифтом. Много истории, лес из терминологии типографского дела вековой давности. Но оно того стоит. А еще можно насладиться великолепным иллюстративным материалом.
22. «Карикатуры, путевые зарисовки», Херлуф Бидструп. Легендарный датский художник-карикатурист. В СССР по его работам рисовали мультфильмы. Если хотите заняться иллюстрацией и научиться передавать эмоцию и движения персонажей — копируйте и осваивайте приёмы Бидструпа. Хотите просто получить эстетическое удовольствие и улыбнуться — смотрите работы Бидструпа.
23. «Как рисовать крутые комиксы», Кристофер Харт. Бестселлер для художников во всём мире. В целом художники комиксов — самые крутые, потому что могут нарисовать вообще всё. Харт полезен иллюстраторам, которым нужна максимально простая анатомия и понимание, как быть со сложными ракурсами. А любителям комиксов будет интересно узнать внутреннюю кухню индустрии.
***
В комментариях с радостью обсудим, какие книги больше всего впечатлили вас или повлияли на то, как вы пишете код?
А если вы готовы применять знания на практике, — в Сбере регулярно открываются стажировки и позиции для начинающих, посмотреть вакансии можно здесь.