В этом выпуске мы поговорили с Владимиром Ивановым, Senior Engineering менеджером в Bolt, о системном дизайне и его роли в создании крупных сервисов. Обсудили, как подойти к проектированию, начиная от простых односерверных решений и заканчивая распределёнными системами с балансировкой нагрузки, резервированием и шардированием баз данных. Разобрали, чем на самом деле отличаются реальная жизнь и собеседования по системному дизайну, затронули тему микросервисов и того, когда они действительно нужны, а когда нет. Поделились практическими советами, как соотносить бизнес-требования с техническими решениями, и почему разработчику важно мыслить шире, чем просто написание кода. Не пропустите — в выпуске много живых кейсов и инсайтов из реальных проектов!
✅ Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog
– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321
– Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239090
Полезные ссылки:
Business Oriented System Design Course: https://vvsevolodovich.dev/business-oriented-system-design-course/
https://www.linkedin.com/in/%F0%9F%93%9A-vladimir-ivanov-a4440226/
twitter.com/vvsevolodovich
t.me/@vvsevolodovich
t.me/@architectureweekly
youtube.com/@architectureweekly
00:00 – Введение и анонс
00:55 – Проблемы с самокатами: рост количества, отсутствие инфраструктуры, ужесточение законодательства.
01:51 – История системного дизайна: различия между российским и западным подходами, восприятие дизайна в индустрии.
02:50 – Три типа компаний: продуктовые, сервисные и оффлайновые – их подход к системному дизайну.
05:33 – Образование в IT: почему большинство разработчиков не готовы к проектированию сложных систем.
08:25 – Проблемы с обучением системному дизайну: нехватка учебных материалов, передача знаний только через практику.
10:19 – Сложности оценки системного дизайна: нет универсальных метрик, важность инженерного мышления.
12:11 – Проектирование сложных систем: аналогии с машиностроением, влияние изменений на всю систему.
13:07 – Влияние организационных и бизнес-требований: почему IT-решения часто усложняются искусственно.
15:02 – Кейсы из бизнеса: пример с биллингом Bolt и необходимость технологических изменений.
18:13 – Влияние команды: квалификация и мотивация разработчиков определяют эффективность решений.
21:20 – Базовые навыки архитектора: облачные технологии, сети, безопасность, управление данными.
24:10 – Организация работы в IT: роль стейкхолдеров, инвесторов и технических специалистов.
25:08 – Найм правильных людей: 70% разработчиков не могут стать эффективными менеджерами.
26:23 – Оптимизация решений: использование облачных платформ и их влияние на разработку.
30:02 – Риски облачных технологий: необходимость осознанного подхода, стоимость и ограничения.
34:47 – Взаимодействие с бизнесом: как упрощение требований сокращает время разработки.
37:38 – Веб-разработка и системный дизайн: важность понимания архитектурных решений.
40:27 – Масштабирование и доступность: почему стабильность требует сложных решений.
42:16 – Проблемы с производительностью: важность кэширования, индексов и оптимизации баз данных.
45:05 – Архитектурные ошибки: неоправданное усложнение систем и «архитектурные астронавты».
49:49 – Стадии компетентности: путь от неосознанной некомпетентности к экспертному уровню.
51:54 – Вопросы для оценки решений: какие риски могут убить продукт.
56:36 – Бэкапы и отказоустойчивость: примеры реальных провалов и их последствия.
01:01:18 – Практическое тестирование: важность проверки резервного восстановления данных.
01:08:55 – Региональные требования и блокировки: как они влияют на хранение данных.
01:12:40 – Ошибки хранения данных: почему нельзя хранить их внутри приложения.
01:15:28 – Kubernetes и масштабирование: как правильно строить отказоустойчивые системы.
01:31:14 – Микросервисы vs. монолит: плюсы и минусы подходов.
01:36:14 – Разница между интервью по системному дизайну и реальной архитектурой.
01:39:03 – Оценка зрелости разработчика: что показывают вопросы на собеседовании.
01:42:46 – Стоимость решений: баланс между затратами, производительностью и бизнес-логикой.
01:46:28 – Итоги: системный дизайн как ключевой навык, анонс курса по бизнес-ориентированному системному дизайну.
#СистемныйДизайн #ОрганизованноеПрограммирование #Подкаст #КириллМокевнин #ВладимирИванов #Bolt #Rockerbank #Ecwid #Микросервисы #Монолит #Отказоустойчивость #HighLoad #DisasterRecovery #Бэкапы #Экскаватор #RDS #Разработка #Архитектура
Почему микросервисы могут разорить, а монолит выручить | Владимир Иванов | #32