Книжный куб
11.1K subscribers
2.65K photos
6 videos
3 files
1.95K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре
Download Telegram
Надвигается беда (Something Wicked This Way Comes)

Эта графическая адаптация одноименного романа Рэя Брэдбери, который писал в разных жанрах и известен многим по антиутопии "451 градус по Фаренгейту". Кроме того, у него есть интересная автобиографическая повесть "Вино из одуванчиков", про которое я рассказывал раньше. В предисловии к этой книге Рэй рассказывает о том, что идею этого романа он тоже написал на основе своих детских воспоминаниях о карнавалах и сделал это в виде сценария для Джинна Келли, великого танцора/актера/режиссера. Но сценарий превратить в фильм не получилось и дальше Рей превратил его в роман, который обрел популярность. Кажется, что эта популярность обусловлена тем, что на страницах мы видим адский карнавал, зеркальные лабиринты, метафорическую машину времени в виде вращающейся карусели и двух школьников, которые попали в оборот и никто из взрослых им не верит ...

#SciFi
🔥5👍3
Летняя распродажа издательства Питер

Я не большой фанат переводов издательства Питер, но непереводные книги там ок:)
А если их можно купить за полцены, то это еще лучше. И сейчас как раз такая ситуация у них распродажа до 1 августа, где
- скидка 40% на все бумажные книги по купону — Бумажная книга
- скидка 50% на все электронные книги по купону — Электронная книга

Я планирую вечером полистать что там из научпопа появилось:)
🔥8👍62
Этернавт (The Eternaut)

Этот графический роман Эктора Оэстерхельда и Альберто Бреччиа является культовым аргентинским комиксом, который был создан больше 50 лет назад.
Этот комикс рассказывает про Буэнос-Айрес и группу друзей, которые внезапно оказываются одними из выживших в смертносном снегопаде, который убивает всех, кого касается. Историю рассказывает нам Хуан Салво, чья семья и друзья спаслись от снегопада, укрывшись в доме. Дальше они делают вылазки в пустой город за необходимыми вещами и в какой-то момент за ними приходят представители сопротивления, которые рекрутируют их к сбее. Там они готовятся встретиться с неизвестным противником, которым оказываются не другие люди, чего можно было бы ожидать проведя параллели между снегопадом и ядерной зимой. Нет, противники оказываются еще более зловещими, опасными и непонятными ...
Интересно, что главный герой называет себя ээтернавтом, путешественником по вечности, и только под конец книги мы понимаем как связана ∞ с историей героя.

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

P.S.
Этот графический роман доступен в издательстве Питер и его можно купить на летней распродаже с 40%, правда у меня он уже был до этого:)

#Comics #SciFi
🔥83👍1
Как бороться за внимание клиента — Владимир Посвянский, Тинькофф

Это интересное выступление моего коллеги, Вовы Посвянского, продолжает тему первого свидания с клиентом (об этом рассказывал Вова Тен) и переводит фокус на то, как сделать эти свидания постоянными:)
Вова начал выступление с того, а почему борьба за внимание клиента - это теперь необходимость, чтобы не превратиться в commodity. Вова показывает примеры из сферы банкинга, поисковиков, шоппинга, социальных сетей. Дальше он переходит к обсуждению защитных механизмов от оттока пользователей - так он приходит к понятию вовлечения, которое делит на 2
1. Физическое - конкретные осязаемые преимущества и фичи продукта
2. Метафизические - эмоциональная привязанность
Дальше Вова переходит к тому, как важно быть частью жизни клиента на оттоке клиентов с Tinkoff Black в зависимости от покрытых категорий транзакций. Именно тут появляется упоминание jobs to be done, которые закрываются продуктом. Дальше он переходит к понятию tone of voice, то есть тональности сообщений. которые транслируются от лица компании клиентам. И tone of voice зависит от двух параметров
1. Понимание миссии продукта
2. Понимание целевой аудитории - ценности, ожидания, проблемы
И дальше Вова сравнивает tone of voice разных компаний Aviasales, Яндекс.Драйв, "Два кофейных маньяка", Tinkoff Stories и в конце Tinkoff Travel в сравнении с Aviasales:)
Эта часть заканчивается утверждением того, что правильный tone of voice - это тоже ответственность product менеджера, который должен знать и пользоваться базовыми правилами. Например, базовые подходы к tone of voice в Тинькофф такие
1. Четкий лаконичный посыл
2. От потребности клиента
3. Экспертность, а не маркетинг
4. Актуальность
Когда с tone of voice разобрались, остается еще понять форматы и каналы дистрибуции, а также регулярность коммуникаций и таргет для того, чтобы правильно использовать этот tone of voice:)
Дальше Вова переходит к рассказу о том, как важна настройка продукта под клиента. Здесь появляются квизы, персонализация на прошлом поведении (например, повтор заказа в e-com), помощь в принятии решений (условные системы рекомендаций - подборки фильмов, подборки товаров для дачи, капсулы с одеждой). Все это было про упрощение работы с продуктом и сокращение CJM (customer journey map) так, чтобы пользователь быстрее решил совю job. А дальше Вова начинает рассказывать про удлинение CJM за счет внедрения геймификации, ачивки, челленджи.

Напоследок Вова подводит итоги и выдает рекомендации
1. Выбирайте tone of voice вашего продукта
2. Упрощайте decision making с помощью подборок и персонализации
3. Устраивайте челленджи и внедряйте геймификацию
4. Увеличивайте количество потребностей, которые вы закрываете
чтобы
1. Повышать возвращаемость в продукт
2. Строить эмоциональную связь с клиентом

В итоге, это выступление дает хорошее понимание, чем занимаются ребята в вовлечении:)

#Software #Marketing #ProductManagement
👍73🔥1
Улетаю в Новосибирск через час

В прошлый раз я был в Новосибирске на конференции CodeFest в 2019 году, где рассказывал про "Культура разработки глазами тимлида: переход от монопродукта к экосистеме". В этот раз лечу туда пообщаться с коллегами, поучаствовать в выезде к Обскому морю, а также рассказать за час внутренние новости по моему юниту, а также про наши движения по архитектуре и процессам разработки - я теперь редко куда летаю без того, чтобы там выступить:) За последние полтора года я настолько привык к полетам, что воспринимаю это почти как поездку на такси. Но поездка длинная, поэтому я скачал себе пару книг, несколько whitepapers и взял с собой три бумажные книги - точно не заскучаю в аэропорту:)
👍97🔥5
ArchDays MeetUp - Проектирование БД: От NF к денормализации данных

1 августа в 19:00 по Москве пройдет митап от ArchDays, на котором Антон Цитульский из Тинькофф расскажет доклад про проектирование баз данных. Он начнет с того, как при старте проекта обычно стартуют с нормализованного представления, которое позволяет поддерживать данные в консистентном состоянии. В таком формате проще развивать решение, усложнять модель данных и писать запросы, которые можно делать не боясь joins, так как нагрузка небольшая. Но потом проходит некоторое время, данных становится больше, запросы к данным становятся сложнее в плане объединения таблиц, но предсказуемее, так как основные фичи в продукте уже есть. И в какой-то момент становится полезным подумать над денормализацией данных, а возможно и над разделением того, как и куда данные пишутся и откуда читаются (это уже про read-write paths, о которых подробно говорил Клеппман в своей книге).
В общем, про все это и расскажет Антон, а я немного потизерил его доклад, так как я выступал в качестве ревьювера от программного комитета конфы:)

Регистрируйтесь на этот бесплатный митап и приходите послушать в онлайне.

#Architecture #Software #SoftwareArchitecture #Meetup
🔥1210👍4
Machine Learning: The New AI

Прочитал вчера в самолете эту простую книгу Ethem Alpaydin из серии MIT Press Essential Knowledge series, которая была издана в 2016 году. Читать было достаточно интересно, но стоит отметить, что эта книга для начинающих вкатываться в эту тему - автор очень просто объясняет все концепции без использования сложной математики, но с использованием большого количества примеров. Прочитав эту книгу, вы не научитесь делать ML, но хотя бы поймете что это такое и как его можно применять в реальной жизни.
Подробнее в моей статье.

P.S.
Раньше я уже рассказывал про "Data Science" - другую книгу из этой же серии.

#DataScience #ML #ExternalReview #AI #Software #PopularScience
👍7🔥52
Паттерны объектно-ориентированного проектирования (Design Patterns: Elements of Reusable Object-Oriented Software)

Почти 30 лет назад вышла классическая книга "Design Patterns" от Банды Четырех (Гамма Э., Влиссидес Дж., Джонсон Р. , Хелм Р.). Я прочитал ее в первый раз еще в 2006 году и перечитывал несколько раз с того времени. Помню как мне понравилась структура самого паттерна, как повторяемой архитектурной конструкции в, предлагающая решение проблемы проектирования в рамках некоторого часто возникающего контекста. Плюс интересна была таксономия паттернов по категориям
- Creational patterns - порождающие паттерны, как удобно и безопасно создавать объекты, группы объектов. Примеры шаблонов: абстрактная фабрика, фабричный метод, прототип, singleton, ...
- Structural patterns - структурные паттерны, как строить удобные в поддержке структуры классов. Примеры шаблонов: адаптер, bridge, декоратор, прокси, фасад, ...
- Behavioral patterns - поведенческие паттерны, как организовывать эффективное взаимодействие между объектами. Примеры шаблонов: команда, стратегия, шаблонный метод, visitor, iterator, observer, состояние, ...
По-факту, этот набор шаблонов стал некоторым ubiquitous language для разработчиков при размышлении про проектирование приложений.
Сейчас эта книга является актуальной с точки зрения концепции, но вот примеры с кодом на Smalltalk явно сильно устарели:) Но я ее все равно рекомендую почитать:)

P.S.
Если сделать лирическое отступление, то сам подход родился в 1970х года, когда Кристофер Александер написал книгу про архитектурные шаблоны «Язык шаблонов. Города. Здания. Строительство». Ну а в IT все полетело после того, как Банда Четырех написала книгу, которую мы вспоминаем сейчас:)

#Patterns #Software #SoftwareArchitecture #SoftwareDevelopment #Architecture #SystemDesign
👍165🔥4
Как позаботиться о клиенте с выгодой для продукта — Петр Савостин, Тинькофф

Это полезное выступление моего коллеги, Петра Савостина, которое продолжает темы первого свидания с клиентом, а потом и дальнейшего вовлечения клиента в экосистему.
В самом начале доклада Петр рассказывает о том, что забота - это залог длительных отношений
1. Заинтересовать и удержать
2. Слышать и слушать друг друга
3. Удивлять и предугадывать желания
4. Смотреть на отношения шире
5. Уметь правильно сгладить углы

Дальше Петр переходит к историям и начинает с того, что первое впечатление нельзя произвести дважды. И самые первые моменты в отношениях - самые важные. Тут важно, чтобы
- Чтобы все прошло как можно более гладко и бесшовно
- Сформировать привычку пользоваться продуктом
- Сделать так, чтобы мы стали неотъемлемой частью жизни клиента
Дальше Петр приводит пример Wargaming и первого впечатления. И переходит к рассказу про силу привычки и Aha-момент.

Следующая большая тема - такая метрика клиентского опыта, как ообращаемость. Петр показывает как обращаемость меняется в зависимости от разных этапов жизни клиента в рамках нашего продукта. Дальше пример банка-конкурента, что обещал доставить карту за день, а не доставил за неделю и с ними пришлось общаться чуть ли не каждый день:) После этого примера Петр говорит, что лучший CX - это когда не нужна поддержка (все идет настолько плавно, что не надо обращаться в нее). Но если обращения все-таки случаются, то их надо анализировать. Для этого можно использовать семантическую карту обращений и дальше смотреть на топ категорий и реверс-инжинирить процесс так, чтобы понять причину того, почему пользователям надо обращаться в поддержку. А дальше у вас с большой вероятностью появятся инсайты о том, что можно улучшить. Плюс этот же подход поможет вам отприоритизировать ошибки и баги в ваших приложениях.

Дальше Петр переходит к тому, как удивлять клиента качеством сервиса и здесь он рекомендует
- Действовать проактивно - решать проблему как можно скорее, идеально еще до ее возникновения
- Персонализировать продукт - приложение должно подстраиваться под пользователя
- Делать по-максимуму за клиента без дополнительных вопросов - так называемый contactless service
- Предоставлять self service - сделать так, чтобы клиент мог сделать свои действия сам без обращений в поддержку, а еще желательнее, если это сделает автоматизация под капотом
Дальше Петр приводит примеры из своей практики в Тинькофф: проактивное изменение номера, восстановление карты, проактивные переводы, проактивный бот

Дальше Петр предлагает смотреть шире, чтобы улучшать клиентский опыт за пределами наших продуктов, а скорее от потребностей пользователей. Тут тоже приводятся примеры: калькулятор в переводах, умная камера, поддержка клиентов даже если косяк на другой стороне. Дальше Петр рассказывает про JTBD (Jobs To Be Done) аналитику, которую требуется собирать, чтобы уметь так улучшать опыт.

#ProductManagement #Software #SoftwareDevelopment
👍5👏3🔥2
Книжный клуб "Сибирь на страницах"

Кто о чем, а я о книгах. Гулял сегодня по центру Новосибирска и наткнулся напротив здания оперы на трамвай. Этот трамвай стоял на приколе и служил пристанищем для книжного клуба, в котором были представлены книги про Сибирь от местных издательств. Место было уютным и я не смог уйти без покупок - со мной из трамвая ушло 3 книги
1. Книга с биографиями советских фантастов
2. Графический роман про путешествия в иркутске 19 века
3. Книга про архитектора и дизайнера из Новосибирска, которого сравнили с Леонардо да Винчи
👍1511🔥10
Patterns of Enterprise Application Architecture (Шаблоны корпоративных приложений)

Классическая книга начала века (2002 год) от Мартина Фаулера, которую есть смысл почитать и в наши дни:) Она появилась через 8 лет после книги "Design Patterns" и обобщила подход к паттернам на уровень архитектуры целых приложений. Сама книга про паттерны корпоративных приложений состоит из двух частей: the narratives и the patterns.

1. The Narratives - здесь рассматриваются общие темы
- Layering - здесь авторы рассказывают про разделение на уровнни для борьбы со сложностью программного обеспечения. Основная суть в том, чтобы каждый уровень предоставлял определенную абстракцию посредством интерфейса и уровни взаимодействовали друг с другом через эти интерфейсы. Тут как обычно идет отсылка к сетевой модели OSI и TCP/IP. Здесь же автор рассказывает про 3 принципиальных уровня в корпоративных приложениях: data source, domain, presentation.
- Organizing Domain Logic - здесь автор рассказывает про организацию доменной логики и спойлерит 3 паттерна из второй части: transaction script, domain model, table module. Дальше он их сравнивает между собой и показывает границы применимости. Дальше он рассказывает про service layer, который часто размещают поверх domain model или table module. Дальше уровень представления взаимодействует с доменным уровнем через этот service layer
- Mapping to Relational Databases - здесь речь идет про то, как быть с данными. И на сцену выходят паттерны навроде table data gateway, active record и data mapper. Здесь же обсуждаются вопросы как маппить структуры из реляционных баз данных на модель классов и объектов внутри приложения и как быть конкретно с наследованием
- Web Presentation - здесь автор рассказывает про паттерн MVC (model-view-controller), который был когда-то популярен. Сейчас эта глава выглядит как раритет:)
- Concurrency - краткий рассказ про проблемы конкурентности, execution context, изоляцию и иммутабельность, оптимистичные и пессимистичные блокировки, дедлоки, а также транзакции (и конечно же ACID).
- Session State - здесь речь идет про хранение сессионного состояния на сервере
- Distribution Strategies - про распределенные объекты (distributed object system), которые почили в бозе вместе с CORBA:) Но тут есть актуальные мысли про DTO (data transfer objects) и lazy load.
- Putting It All Together - авторы рассказывают как использовать все описанное выше: стартовать с domain layer, переходить к data source layer и дальше двигаться в сторону presentation layer. Дальше они говорят про конкретные технологии, навроде, J2EE и это звучит приветом из прошлого.

Продолжение в следующем посте.
10👍6🔥1
2. The Patterns - а здесь приводятся паттерны для решения стандартных проблем из областей, разобранных в первой части
- Domain Logic Patterns - здесь речь идет про transaction script (для простой бизнес-логики), domain model, table module, service layer, которые мы обсуждали чуть выше
- Data Source Architectural Patterns - здесь разбираются такие паттерны как: table data gateway, row data gateway, active record,
data mapper
- Object-Relational Behavioral Patterns - здесь приводятся поведенческие паттерны вида: unit of work, identity map, lazy load
- Object-Relational Structural Patterns - здесь разбирается очень много структурных паттернов, многие из которых завязаны на работу с данными, identity field, foreign key mapping, association table mapping, dependent mapping, embedded value, serialized LOB. А также целый набор паттернов для решения проблемы хранения информации о иерархиях наследования в реляционной базе: single table inheritance, class table inheritance, concrete table inheritance, inheritance mappers
- Object-Relational Metadata Mapping Patterns - паттерны для хранения метадаты о связи классов и сущностей в базе: metadata mapping, query object, repository
- Web Presentation Patterns - куча паттернов про представление, но из практики, что была актуальна 20 лет назад: model view controller, page controller, front controller, template view, transform view, two step view, application controller. Если и читать это, то ради исторического экскурса:)
- Distribution Patterns - всего два паттерна для решениия вопроса распределенных объектов: remote facade, DTO (data transfer object)
- Offline Concurrency Patterns - паттерны для работы с конкурентностью: optimistic offline lock, pessimistic offline lock, coarse-grained lock, implicit lock
- Session State Patterns - паттерны относительного хранения состояния сессии клиента: client session state, server session state, database session state
- Base Patterns - базовые паттерны, что не влезли в другие категории: gateway, mapper, layer supertype, separated interface, registry, value object, money, special case, plugin, service stub, record set. Эти паттерны являются достаточно простыми и часто применяются в разных сценариях.

В общем, книга для 2002 года была просто огонь - она рассказывала про подходы к проектированию и решение типовых проблем. Также в рамках серии книг Martin Fowler Signature были выпущены и другие книги, которые развивали эту тему. Например, книга "Enterprise Integration Patterns (Шаблоны интеграции корпоративных приложений)", про которую я рассказывал раньше. Ну а сейчас книга скорее является базой, которую многие изучают по другим книгам, которые вышли позже и рассказывают про актуальные паттерны в контексте конкретной платформы (Java, Kotlin, .Net, Python, ...) и делают это супердоступно.

#Patterns #Software #SoftwareArchitecture #SoftwareDevelopment #Architecture #SystemDesign
🔥11👍64
Data Pipelines Pocket Reference

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

#Data #Databases #Engineering #SoftwareArchitecture #Software #SoftwareDevelopment #Management
👍8🔥42