СТАРТ ПРОГРАММЫ
10 ОКТЯБРЯ
Старт программы System Design
ФОРМАТ ОБУЧЕНИЯ
ОНЛАЙН
Формат обучения System Design
КОМУ ПОДОЙДЁТ
MIDDLE/SENIOR/TEAM LEAD

Кому подойдет курс System Design
ДЛИТЕЛЬНОСТЬ
4 НЕДЕЛИ
Длительность курса System Design
ВАЛЕРИЙ БАБУШКИН
Расширяем круг компетенций или готовимся к интервью в BigTech

SYSTEM DESIGN == проектирование систем как в big tech компании
|

Преподаватель курса проектирования систем

ВАШ ГОТОВЫЙ ПЛАН ПОДГОТОВКИ
К РЕШЕНИЮ ЗАДАЧ НОВОГО УРОВНЯ

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

А еще интервью по System Design это обязательный этап собеседований в большие технологические компании. Его проходят при отборе как на инженерные позиции (Individual Contributor), так и на менеджерские (Engineering Manager). В большинстве случаев именно по его результатам определяется уровень соискателя и принимается решение о найме.

К сожалению, на русском языке практически нет материалов для комплексной подготовки к таким интервью. Чтобы решить эту проблему, мы записали свой курс по System Design. Пристегнитесь, поехали!
Преподаватель курса Валерий Бабушкин
Head of Data Science в Blockchain.com, куратор курса
ВАЛЕРИЙ БАБУШКИН

Для кого этот курс:

разработчик
системный администратор
аналитик
продакт и проджект менеджер
архитектор
инженер

Рекомендуемый уровень:

Отвечаете за небольшие проекты, постоянно работаете над улучшением отдельных компонентов системы и полностью разбираетесь в их устройстве.
SENIOR
Владеете сильными навыками в области software engineering, умеете писать качественный код и понимаете, как устроены продукты компании.
MIDDLE
TEAM LEAD
Управляете большими проектами и командами, умеете решать сложные технические проблемы и координировать релизы важнейших частей системы.

КАК ПРОХОДИТ ОБУЧЕНИЕ >>>

Подробнее о курсе
Изучайте
Консультируйтесь
Проектируйте

ПОДРОБНЕЕ О КУРСЕ SYSTEM DESIGN

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

ИЗУЧАЙТЕ УРОКИ ПО SYSTEM DESIGN

— Смотрите лекции, раскрывающие ключевые аспекты дизайна систем
— Выполняйте домашние задания на закрепление новых знаний

КОНСУЛЬТИРУЙТЕСЬ С ЭКСПЕРТАМИ

— Обсуждайте задачи и задавайте любые вопросы
— Делитесь опытом с другими студентами

ПРОЕКТИРУЙТЕ СВОЮ СИСТЕМУ

— Применяйте полученные знания для разработки популярной системы
— Подготовьте идеальный план ответа на собеседовании по System Design
ИЗУЧАЙТЕ УРОКИ ПО SYSTEM DESIGN
— Смотрите лекции, раскрывающие ключевые аспекты дизайна систем
— Выполняйте домашние задания на закрепление новых знаний
КОНСУЛЬТИРУЙТЕСЬ С ЭКСПЕРТАМИ
— Обсуждайте задачи и задавайте любые вопросы
— Делитесь опытом с другими студентами

ПРОГРАММА КУРСА ://

1. СБОР ТРЕБОВАНИЙ И ОЦЕНКА НАГРУЗКИ
Начнём проектирование системы с выбора ограниченного круга функциональных и нефункциональных требований, которым она должна соответствовать. Исходя из предположений о количестве пользователей и паттернах использования оценим трафик и требования к необходимому железу.
2. ВЫСОКОУРОВНЕВЫЕ СХЕМЫ И МОДУЛЬНЫЙ ДИЗАЙН
При создании системы будем придерживаться простого дизайна, покрывающего все базовые сценарии использования. Обсудим выбор подходящих систем управления базами данных и рассмотрим модульный подход к проектированию, позволяющий расширять систему с повышением требований к функционалу, надёжности и скорости работы.
3. МАСШТАБИРОВАНИЕ И ПОВЫШЕНИЕ ОТЗЫВЧИВОСТИ
Увеличим число реплик для избыточности в наших сервисах и базах данных, сбалансируем и ограничим нагрузку на отдельные части системы, кешируем часто используемые данные, поработаем с долгими соединениями и тяжёлыми файлами.
4. ПОДСИСТЕМЫ ДЛЯ ХРАНЕНИЯ ДАННЫХ, ПОИСКА И АНАЛИТИКИ
Обеспечим возможность текстового поиска в данных своими силами и с помощью готовых продуктов. Настроим поиск по геоданным, мониторинг и сбор логов для аналитики и внешних команд.
5. ФИНАЛЬНЫЙ ПРОЕКТ
Спроектируем дизайн популярной системы, которой пользуются миллионы людей по всему миру. Применим для этого все знания, полученные в рамках курса.
1. СБОР ТРЕБОВАНИЙ И ОЦЕНКА НАГРУЗКИ
Начнём проектирование системы с выбора ограниченного круга функциональных и нефункциональных требований, которым она должна соответствовать. Исходя из предположений о количестве пользователей и паттернах использования оценим трафик и требования к необходимому железу.
2. ВЫСОКОУРОВНЕВЫЕ СХЕМЫ И МОДУЛЬНЫЙ ДИЗАЙН
При создании системы будем придерживаться простого дизайна, покрывающего все базовые сценарии использования. Обсудим выбор подходящих систем управления базами данных и рассмотрим модульный подход к проектированию, позволяющий расширять систему с повышением требований к функционалу, надёжности и скорости работы.
3. МАСШТАБИРОВАНИЕ И ПОВЫШЕНИЕ ОТЗЫВЧИВОСТИ
Увеличим число реплик для избыточности в наших сервисах и базах данных, сбалансируем и ограничим нагрузку на отдельные части системы, кешируем часто используемые данные, поработаем с долгими соединениями и тяжёлыми файлами.
4. ПОДСИСТЕМЫ ДЛЯ ХРАНЕНИЯ ДАННЫХ, ПОИСКА И АНАЛИТИКИ
Обеспечим возможность текстового поиска в данных своими силами и с помощью готовых продуктов. Настроим поиск по геоданным, мониторинг и сбор логов для аналитики и внешних команд.
5. ФИНАЛЬНЫЙ ПРОЕКТ
Спроектируем дизайн популярной системы, которой пользуются миллионы людей по всему миру. Применим для этого все знания, полученные в рамках курса.

ОТЗЫВЫ ВЫПУСКНИКОВ /

Если вам интересно расширить свои знания в контексте построения высоконагруженных сервисов, разложить на атомы наиболее популярные из них, сформировать для себя алгоритм быстрого проектирования или прохождения реального интервью по System Design, то стоит обратить внимание на этот курс, безотносительно ознакомления с другими материалами по тематике…

Читать полностью →
Артем
Я понял, как на основе требований оценивать нагрузку, масштабировать систему и повышать её отзывчивость, и разобрался, как работают разные алгоритмы поиска. Реализация поиска была мне особенно интересна, такую информацию мало где встретишь: чёткая, структурированная и по делу.

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

Читать полностью →
Сергей
Я понял, как на основе требований оценивать нагрузку, масштабировать систему и повышать её отзывчивость, и разобрался, как работают разные алгоритмы поиска. Реализация поиска была мне особенно интересна, такую информацию мало где встретишь: чёткая, структурированная и по делу.

Рекомендую этот курс всем системным аналитикам — он позволит посмотреть на вашу работу под другим углом. Курс проходится довольно быстро и легко. Имея возможность применить полученные знания в работе, вы всегда будете на одну ступеньку выше своих коллег...
Сергей
Перед собеседованием по System Design можно ничего не делать и просто положиться на собственный опыт. Также можно смотреть записи интервью и изучать разные статьи и материалы в попытке самостоятельно составить цельную картину.

Но можно поступить ещё мудрее — записаться на подробный курс по System Design и получить понятный план подготовки, основанный на успешном опыте прохождения интервью авторами курса.
 Преподаватель курса Евгений Нижибицкий
Machine Learning Team Lead в AliExpress, преподаватель курса
ЕВГЕНИЙ НИЖИБИЦКИЙ

УЧИТЕСЬ У >ЛУЧШИХ>

Преподаватель курса System Design Валерий Бабушкин
ВАЛЕРИЙ БАБУШКИН
Работал в WhatsApp, руководил отделом Data Science and Engineering в X5 Retail Group, был директором по аналитике и машинному обучению в компаниях Яндекс и Alibaba. Ведёт курс Data Science в Высшей Школе Экономики. Консультирует центральный банк Казахстана по вопросам анализа данных. Имеет звание Grandmaster на платформе Kaggle.
Head of Data Science в Blockchain.com
Преподаватель курса System Design Евгений Нижибицкий
ЕВГЕНИЙ НИЖИБИЦКИЙ
Занимается анализом и категоризацией товаров, объявлений и отзывов. Ранее работал над системой распознавания лиц в X5 Retail Group, разрабатывал платформу машинного обучения для Canon USA, руководил командой видеоаналитики в Rambler Group.
Machine Learning Team Lead в AliExpress

СТОИМОСТЬ

> Сбор требований и оценка нагрузки
> Высокоуровневые схемы и модульный дизайн
> Масштабирование и повышение отзывчивости
> Подсистемы для хранения данных, поиска и аналитики
> Финальный проект
Все модули курса. Доступ к поддержке от преподавателей, готовых ответить на любые вопросы.
30 000 ₽
Открыт набор на следующий поток – начало 10 октября.
Не более 50 студентов на потоке.
Начните учиться сейчас, оформите налоговый вычет и верните до 13% стоимости обучения. Подробнее здесь.
налоговый вычет
гарантия возврата
Если в течение двух недель решите, что курс вам не подходит — вернём деньги.

FAQ >>>

Есть ли у вас образовательная лицензия? 
Да, мы осуществляем образовательную деятельность на основании государственной лицензии № 042 048 от 11 апреля 2022 года, выданной Департаментом образования и науки города Москвы.
Смогу ли я оформить налоговый вычет за обучение?
Да. Если вы оплатили обучение на курсе после 23 мая 2022 года, являетесь налоговым резидентом России и уплачиваете подоходный налог, вы можете оформить вычет. Однако подать документы можно только в году, следующем за годом оплаты обучения. 
Налоговый вычет за обучение — это часть расходов на образование, которую государство может вам компенсировать. С подробной информацией об условиях получения налогового вычета, порядком его расчёта и списком необходимых документов можно ознакомиться на сайте ФНС.
Какой уровень требуется для прохождения курса?
Для комфортного обучения на курсе необходимо иметь уровень не ниже Middle и обладать опытом разработки отдельных компонентов систем. Желательно иметь общее представление о передаче информации между пользователями и сервисами, её хранении и обработке, а также устройстве бэкенда и веб-сервисов.
Придётся ли мне писать код?
Нет. Курс не предполагает написание кода, однако наличие опыта в программировании поможет вам лучше разобраться в материале.
Какие технологии будут рассматриваться в рамках курса?
На курсе мы обсудим популярные технологии для реализации отдельных частей системы: балансировщики нагрузки, поисковые движки и конкретные базы данных.
Какие программы и оборудование нужны для обучения?
Лекции курса можно смотреть с любого устройства, требований к его конфигурации нет. Никаких специальных программ устанавливать не нужно — потребуются только браузер и стандартные приложения для общения: Telegram, Zoom и Slack.
Нужно ли иметь обзорные знания по базам данных до курса или на курсе будет материал про них в достаточном объеме?
Будет краткий обзор, какие виды баз данных есть и какие когда лучше подойдут, в том объеме, который достаточен для интервью.
Смогу ли я вернуть деньги, если курс мне не понравится?
Да, сможете. В течение первых двух недель можно вернуть оплату за весь курс. Если проучитесь дольше, то сможете вернуть оплату за вычетом стоимости уже открытых уроков.
СТАРТ КАЖДЫЙ МЕСЯЦ
НАЧАЛО КУРСА 10 ОКТЯБРЯ

Остались вопросы?

Заполните форму, мы свяжемся с вами, ответим на все ваши вопросы и подробнее расскажем о курсе.