💭
За последние несколько лет курсов по System Design стало заметно большеИ это хорошо.
Чем больше качественных материалов появляется на рынке, тем легче разработчикам разобраться в теме. Разные преподаватели по-разному объясняют материал, делают акценты на разных аспектах и дают возможность выбрать подходящий формат обучения.
Когда я создавал свой курс по System Design, подобных продуктов было буквально несколько. Причем один из них был больше ориентирован на Data Science-направление (
не буду здесь рекламировать конкурентов), а мне хотелось построить программу именно для разработчиков и инженеров.
При этом я никогда не считал, что мои знания в этой области какие-то уникальные. Я не придумал новые подходы к проектированию распределенных систем и не владею секретной информацией, которой больше ни у кого нет. Все, что есть в курсе, в том или ином виде можно найти в книгах, статьях, докладах на конференциях, открытых источниках или встретить во время разработки высоконагруженных систем.
Но за годы работы я понял одну важную вещь.
Проблема большинства разработчиков не в недостатке информации. Проблема в том, что информация существует разрозненно.Можно посмотреть десятки видео про балансировщики нагрузки, базы данных, очереди сообщений и кэширование. Можно прочитать несколько книг по распределенным системам. Можно даже пройти несколько собеседований по System Design. И все равно не понимать, как подступиться к проектированию новой системы и как принимать архитектурные решения.
Поэтому основной целью курса всегда была не передача отдельных знаний, а их систематизация.Чтобы после обучения человек понимал: как анализировать требования, как подходить к проектированию системы, какие архитектурные паттерны существуют, какие компромиссы приходится принимать, как обосновывать свои решения и как проходить System Design-интервью.
❗️Конечно, эта систематизация не появилась из воздуха.
За последние годы мне довелось работать над высоконагруженными системами в Яндексе, Ozon, Т-Банке и
Mail.ru. Например, в Яндексе я руководил развитием системы трейсинга с трафиком 11 ГБ/с, а также проводил System Design-интервью и сам их проходил. Именно этот опыт во многом лег в основу курса.
Но не меньше на него повлияли сами студенты.
За это время курс прошел уже 16 потоков. Практически после каждого мы что-то улучшали, добавляли новые темы, улучшали практику, меняли тесты, перерабатывали объяснения и учитывали обратную связь участников. Отдельные потоки проходили целые компании. Например, для Wildberries мы обучали более 100 разработчиков несколько раз, а многие работодатели до сих пор отправляют сотрудников на обучение за счет компании.
Наверное, именно поэтому большинство отзывов похожи между собой. Люди часто пишут, что впервые увидели System Design не как набор отдельных технологий, а как целостный процесс принятия архитектурных решений. Сегодня
средняя оценка курса составляет 4,94 из 5, а 86,6% выпускников готовы рекомендовать его коллегам и друзьям.Поэтому если вы выбираете курс по System Design, я бы рекомендовал смотреть не только на программу и список технологий. Гораздо важнее понять, какой опыт стоит за этим курсом, как формировалась программа и сколько раз она уже была проверена на практике.
Если вам близок такой подход, буду рад видеть вас на
следующем потоке курса по System Design, который начнется 8 сентября. А еще на сайте есть демо-доступ - можно бесплатно потестить качество материала, не приобретая кота в мешке.
Также сейчас мы работаем над новым продуктом -
AI System Design. Он будет посвящен проектированию AI-систем и интеграции AI-компонентов в существующие продукты. Этот курс буду вести не я, а отдельный эксперт с практическим опытом в данной области.
Пока мы собираем обратную связь и изучаем, какие темы наиболее интересны разработчикам. Если вам был бы интересен такой курс, заполните короткий
опрос, который поможет в подготовке такого курса.
Кто я |
Навигация |
Спасибо