Книжный куб
11.1K subscribers
2.65K photos
6 videos
3 files
1.95K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре
Download Telegram
Обзор книги "Team Geek. A Software Developer’s Guide to Working Well With Others"

Эта книга Брайана Фитцпатрика и Бена Коллинз-Сассмэна вышла больше 10 лет назад, но прочитал я ее лет 6 назад. Авторы заявляют целью помощь программистам эффективнее и продуктивнее разрабатывать программы за счет развития способности понимать других людей, общаться и сотрудничать с ними. Но издательство Питер в своем переводе указывает подзаголовком "Как из гиков собрать команду программистов" — чего не сделаешь ради того, чтобы книга лучше продавалась:) Авторы хотели рассказать про важность софт-скиллов для разработчиков, а ребята из Питера хотели продать эту книгу большему количеству технических руководителей и сместили фокус на сбор команды. Но книга все равно получилась интересной, поэтому я написал краткое саммари в своем блоге.

#SoftwareDevelopment #SelfDevelopment #Engineering #Management #Leadership #ExternalReview
🔥9👍42
Скрапинг веб-сайтов с помощью Python 2 издание (Web Scraping with Python: Collecting More Data from the Modern Web 2nd Edition)

Несколько лет назад я прочитал эту книгу, которая оказалась рассчитанной на уровень новичка. Я не расстроился, потому что я её и покупал в качестве обучающего пособия для новичков. Первая половина книги называется "Построение скраперов" и является аналогом "Hello world" в мире скраперов на Python. Здесь основное внимание уделено механике веб-скрапинга: как с помощью Python запрашивать информацию с веб-сервера, производить базовую обработку серверного отклика и организовать автоматизированное взаимодействие с сайтами. Вторая часть называется "Продвинутый скрапинг", где рассмотрены более специфичные инструменты и приложения, которые пригодятся при любом сценарии веб-скрапинга. Но этот продвинутый скрапинг является продвинутым только относительно первой части этой же книги:)

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

#SoftwareDevelopment #Software #Architecture #Engineering
👍154🔥1🤔1
Яхтенный глэмпинг парк "Точка Немо"

Вместе с женой и тремя сыновьями уехали на 4 дня в глэмпинг, который в отличие от названия, расположен не в южной части Тихого океана, а под Ярославлем:)
Мы живем в лесу на берегу реки в двух домиках: шарообразный купол для жены, самого мелкого сына и меня, а также домик на дереве для старшего и среднего сына. Домики достаточно комфортные и удобные для проживания, а рядом с домиками есть купели в виде большой бочки, где можно отдохнуть вечером в горячей воде. У детишек днем и вечером плотная программа - они учатся ходить под парусом, ходят в походы, жарят маршмелоу на костре, а мы с женой и самым маленким гуляем по территории:)

В общем, тут действительно можно отдохнуть на природе с детьми и чуток выдохнуть перед началом нового учебного года:)

#Holidays
👍287🔥5
Meet For Charity

Сегодня стартовал благотворительный аукцион Meet For Charity, где в качестве лота предлагается встреча со мной:)

Формат аукциона следующий
- для победителя аукциона я проведу небольшую экскурсию по офису Тинькофф и дальше мы пообщаемся за обедом в нашем ТЦ Водный
- собранные по итогам аукциона средства будут направлены в фонд «Нить добра»

В принципе, я готов обсудить разные темы, например, такие:
- почему сейчас бизнес и IT должны быть на одной волне;
- как выглядят эффективные процессы разработки и почему они зависят от размера и жизненного цикла компании и продукта;
- как выстроить архитектурные процессы в компании;
- как нанимать сильных инженеров (разработчиков, QA-инженеров и т.д.);
- как появление искусственного интеллекта изменило расклад на рынке разработки.
Но если у победителя будет своя тема на обсуждение, то я попробую обсудить и ее:)

P.S.
Ну и немного формальной части про меня:
- я работаю в Тинькофф почти семь лет и являюсь техническим директором юнита клиентские интерфейсы, маркетинг и вовлечение в Тинькофф
- до этого успел побыть руководителем группы разработки в Банки.ру и Woman.ru
- когда-то был software development engineer, а до этого успел закончить Физтех (МФТИ)

P.P.S.
Плюс победителю я подарю книгу Олега Тинькова "Революция. Как построить крупнейший онлайн-банк в мире", в одной из глав которой рассказывается про машину привлечения клиентов, к строительству которой я приложил руку:)

#Charity #Software #Management #Leadership
👍20🔥136🤔1
Практика визуального мышления. Оригинальный метод решения сложных проблем (Unfolding the Napkin. The Hands-On Method for Solving Complex Problems with Simple Pictures)

Эта книга Дэна Роэма продолжает книу «Визуальное мышление», в которой рассказывалось как простые рисунки могут играть в деле генерации идей и коммуникациях в целом. Она представила новую интересную методику решения совершенно различных проблем — от стратегических вопросов топ-менеджмента до самых прозаичных офисных проблем. А в книге-продолжении помогает читателям внедрить свою методику в ежедневную практику. Книга полна подробных примеров, упражнений и пустого места для ваших рисунков.

Я прочитал эту книгу с удовольствием. Единственная проблема - надо было продраться через скучные повторы первых пятидесяти страниц (ощущение, что их писали для страдающих от провалов в памяти). Как только вводная часть с большим количеством повторов закончилась, все стало очень интересно и полезно, например
- Мне понравилось то, что автор выделил 6 вопросов для решения любой проблемы, на которые надо ответить при помощи картинок. Я запомнил эти вопросы в таком порядке Что, Где, Когда (по названию знаменитой телепередачи) и оставшиеся 3 - Сколько, Как, Почему.
- Мне зашла концепция о глубине проработки проблемы для разных людей, которым ты хочешь донести свои мысли. Т.е. для кого-то требуется подготовить верхнеуровневую картину без погружения в детали, а другим же требуется детализированное отображение. Если не понимать потребности этих людей, то первые посчитают, что ты их перегружаешь ненужными деталями, а вторые решат, что ты не разбираешься в рассматриваемом вопросе:)

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

#SelfDevelopment #Brain #Patterns #Creativity
👍124🔥1
Выбор. Правила Голдратта (The Choice)

Я прочитал эту книгу лет семь назад и мне она понравилась. В ней автор рассказывает про новейшие методы активизации мышления и показывает как они работают на практике. Книга выстроена в форме диалога с дочерью, где разбираются конкретные ситуации, для решения в которых требуется обеспечить совместную работу логики, интуиции и эмоций. Сложно сказать что нового я вынес из книги, но мне понравился подход автора. Он с видимой легкостью смог донести читателям свои идеи о использовании научного подхода в жизни. Особо понравились следующие моменты в его рассужденияъ:
- о простоте систем и о том, что степень простоты зависит от формулировки того что же это такое:)
- о причинах и следствиях, а также как понять что является причиной, а что нет
- о гармонии в отношениях элементов системы и о том, что компромисы при конфликтах часто являются злом, т.к. устраняются симптомы проблемы, а не ее корень
- о том, что надо верить в людей:)

P.S.
Подробнее про концепции Голдратта можно почитать в других постах
- Теория ограничений Голдратта (Goldratt's Theory of Constraints: A Systems Approach to Continuous Improvement)
- Критическая цепь (Critical Chain)

#Management #Processes #Project #ProjectManagement
14👍6🕊2
Макет Золотого кольца России

В воскресенье мы успеои посмотреть макет Золотого кольца России. Мы оказались в Ярославле по дороге в яхтенный парк "Точка Немо", куда мы ездили в миниотпуск. Честно говоря, я люблю эти минигорода и видел макет Москвы в ВДНХ и гранд макет в Питере, поэтому не посетить миниатюрный музей в Ярославле я не мог:)
В этом макете Золотого кольца интересно сделана геймификация для детей, которые могут взять задание на поиск пасхалок - знаменитых мультяшных персонажей, что раскиданы по мини-версиям Ярославля, Костромы, Иваново, Ростова и других городов, что входят в кольцо. Наших детей эти поиски захватили на час, но к концу часа они отчаявшись запросили помощи у тетушек, что продавали сувениры у выхода и получили подсказки по остальным персонажам. Именно так они выполнили свой квест и получили подарки в виде трех колокольчиков 1) в форме кота с гитарой, 2) волка из мультика "Жил был пес" и 3) кота, который сидит на колокольчике. В общем, всем в этом миниатюрном музее (он действительно небольшой) понравилось:)

#Holidays
13👍3🔥1
Frontend Architecture for Design Systems. A modern blueprint for scalable and sustainable websites

Лет 5 назад я прочитал эту книгу с интригующим названием "Frontend Architecture for Design Systems", ожидая от нее многого.
Книга написана Micah Godbolt на основании его многолетнего опыта работы в качестве фронтендера на разнообразных проектах. Один из последних проектов был в том, чтобы переделать сайт RedHat.com, которая славилась тем, что научилась зарабатывать на open source решениях, но особых достижений во фронтенде раньше отмечено не было.
Что особенно радует в книге, что автор не скатывается до выбора одной из библиотек и фреймворков и не объявляет его/ее серебрянной пулей, например, говоря, что Angular/React/Vue животворящий поможет решить вам все проблемы:) Фактически, автор борется за то, чтобы фронтенд-архитектура тоже была жителем первого класса в проекте разработки программного обеспечения. Для этого автор выделяет 4 столпа, а именно:
- Код (сладкое трио html, css, javascript)
- Процессы (инструменты и процессы для создания эффективного workflow)
- Тестирование (создание устойчивого решения)
- Документация

В первой части книги, а именно во вступлении автор поднимает интересный вопрос того как мы оказались в текущем положении, от появления www до появления понятия фронтенд-архитектура. Дальше он расматривает составные части этого понятия, а именно:
- Design ("By designing a system all frontend developers are going to work within, the architect sets a clear vision of what the end product, the code, will look like")
- Planning
- Oversight ("Frontend architecture is never a “set it and forget it” proposition ... A key talent of a frontend architect is the ability to continually make needed adjustments")

Вводная часть завершается мыслью о роли фронтового архитектора: "Without the early input of a frontend architect, projects run the risk of having to choose between reworking designs, platform, or infra‐ structure and telling the frontend developers to make do"

Вторая часть содержит главы относительно того, как надо структурировать код, а именно писать html, css и javascript'а. Но забавно, что в этой книге я в первый раз увидел изложение принципа единственной ответственности (Single Responsibility Principle) в переложении на фронт, а именно в главе, где рассматривались правила работы с CSS:)
Следующая часть относится к процессам. В ней рассказывается про старый и новый workflow. Также обсуждаются вопросы CI/CD в общем и сборки asset'ов в частности.
В главе 10, где обсуждается процесс Red Hat, где раскрывается schema-driven design система, в которой имеются:
- JSON schema - схема компонентов
- Template file - шаблон компонента
- Sass partial - стили компонента
- Visual regression tests - тесты для визуального регресса
- Testing data - тестовые данные
- Documentation - документация компонента
- Documentation data - данные для документации
В общем, этот подход "schema-driven design system" мне до боли знаком:) И по опыту могу сказать, что он работает куда лучше, чем альтернативные варианты.

В части, относящейся к тестрованию рассматривались:
- юнит-тесты
- performance-тесты
- визуальное регресс-тестирования
- интеграция всего этого в процесс тестирования в Red Hat:)

В части, относящейся к документированию основной акцент идет на том, как организовать в модульной дизайн системе набор компонентов, доступных для переиспользования.
Опять идет отсылка к Brad Frost’s Atomic Design principles (хоть это и убогое название для стандартного компонентого подхода от автора, который не разбирается ни в химии, ни в биологии).

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

#Architecture #Software #SoftwareArchitecture #SoftwareDevelopment #Engineering
👍65🔥4