До начала обучения на курсе мне уже приходилось работать над проектами по созданию тех или иных информационных систем и сервисов. Я успел поработать на разных позициях и прошёл профессиональный путь от аналитика и разработчика до техмена и CEO.
На волне развития рекомендательной системы одного небезызвестного видеохостинга мне приглянулась серия записей интервью по System Design, наиболее глубоким среди которых, на мой взгляд, оказался 4-й выпуск с Женей Нижибицким (Uber-like сервис). Какое-то время назад ко мне попала в руки довольно известная книга «System Design Interview — An insider’s guide», а чуть позже я увидел анонс курса-интенсива по System Design от karpov. courses, где преподавателями выступили Валера Бабушкин (Blockchain.com) и Женя Нижибицкий (AliExpress). По долгу службы на фоне реальной проектной деятельности я и сам промышляю преподаванием ИТ-дисциплин по проектированию систем в столичном инженерно-физическом вузе, поэтому решил начать с ознакомления со структурой курса, затем посмотрел welcome-ролик и подумал: а почему бы и нет? Знаний у меня не убудет, да и стоимость довольно демократичная. Сказано — сделано!
Что меня встретило на курсе:
1. Отлично структурированный модульный контент с постепенным горизонтальным расширением по мере достижения адекватной вертикальной глубины каждой из тем. Здесь и Scope Refinement, и Functional/Non-Functional Requirements, и Capacity Estimation, и High-level + Component Design, и много чего ещё. Каждая из тем сопровождается наглядными схемами, подготовленными в популярном веб-туле для коллаборативного рисования.
2. Через каждую тему курса красной нитью проходят последовательные разборы довольно популярных паблик-сервисов: фотоаппов, сервисов такси, видеоплатформ, чуть более простых сокращателей ссылок и хостингов текстов. В общем, всё то, чем люди регулярно пользуются в обычной жизни и с достаточно высокой вероятностью могут встретить в качестве задачи на реальном интервью по System Design в BigTech-компаниях.
3. Весь материал курса здорово упакован в веб-ориентированную Learning Management System с видеолекциями и конспектами лекционных материалов. Для тех, кому интересно углубиться в тематику, в ряде уроков присутствуют ссылки на дополнительные более расширенные материалы — например, по тем же брокерам сообщений, кэшам, консистентному хэшированию и т. п. Также на платформе в каждом модуле есть практические задания с дедлайнами. Заданий в среднем порядка 20 на модуль, одна часть которых — это разные тесты, а другая — более углублённые практические задачи с обратной связью от преподавателей. Венец курса — финальный проект, в котором необходимо применить все накопленные интегральные знания.
4. Курс не случайно позиционирован как интенсив, что, на мой взгляд, довольно удачно. В каждом из модулей имеются адекватные дедлайны, которые на фоне прочей реальной деятельности помогают поддерживать учебным темп и, проще говоря, не дают «забить» :) Балльно-рейтинговая система курса подразумевает прозрачную систему начисления баллов. В случае несоблюдения дедлайнов система тебя штрафует, и баллов за задания начисляется меньше. Это мотивирует регулярно заниматься и не отставать от учебной программы.
5. Наконец, с коммуникационной точки зрения курс сопровождается, с одной стороны, достаточно оперативно реагирующей поддержкой, с другой — чатом сокурсников. Отдельно стоит отметить, что преподаватели сами находятся в чатах, поэтому какие-то более глубокие вопросы можно обсудить напрямую. Также нельзя не упомянуть и то, что чат с сокурсниками позволяет не только обмениваться идеями, но и вовсе самоорганизовываться в мок-интервью с единомышленниками, если задачей вашего пребывания на курсе является одна из форм подготовки к FAANG-like System Design интервью.
Подведу итоги: если вам интересно расширить свои знания в контексте построения высоконагруженных сервисов, разложить на атомы наиболее популярные из них, сформировать для себя алгоритм быстрого проектирования или прохождения реального интервью по System Design, то стоит обратить внимание на этот курс, безотносительно ознакомления с другими материалами по тематике.
Желаю успехов всем будущим студентам в покорении их академических и реальных дедлайнов, расширении кругозора актуальными технологическими знаниями и возможном прохождении System Design собеседования в одну или несколько BigTech-компаний. Выражаю большую благодарность команде karpov.courses. Это была пушка-бомба ракета!