Книжный куб
11.1K subscribers
2.68K photos
6 videos
3 files
1.98K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре
Download Telegram
Безопасность разработки в Agile-проектах (Agile Application Security: Enabling Security in a Continuous Delivery Pipeline)

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

В самом начале идет краткий экскурс в современную разработку в главах:
Глава 2. Элементы гибких методик
Глава 3. Революция в методах разработки - присоединяйтесь!
Глава 4. Работа с существующим жизненным цилком разработки
Эти начальные главы дают настолько хороший экскурс, что они будет полезны не только безопасникам, но и самим разработчикам, работающим в рамках гибких подходов, т.к. иногда следование процессам преващается в карго-культ или формопоклонничество как это называл Фейнман:) Поэтому иногда стоит вспоминать, что важен не сам процесс ради процесса, а те результаты, которые он помогает достигать.

Дальше идут главы про безопасность
Глава 5. Безопасность и требования. Тут речь идет о том, что безопасность - это просто еще одна область нефункциональных требований и ее стоит встривать в процесс работы над системой с самого начала как, например, вопросы производительности конечного решения или его удобства
Глава 6. Гибкое управление уязвимостями. Тут речь идет о том, как относится к уязвимостям, как учитывать их и как планировать их устранение, а также как связано тестирование и безопасность
Глава 7. Риск для гибких команд. Вся глава посвящена основам риск менеджмента в контексте вопросов безопасности. Если вы уже знакомы с этой областью знаний, то сложно будет найти что-то новое
Глава 8. Оценка угроз и осмысление атак. Одна из самых содержательных глав по безопасности:)
Глава 9. Построение безопасных и удобных для пользователей систем. Здесь рассматриваются варианты проектирования безопасности так, чтобы она приводила в итоге к продукту, которым нельзя пользоваться, т.к. средства безопасности рушат весь user experience
Глава 10. Инспекция кода в интересах безопасности. Здесь рассматриваются варианты code review причем с точки зрения того, как их использовать правильно, чтобы повысить безопасность конечного решения
Глава 11. Гибкое тестирование в безопасности. Здесь речь о том, как тестировать код, инфраструктур и CI/CD пайплайн в интересах обеспечния безопасности. Авторы упоминают несколько инструментов, которые могут быть полезны практикующим специалистам
Глава 12. Внешние инспекции, тестирование и рекомендации. Лучше всего про содержание этой главы говорит следующая фраза, завершающая главу: "Если вы не собираетесь использовать внешние инспекции, чтобы учиться у экспертов, то только зря тратите их время и свои деньги"
Глава 13. Эксплуатация и безопасность. Здесь рассматриваются вопросы мониторинга и обнаружения вторжений, реакций на инциденты, защиты CI/CD пайплайно и работы с секретами:)
Глава 14. Сообщение нормативным требованиям. Здесь расматриваются 2 подхода:
1. Подход на основе правил (Пример: PCI DSS)
2. Подход на основе результатов (Пример Reg SCI)
Эту главу полезно прочитать, чтобы понять разницу в этих подходах, а заодно ознакомиться с человеческим описанием того, что за правилы описаны в PCI DSS, которые часто поминауются всуе по поводу и без:)
Глава 15. Культура безопасности. Очень хорошо про культуру. Замечательно про "тяни, а не толкай" и принципы эффективности:
1. Содействуй, а не блокируй;
2. Прозрачная безопасность;
3. Не ищите виноватых;
4. Масштабировать безопасность, усиливать фланги;
5. Кто - не менее важно, чем как
Глава 16. Что такое гибкая безопасность. Здесь каждый из 4-х авторов книги рассказывает свою историю и делится тем, как пришел к вопросам безопасности в разработке и кристализует свои мысли относительно темы книги

#Sec #Security #Agile #Processes #Software #SoftwareDevelopment #DevSecOps
👍13
Сегодня вечером в 18:00 по Мск будет седьмой выпуск клуба "Code of Architecture" по книге "Распределенные системы" ван Стина и Таненбаума, в котором мы обсуждаем главу про консистентность и репликацию. Предыдущие выпуски были посвящены общему обзору книги, обсуждению архитектуры, процессов, коммуникаций, координации, именования, а теперь мы дошли до обсуждения следующих важных вопросов
- Для чего нужна репликация и какие проблемы она решает (производительность и надежность), а какие приносит с собой (сложность поддержки консистентности)
 - Какие модели консистентности бывают: дата-центричные и клиенто-центричные
 - Какие бывают дата-центричные модели консистентности (sequential, causal, eventual, continuous)
- Какие бывают клиенто-центричные модели консистентности (monotonic reads, monotonic writes, read your writes, writes follow reads), а также рассмотрим пример с ZooKeeper
 - Как управлять репликами (replica management)
 - Какие протоколы косистентности бывают
А также напоследок рассмотрим как работает кеширование и репликация в современном Web

Гостями стрима станут наши коллеги — Дмитрий Гаевский и Виталий Кондратов. Дмитрий занимается разработкой dev to dev-решений на больших масштабах, создает сложные RnD-решения и проектирует event-driven-системы. Виталий — архитектор в отделе базовых технологий. Он разрабатывает и улучшает базы данных и инфраструктуру для их эксплуатации.

Встречаемся на ютуб-канале IT's Tinkoff.

#SoftwareArchitecture #DistributedSystems #Architecture #SystemDesign #Software #CoA
👍10
Список материалов для моего выступления сегодня на Teamlead Conf 2023 "Как нанимать технических руководителей "

Наем инженеров обсуждается на конференциях довольно часто. Кто-то рассказывает про то, как нанимает за одну встречу, а другие говорят про свои многоэтапные интервью. А вот про наем технических руководителей (teamlead, engineering manager, director of engineering) рассказывают гораздо реже. В этом докладе я исправляю эту несправедливость и в конце делюсь списком рекомендованных материалов, представленных ниже. Отдельно отмечу, что расшифровку доклада я тоже опубликую сегодня, но уже после выступления:)

Management and Leadership
- Книга "The Manager's Path" и саммари в трех частях: pre-manager, manager, engineering director
 - Книга "An Elegant Puzzle: Systems of Engineering Management" и ее краткий обзор
 - Книга "A Seat at the Table: IT Leadership in the Age of Agility" и ее краткий обзор
 - Книга "The Art of Leadership: Small Things, Done Well"
 - Книга "Technology Strategy Patterns"
 - Книга "Staff Engineer" и обзор в двух частях: 1 и 2
 - Мой доклад "Эволюция роли технического руководителя от инженера до CTO", в нем есть куча рекомендаций по изучению
 - Мой доклад "SOLID'ный тимлид, или основы менеджмента для технарей"

Processes and projects
- Книга "Team Topologies" и ее обзор в 3 частях: teams as means of delivery, team topologies that work for flow, evolving team interactions for innovation and rapid delivery
 - Книга "Remote Team Interactions Workbook"
 - Книга "More Effective Agile: A Roadmap for Software Leaders"
 - Книга "Making Work Visible"
 - Книга "Digital Transformation Game Plan"
 - Моя статья "Про управление проектами и продуктами"

HR
-Книга "Who : Solve Your #1 Problem"
 - Книга "The CEO Next Door"
-Статья про performance review

Technical excellence
-Статья про System Design Interview в общем
 - Статья про то, как мы оцениваем System Design Interview
-Статья о том, как подготовиться и пройти System Design Interview
 - Публичное System Design Interview на C++ Russia 2022
 - Публичное System Design Interview на конференции ArchDays 2022
 - Статья про то как развиваться если ты уже Senior developer
 - Стать про Troubleshooting Interview в Tinkoff
 - Статья со списком книг о проектировании программного обеспечения

#Management #Leadership #Processes #Conference #SystemDesign #Engineering
👍35🔥5🏆2
Как нанимать технических руководителей — выступление на Teamlead Conf 2023

Только что закончил выступление на конференции и добрался до публикации статьи с кратким содержимым. Так как в прошлом посте я заспойлерил анонс, то тут я отмечу чем может быть полезна статья. Но перед этим отмечу, что главное не заниматься карго-культом и пытаться повторить описаннные мной процессы. Лучше учитывать ваш контекст и использовать описанные мной подходы для того, чтобы
— Улучшить наем технических руководителей в вашу компанию
— Улучшить наем технических руководителей в вашу команду:)
— Понять что вы можете прокачать в себе для становления лучшим руководителем
— И напоследок, самому лучше подготовиться к такому типу интервью, если вы планируете сменить работу

#Management #Leadership #Processes #Conference #SystemDesign #Engineering
👍22🔥2
Балет "Зимняя Сказка" в Большом Театре

Был вчера с женой на этом балете и нам все понравилось. Мы сидели во втором ряду партера и могли наблюдать не только хореографию артистов балета, но и работу дирижера, а также его оркестра. За работой этих слаженных коллективов было очень интересно следить с учетом того, что я как-то писал статью про подходы оркестровки и хореографии в мире менеджмента разработки ПО:)

Сам балет был в трех действиях, наполненных драматическими событиями, которые не очень-то были похожи на сказку, а если и были, то на какую-то мрачную. Правда, финал был максимально похож на happy end:)

В общем, если вам нравится балет, то вероятно вам понравится эта постановка на основе одной из поздних пьес Уильяма Шекспира.

#Culture #Management #Processes #Agile
🔥12🦄3👏2🥱1
Основы Теории U (The Essentials of Theory U. Core Principles and Applications)

Три года назад я прочел книгу "Основы Теории U" за авторством Отто Шармера, которую в 2019 году выпустило издательство МИФ. Тогда книга показалась мне слишком эзотерической - в ней системное мышление густо переплетается с "обновлением наших психологических и организационных операционных систем во всех секторах социума".
Изначальная книга по теории U в три раза больше книги про Основы и видимо еще более замороченная, а вот "Основы теории U" читается неплохо и состоит из трех частей:
1. Основа видения поля - про познание внутреннего состояния, из которого проистекают наши действия
2. Метод системных измений, учитывающих сознание - методы и инструменты для инициатора изменений
3. Осмысление эволюционных преобразований в обществе - про глобальные изменения и инициативу U.lab

В общем, интересная книга ... для расширения сознания

#Management #Leadership
👍4🔥2
Release It!, 2nd Edition

Второе издание этой крутой книги вышло 5 лет назад и с тех пор не стало сильно менее актуальным. А в недавнем выпуске книжного клуба goto конференции Trisha Gee взяла интервью у автора книги, Mike Nygard, и они обсудили темы вокруг этой книги
- What is new in the second edition
- New (anti-)patterns in modern applications (Testing: Should we stop QA? и Internal platforms)
- Meetings & Manual Deployments
- Challenges for organizations using Continuous Delivery
- The impact of DevOps on the second edition of the book
- Mike’s personal development


Отдельно предлагаю вспомнить основные части второго издания этой книги
I. Create Stability
II. Design for Production
III. Deliver Your System
IV. Solve Systemic Problems

#Devops #SRE #Management #SoftwareDevelopment #Software
9👍2🤓2
Вчера был одним днем в Питере и в рамках недели карьеры выступил перед студентами СПбГУ с факультета математики и компьютерных наук.
На этом факультете три интересных кафедры: математика, науки о данных, современное программирование, где можно заняться как фундаментальными математическими исследованиями, так и разработкой программного обеспечения, исследованиями по распределенными системам или пойти в сторону Data Science:)
Посещение СПбГУ напомнило мне времена обучения в МФТИ, когда я хоть и не был очень прилежным студентом, но целыми днями зависал в аудиториях на парах:)

Вчера я рассказывал ребятам про эволюцию подходов разработки софта. Для презентации я соединил разные свои выступления, статьи и посты в tg, среди которых были следующие
- Современные подходы к разработке программного обеспечения
- Курс Essential Architecture #Code
- Курс Essential Architecture #Data
- Code of Architecture — “Distributed Systems, 4th Ed” #2 (Architecture)
- Как подготовиться и пройти System Design Interview
- Devops культура: мифы и реальность
- Про управление проектами и продуктами
- The Pipeline-Driven Organization • Roy Osherove • GOTO 2022

#SoftwareDevelopment #Software #SoftwareArchitecture #Engineering #SystemThinking
👍23🔥6👏2
В прошлый понедельник мы провели седьмой стрим клуба Code of Architecture по книге “Distributed Systems”, в котором мы обсудили вопросы консистентности и репликации. После выпуска я успел выступить на Teamlead Conf, сходить на балет в Большой, сгонять в Питер выступить в СПбГУ и свалиться в пятницу после работы с температурой 38.5. Пару дней прошло как в тумане и только под вечер в понедельник я оклемался так, чтобы доделать краткое саммари по седьмому выпуску и выложить его.

Напомню, что мы общались вдвоем с Виталием Кондратовым, который круто шарит в распределенных системах, и говорили про темы
- Для чего нужна репликация и какие проблемы она решает (производительность и надежность), а какие приносит с собой (сложность поддержки консистентности)
 - Какие модели консистентности бывают: дата-центричные и клиенто-центричные
 - Какие бывают дата-центричные модели консистентности (sequential, causal, eventual, continuous)
- Какие бывают клиенто-центричные модели консистентности (monotonic reads, monotonic writes, read your writes, writes follow reads), а также рассмотрим пример с ZooKeeper
 - Как управлять репликами (replica management)
 - Какие протоколы косистентности бывают
А также напоследок рассмотрим как работает кеширование и репликация в современном Web

Артефакты с этого стрима доступны по ссылкам
- Статья с кратким обзором
- Запись стрима
- Miro доска с презентацией

#SoftwareArchitecture #DistributedSystems #Architecture #SystemDesign #Software #CoA
👍126
Открытый картинг X-TI Pilot

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

Но теперь все позади и я возвращаюсь к своему стандартному режиму, поэтому сегодня расскажу как сгонял с детьми в московский картинг рядом с Медведково.

Мы приехали с 7 и 16 летним сыновьями на гонку, куда был записан только младший из двух. На гонке не хватало людей и нам со старшим предложили тоже прокатится с ветерком. Сам картинг открытый, а сегодня был снег и трасса была похожа больше не на картодром, а на заснеженный трек для биатлонистов:)

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

В итоге, мы с Максимом (7 летний сын) получили по бронзовому кубку за 3 место в своих категориях:)

P.S.

Мне картинг понравился
1) он хорошо расположен
2) картинги хорошо подготовлены, как и персонал
3) наверху есть кафе, где родителям можно подождать пока идут заезды и посмотреть на детишек

А и еще Максим ходит уже несколько месяцев в этот картинг на тренировки, где их учат как правильно кататься на карте. А вот по выходным у них бывают гонки:)

#karting #ForKids
👍158🎉2
Вакансия solution architect в hh.ru

У меня не так много вакансий напрямую ко мне, но я обещал постить сюда интересные вакансии. В итоге, я решил иногда постить вакансии от друзей, поэтому сегодня я расскажу про вакансию от Максима Евдокимова. Макс сейчас является CPO HeadHunter, но в прошлом мы вместе работали в Tinkoff. Тогда я был сфокусирован на развитии ИТ в Онлайн Привлечении, а Максим был вице-президентом, который определял как выглядит наш Мобильный Банк. Так что я знаю, что с Максимом прикольно работать вместе:)
Подробнее про саму вакансию читайте в описании, но от себя могу отметить, что у кандидата будет возможность на новом месте улучшить UX поиска работы для миллионов ITшнников - а это хорошо для кармы:)

#Vacancy #Architecture #Architect #Software
🔥14👍2
Как нанимать технических руководителей (выступление на Teamlead Conf 2023)

Пару недель назад я выступал на Teamlead Conf с таким докладом, а сейчас уже подъехала запись выступления.
Расшифровка была доступна уже 2 недели назад в моей статье на Medium.
Список рекомендованных материалов был вынесены в отдельный пост в tg.

#Management #Leadership #Processes #Conference #SystemDesign #Engineering
👍193
Devops Conf 2023

Сегодня и завтра я буду на конференцию Devops Conf 2023, где выступал год назад, рассказывая про наши собеседования для SRE по Troubleshooting.
В этом году я без доклада, потому что вместо меня отдувается мой коллега, Даниэль Халиулин, technical product manager наших мобильных команд надежности и производительности.
Даниэль завтра расскажет про "Особенности SRE и Observability в мобильных приложениях", про которые Google как-то рассказывал в отчете "Engineering Reliable Mobile Applications".
Кстати, я разбирал этот отчет еще 3 года назад в своей статье на Medium

#SRE #Devops #Conference #Architecture
👍12
Девятый и последний выпуск клуба "Code of Architecture" по книге "Распределенные системы" ван Стина и Таненбаума

Сегодня в 18.00 мы обсудим главу про безопасность, в которой поговорим про следующие вопросы
- Для чего нам нужна безопасность в распределенной системе
 - Какие подходы к безопасности бывают: через confidentiality и integrity и через модель угроз (security threats)
 - Как разделять политики безопасности и механизмы для их реализации
 - Какие существуют принципы для проектирования надежных систем
 - Какие базовые моменты по криптографии надо знать для понимания работы современных протоколов
 - Как работает аутентификация и авторизация
 - Как размышлять о доверии (trust) в распределенной системе
 - Как обеспечивать отслеживание проникнования в систему (intrusion) за счет мониторинга и логов

В выпуске участвуют
- Игорь Маслов @ Tinkoff
 - Илья Зонов @ Tinkoff
 - Александр Поломодов @ Tinkoff

Присоедняйтесь к трансляции сегодня в 18.00.

#SoftwareArchitecture #DistributedSystems #Architecture #SystemDesign #Software #CoA
🔥142👍2
Понимать, но не предвидеть. Предвидеть, но не понимать (Comprendre sans prevoir, prevoir sans comprendre)

В этой книге французский ученый-популяризатор науки, Юбер Кривин, рассказывает про то, как работает обычная наука, в которой на основе данных строятся модели, объясняющие происходящее и имеющие предсказательную силу. А потом он противопоставляет этому современный подход к машинному обучению, где на основе больших данных отслеживаются корреляции и создаются предсказания, которые сложно интерпретировать и понимать. Дальше автор размышляет так ли нужна фундаментальная наука в эпоху chatgpt (которого не было 5 лет назад, когда была издана книга) и приходит к выводу, что фундаментальная наука никуда не денется.

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

#PopularScience #AI #Physics #Math
🔥11
Вчера мы провели последний стрим клуба Code of Architecture по книге “Distributed Systems”, в котором мы обсудили вопросы security. А точнее мы обсудили модели угроз, политики безопасности и механики для их обеспечения, вопросы аутентификации и авторизации, а также доверия в распределенных системах. Закончили темой мониторинга и аудита.
В этот раз мы общались на троих с Игорем Масловым, Ильей Зоновым и мной:)

Артефакты с этого стрима доступны по ссылкам
- Статья с кратким обзором
- Запись стрима
- Miro доска с презентацией

#SoftwareArchitecture #DistributedSystems #Architecture #SystemDesign #Software #CoA
14👍5👏2
1985

Несколько лет назад я прочел книгу Энтони Бёрджеса "1985". Как можно догадаться из названия она тесно связана с известнейшей книгой Джорджа Оруэлла "1984", в которой Джордж из послевоенного 1948 рассказал антиутопию о будущем. Первая часть книги Энтони посвящена полемике относительно картины, нарисованной его предшественником. И эта картина выглядит так:
В мире "1984" осталось 3 глобальных военно-политических блока, которые ведут непрерывную войну. Но это война не на победу, а на поддержание статуса кво. Общество состоит из трех кругов: внутренняя партия, внешняя и пролы (пролеториат). Партия вещает от имени мифического Старшего Брата, используя новояз, который поддерживает двоемыслие как залог успешного существования в этом мире. Также есть в структуре управления есть:
- Министерство Мира, что отвечает за войну
- Министерство Правды, что отвечает за пропоганду
- Министерство Любви, что отвечает за пытки
Энтони Берджес, написавший книгу в 70х годах, разбил ее на 2 части. Вся первая часть состоит из полемики относительно мира Оруэлла 1984 года. А во второй он рисует совсем другую картину соседнего 1985 года. В его мире к власти пришел пролетариат, но ... управляют всем профсоюзы. Причем профсоюзы борются с собственным государством, устраивая забастовки. Например, роман начинается с забастовки пожарных, во время которой жена главного героя сгорает в больнице, которую просто некому тушить. Главный герой восстает против режима принуждения и выходит из профсоюза, а дальше становится фактически никем и скатывается на самое дно как асоциальный элемент. Дальнейший сюжет раскрывать не буду, но поделюсь рядом цитат, что мне понравились:
1) в первой части книги, где шла полемика относительно романа 1984
- "тревожно отмечать, что как раз в демократиях, основанных на неприкосновенности свободы воли, принцип манипулирования сознанием может стать общепринятым"
2) во второй части
- в описании званий армии, которую собирают некие силы, присутствует оксюмороны: "полноправный свободный рядовой, свободный капрал, старшшина взвода, ротный демократ"
- про убеждение верующего относительно профсоюзов и власти пролетариата: "двенадцать апостолов были первым профсоюзом и что Христа обрекли на мученическую смерть за принцип свободной самоорганизации трудящихся, а что Царство Небесное означает пролетарскую демократию"
И конечно интервью в эпилоге шедевральное. Если вы не готовы читать всю книгу, то прочтите хотя бы его.

#SciFi
16👍3