Книги в моей голове

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

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

Книги расположены в обратном хронологическом порядке. Все книги рекомендуются к прочтению.

«Постигая Agile»

448 / -
10 дней
7 / 10
27.03.2018

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

Scrum, XP - для тех, кому нужно регулярно выпускать новый функционал, следить за качеством кода и успевать жить.

Вместо "больших требований перед началом разработки" (BRUF) - пользовательские истории. Обсуждение всех деталей реализации происходит в последний момент.

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

Вместо предварительной оценки всего проекта и планирования на полгода вперед - планирование происходит в последний момент, и только на ближайшее время: от 1 недели до месяца.

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

В релиз входят только полностью завершенные задачи. Все, что не успелось - переносится на следующий спринт.

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

Это достигается путем визуализации рабочего процесса на "сигнальной доске". Берется список этапов, который есть на самом деле, а не в теории. Для каждого этапа на доске выделяется своя колонка. На доску заносятся все текущие дела, каждое в свою колонку (этап).

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

Далее требуется соблюдать лимит. Если нужно увеличить пропусую способность, можно попробовать оптимизировать процессы или увеличить количество ресурсов.

«Совершенный код»

896 / -
30 дней
10 / 10
05.03.2018

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

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

Интуитивное программирование и отладка - это когда вы плохо понимаете, что и почему делает программа. Но вы чувствуете, что истина где-то рядом и начинаете пробовать разные варианты методом перебора. Если это граница диапозона, то пробуете изменить условие с (x < 0) на (x <= 0) и тд. Прежде, чем внести какие-либо изменения в программу, вы должны всецело представлять почему нужно сделать именно эти действия. Интуитивное программирование - признак лени, нехватки времени или слабого ума.

Начинайте свою программу с написания псеводкода. Псеводкод - это когда вы, на высоком уровне абстракции и на естественном языке, пишите сначала, ЧТО должен сделать код. В итоге, реальный код будет отвечать на вопрос КАК это должно быть сделано. А оставшийся псеводокод можно вынести в описание метода.

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

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

Стиль написания кода - это набор привычек. Когда вы только начинаете, вы можете контролировать себя и писать код осознанно. Со временем вырабатывается собственный стиль написания кода и этот процесс становится привычкой, то есть начинает выполняться механически. Именно приобретенные в начале карьеры привычки определяют качество кода. Чем дальше, тем труднее изменить свой стиль написания кода. Грубо говоря: слабому программисту с опытом работы в 5-10 лет - уже поздно что-то менять.

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

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

«Пиши, сокращай»

440 / -
10 дней
10 / 10
30.01.2018

Писать коротко, просто и по делу - это мне всегда нравилось.

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

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

Лить воду, врать, использовать штампы, вырывать фразу из контекста - это все закат писателя.

«Объекты, шаблоны и методики программирования»

576 / -
25 дней
10 / 10
29.12.2017

В данной книге начинается погружение в шаблоны проектирования. Паттерн (шаблон) — непосредственно зарекомендовавший себя способ решения какой-либо задачи.

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

Одно из главных преимуществ книги в том, то что она написана именно в контексте применения при разработке интернет-проектов на PHP.

«Пользовательские истории»

256 / -
7 дней
8 / 10
17.11.2017

Секрет успеха при разработке крупных проектов - откладывать детали реализации на потом, то есть на момент непосредственной работы над задачей.

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

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

Практика показывает, что невозможно написать 1000 страниц ТЗ с описанием всех нюансов и считать, что проект 100% будет успешным. При этом создается иллюзия, что учтены все возможные детали. Такое ТЗ не будет полностью прочитано и понято, и его не удержать целеком в голове. В реальности, в ходе работы, меняются обстоятельства и возникают непредвиденные в ТЗ вопросы.

Слишком подробное ТЗ больше похоже на способ поиска виноватых, если что то будет сделано не по ТЗ. В общем, при разработке ПО - это дорога в никуда.

«MongoDB в действии»

394 / -
6 часов
10 / 10
01.11.2017

MongoDB - это документо-ориентированная БД (NoSql), поддерживающая вторичные индексы, благодаря чему возможна быстрая выборка по произвольным полям документов. БД имеет богатые интрументы для отладки и профилирования запросов: explain, лог медленных запросов, дефрагментация данных и тд.

MongoDB изначально рассчитана на большие объемы данных и умеет самостоятельно горизонтально масштабироваться (используя шардинг), нужно только правильно подобрать ключи для секционирования. Позволяет поднимать наборы реплик и кластера, для обеспечения отказоустойчивости. Имеет встроенные средства для мониторинга всех узлов.

Книга написана очень грамотно: все по делу и без воды. Обязательно держать на столе, при разработке на MongoDB.

«Паттерны проектирования»

656 / -
10 часов
10 / 10
20.10.2017

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

Самое главное: программируйте на уровне интерфейсов, а не реализации. Один класс - одна задача. Слабая связность кода - залог гибкости архитектуры. Оператор new требует особого внимание, тк способен породить сильную связность кода. Инкапсулируйте то, что может измениться.

«PHP 7»

1088 / -
35 дней
10 / 10
04.10.2017

Книга охватывает все ключевые вопросы по разработке на PHP 7. Подробно описаны все возможности ООП в PHP 7. А также книга рассказывает про современные тенденции в мире веб-разработки (composer, PSR, git, nginx+phpfpm, etc).

«Высоконагруженные системы на основе MySQL»

624 / -
20 дней
10 / 10
20.08.2017

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

«Современные базы данных и идеология NoSQL»

384 / -
20 дней
10 / 10
23.07.2017

Базы данных бывают разные: реляционные(MySql, PostgreSQL), графовые(Neo4j), документо-ориентированные(MongoDB, CouchDB), словари(Redis, Memcache) и другие. У каждого типа свои преимущества. Многие реализуют обмен информацией через REST, что весьма удобно при разрабокте интернет-проектов. Есть поддержка кластеров с высокой отказоустойчивостью. Обрабатывать большие объемы данных на распределеннных серверах позволяет парадигма «MapReduce».

«Современный PHP»

304 / -
4 дня
10 / 10
08.07.2017

Коротко о главных нововведениях, о которых следует знать современному веб-разработчику на php: ООП, PSR, composer, continues integration и тд. Книга небольшая и в большей степени только указывает, что именно следует изучить более основательно.

«Как гибнут великие»

288 / -
5 дней
8 / 10
03.07.2017

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

«Путешествие из Петербурга в Москву»

144 / -
15 дней
10 / 10
27.06.2017

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

«Управление проектами. Полный курс МВА.»

538 / -
20 дней
10 / 10
12.06.2017

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

«REWORK бизнес без предрассудков»

208 / -
3 дня
6 / 10
22.05.2017

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

«Минуту внимания»

272 / 660
5 дней
10 / 10
19.05.2017

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

«KANBAN»

336 / 1117
6 часов
7 / 10
15.05.2017

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

[Читать полную рецензию на книгу]

«Затерянный мир»

315 / -
10 дней
10 / 10
14.05.2017

«Корпоративная система ведения проектов»

248 / 689
3 часа
10 / 10
26.04.2017

Хорошая книга. Без воды. Есть правдивые истории, их мало, и они достаточно короткие. В основном автор делится опытом, все по делу.

[Читать полную рецензию на книгу]

«SCRUM»

288 / 1044
5.5 часов
7 / 10
18.04.2017

В начале книги много рассказывается об истории появления методологии. В конце много лирики. В остальной части книги много полезных мыслей.

[Читать полную рецензию на книгу]

«Искусство объяснять»

264 / 795
3.5 часа
6 / 10
08.04.2017

в книге очень много воды. Но есть и много действительно полезных мыслей. Я бы оставил не больше 100 страниц в книге.

[Читать полную рецензию на книгу]

«Как разговаривать с кем угодно»

192 / 482
5 дней
10 / 10
05.04.2017

Наверно главная проблема, чтобы с кем-то не разговарить это: «а о чем говорить-то?» и «мне это не нужно!». Но это не так - когда-то мы не были знакомы с лучшими друзьями, и с ними тоже надо было начать разговор.

«Эта странная жизнь»

176 / 395
3 дня
10 / 10
30.03.2017

Книга посвящена вопросу осознанного расхода времени, его учета и планирования.

«Как пасти котов»

256 / 1200
10 дней
6 / 10
27.03.2017

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

«Скорочтение»

320 / 1206
30 дней
10 / 10
17.03.2017

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

Первая строка в абзаце самая важная, дальше идут уточнения. Если мысль понятна - двигайтесь дальше. Читайте быстрее, когда все понятно. Не вникайте в детали, если вы читаете книгу для общего развития.

Старайтесь уловить общий смысл. Не возвращайтесь назад. Если вы что-то не поняли - значит мысли слшиком сложная, и скорее всего дальше будет поясняться. А если нет, значит это не важная мысль. Вы все равно не запомните все детали, главное знать где их искать.

«Deadline»

336 / 781
5 дней
10 / 10
07.03.2017

О разработке ПО с юмором. Оценивайте по аналогам. Проектируйте перед непосредственной разработкой. Моделируйте. Пишите код с умом, чтобы уменьшить время на тестирование.

«Трудные диалоги»

256 / 859
9 дней
6 / 10
20.02.2017

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

«Быть начальником — это нормально»

240 / 759
8 дней
10 / 10
24.01.2017

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

«Мысленным взором»

144 / 453
5 дней
10 / 10
09.01.2017

Человек мыслит образами. Некоторые спортсмены поддерживали форму, представляя, как они занимаются спортом. Люди избавляются от страхов и вредных привычек через представление обазорв.

«18 минут»

272 / 662
5 дней
10 / 10
15.11.2016

В книге очень коротко говорится о главном. 5 минут утром - на планирование дня, 5 минут вечером - на подведение итогов, и каждый час следить за следованием по плану.

Предлагается использовать схему, которая у меня и ранее была очень эффективно построена с использованием Trello. Определяем приоритеты на год, выделяем основные направления (семья, учеба, работа, отдых). И все время следим за курсом.

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

«Важные годы»

320 / 794
7 дней
10 / 10
26.10.2016

Не тратьте свою молодость в холостую. В первую очередь семья и дети, образование, путешествия и работа. Задавайте себе чаще вопрос «будет ли это иметь значение через 10-20 лет?», чтобы понимать истинную ценность вещей/событий. В конечном счете все равно остануться только воспоминанния.

«Pro Git»

289 / 1043
15 дней
10 / 10
18.03.2016

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

«Развитие памяти»

220 / 647
20 дней
10 / 10
07.07.2015

Реально работает. Вы научитесь запоминать длинные цифры, бессвязные слова, имена, телефоны. Если вы чего-либо не помните - значит вы это просто не запоминали.

Комментарии

Форма для связи

Контакты
Telegram:

по запросу

Skype:

по запросу

Телефон:

по запросу

Город:

Санкт-Петербург