
Курс "System Design"
По мере роста как разработчика всё чаще будет требоваться умение выстраивать масштабируемые и оптимальные архитектуры для программных систем. Развитие этого навыка — отличный способ выделиться из массы других разработчиков.
А ещё интервью по System Design — это обязательный этап собеседований в большие технологические компании. Его проходят при отборе как на инженерные позиции (Individual Contributor), так и на менеджерские (Engineering Manager). В большинстве случаев именно по его результатам определяется уровень соискателя и принимается решение о найме.
К сожалению, на русском языке практически нет материалов для комплексной подготовки к таким интервью. Чтобы решить эту проблему, в KARPOV.COURSES записали свой курс по System Design.
Отзывы о курсе и эксперте
На волне развития рекомендательной системы одного небезызвестного видеохостинга мне приглянулась серия записей интервью по 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, то стоит обратить внимание на этот курс, безотносительно ознакомления с другими материалами по тематике.
Данный курс предоставит шаблон и поможет разобраться в последовательности обязательных действий для дизайна систем. Поэтому этот курс больше подойдёт начинающим DevOps, опытным Machine Learning инженерам, всем специалистам по Data Science, кто планирует закрыть свои инженерные пробелы, и, очевидно, backend- разработчикам разной весовой категории.
Перед покупкой курса рекомендую обратить внимание, что курс позиционирован как интенсив, то есть здесь будут домашние задания и лимит по времени. Выполняя их в срок, вы сможете выработать свой стиль высокоуровневого дизайна систем.
Очень качественная и хорошая подготовка с большим количеством практики и реальных кейсов. Прошел обучение на курсах «Аналитик данных», «Симулятор аналитика», в процессе — «Инженер данных». Результатами доволен, профессиональные навыки растут.
На курсе «Симулятор аналитика» понравилось наличие большого количества новых для меня инструментов и практическая применимость каждой темы. Благодаря уже первому заданию курса я смог на практике придумать метрики и реализовать систему мониторинга в компании, в которой сейчас работаю. Думаю, это лучший показатель того, как хорошо и качественно раскрываются темы. Для меня абсолютно новой темой была работа с GitLab CI/CD, и я очень рад, что удалось с этим разобраться.
В продуктовой команде, в которой я работаю аналитиком, мне удалось выстроить систему мониторингов: 1) на Qlik Sense реализовал дашборды с мониторингом основных показателей; 2) придумал продуктовые метрики для одного из продуктов, после небольших доработок продукта метрики утверждены продуктовым менеджером, также планируется настроить их мониторинг; 3) начал использовать GitLab и научился работать с GitLab CI/CD.
Поэтому курс дал мне очень многое, и я благодарен его авторам!
Понравилось, что были разборы ДЗ — это реально помогало. Также понравился интерактив с преподавателями и другими студентами. Очень полезный курс, так держать!
Какие-то вещи получилось применить сразу, какие-то смотрел «по диагонали». В целом не все задачи курса сейчас использую, но некоторые разделы (деплой, ценообразование) уже удалось применить в работе. Какие-то вещи просто не успел еще как следует разобрать (те же А\В тесты).
У меня изначально были менеджерский бэкграунд и широкие, но неглубокие знания в области ML и DE. Поэтому мне было бы довольно сложно конкурировать с людьми, которые специализируются в CV, NLP, RL или DE. Но зато сейчас появилось много позиций DS Manager, где большую роль играют софт скиллы, умение быстро находить общий язык с HR, DS, AI Directors, VP и SVP, а также опыт управления командами и решения конкретных бизнес задач.
Поначалу я стеснялся сходить с инженерного трека, так как мне интересен и ресёрч, и инжиниринг, но потом понял, что если мои суперспособности — это двигать проекты и решать конфликты, то нечего и отпираться. По результатам тех самых 5 собеседований я проходил в небольшие и средние компании в США на DS, MLE и DS Manager позиции. В конечном счёте я выбрал DS Manager трек — с марта начну работать на позиции Data Science Manager в DISH.com.
По моему опыту, каждое ML интервью состояло из двух частей: базовый ML и продвинутый ML (этап с кодом в расчёт не берём).
В базовой части было важно не только правильно ответить на вопросы, но и объяснить ответы простым языком. Ожидается, что все это могут, поэтому выделиться на этом этапе особо нечем — разве что софт скиллами, улыбчивостью и ответами на каверзные вопросы.
А вот продвинутый ML — эта та часть собеседования, где действительно можно проявить себя. С этим этапом мне очень помог HardML. Люди, конечно, не прочь обсудить продвинутые/редкие штуки, которые вы оба знаете, но будет гораздо интереснее, если вы сможете рассказать о каких-то полезные вещах, которые они не знают. Особенно если есть проект с кодом, в котором можно покопаться. Из общих знаний обсуждались MultiArmedBandits, Fast Nearest Neighbors, CUPED, Clusterization, Uplift Trees. Из того, чем получилось похвастаться — Dask Feature Lib, Contextual MABs, target encoding, probabilistic forecasting, Толока и построение labeling pipelines, а также LambdaMART.
Ещё я для себя понял, что интервью — это не полностью заскриптованный процесс и им можно в некоторой степени управлять. Обычно работало хорошо, потому что слушать в 100 500 раз ответы на базовые вопросы мало кому охота, а обсуждать продвинутые темы всегда интересно. Для себя выбрал такую стратегию, которая работала с переменным успехом:
— Break the ice — small talk, чтобы снять дискомфорт: с кем-то пошутить про новый год, с кем-то посмеяться про гололёд и т. п.
— Понять, что делает команда и выбрать подходящие проекты и знания из своей копилки.
— Рассказывая о себе, обязательно упомянуть подходящие заготовки для продвинутой части.
— Побыстрее проскочить базовую часть.
— Поговорить про продвинутую часть, не сильно углубляясь в дебри.
— По возможности поразбирать код из своего проекта, чтобы сопоставить ожидания и свои возможности.
Так что для меня "ОБУЧЕНИЕ У НАС == КАРЬЕРА В IT" вполне сработало.
Симулятор как раз заполняет эту брешь. Реальные задачи из прода, большой объем данных, и что порадовало отдельно — хорошая вводная теоретическая часть. Рекомендую однозначно.
Здесь нет огромной кучи теории и пошагового алгоритма, когда тебя ведут за ручку. Этот курс (Симулятор аналитика) — это именно практика. Было совсем мало теории и приходилось очень много искать в интернете, общаться с одногруппниками и тестировать разные способы.
Я пришел практически без опыта и знаний. В этом направлении у меня были только знания Python и пройденная половина курса «Основы статистики» на Stepik. И это было очень интенсивно. За время симулятора я понял, как многие вещи работают на практике с «живыми» данными.
Пока еще не устроился аналитиком данных, но в точно таком же формате я работал в предыдущей компании тех. спецом. Так же искал инфу, так же думал над превращением ТЗ в готовый проект, так же тестировал разные способы. Поэтому считаю, что это действительно симуляция работы в компании.
14 марта 2021. Все началось с курса по основам статистики на Stepik…
Анатолий Карпов, как всегда, лучший в объяснении сложного простым языком.
После его стиля преподавания очень сложно перестраиваться на других курсах. Познакомился с трудами Манаенкова Александра и Марии Сомовой. Всё просто и понятно. Они тоже относятся к преподавателям-практикам, кто умеет объяснять доступным языком.
102 часа было инвестировано в прохождение этого курса. «Симулятор аналитика» был максимально настроен на выполнение задач в условиях, приближенных реальным.
Команда отвечала на любые непонятные вопросы днем и ночью, даже в субботу и воскресенье, чему я был приятно удивлен.
Однозначно рекомендую поступать на этот курс, если вам не хватает опыта.
Я считаю, что это топовый образовательный проект. Большие плюсы в том, что тебя не бросают одного, при необходимости доходчиво объясняют сложные научные методы, постоянно дополняют конспекты и улучшают курсы от потока к потоку, и даже после обучения помогают выпускникам.
Как по мне, отлично выстроенный процесс обучения. Очень интенсивный и обширный. Каждый пройденный модуль так и просится добавиться в портфолио. Все вопросы по решению задания отпадают после детального просмотра лекций и конспектов. А если и остаются, решаются моментально командой поддержки.
Интенсивный курс. Да, очень интенсивный. Пришлось взять отпуск, чтобы уложиться в дедлайны. Но это даже пошло на пользу, потому что так лучше всё отложилось в голове. Считаю, что этот курс надо проходить залпом и относиться, действительно, как к стажировке.
У меня не было релевантного опыта, и я долго не мог начать активно искать новую работу. Курс аналитика с дополнением в виде симулятора — это то что нужно для подобных кейсов. Симулятор подавил синдром самозванца и дополнил портфолио. А задачи, которые я выполнял на симуляторе, отлично вписывались в рассказ о себе и кейсах на собеседовании.
После симулятора, спустя несколько недель активного поиска работы, я получил 2 оффера. Остановил свой выбор на стартапе YallaMarket (аналог Лавки и Самоката, но на территории Дубая). Сейчас работаю на должности Junior Product Analyst.
Я прошла «Симулятор аналитика», и мне так понравилось буквально все — и организация самого процесса, и весь материал, и то, как его подают, и комьюнити… да даже выбранная цветовая палитра)) — что я расстроилась, что раньше не прошла большой курс. Если предположить, что там такое же, но еще дольше и больше — жаль такое упускать.
Больше всего мне понравилось, наверное, то, что здесь учат использовать одновременно несколько инструментов. До этого я отдельно тренировала SQL, отдельно Python (причем как-то отвлеченно от действительности), а тут, когда понимаешь, зачем все это в реальности и как их можно применять одновременно, когда твой запрос не просто отвечает на вопрос, сколько кораблей не вернулось из боя (и не факт, что правильно), а дает тебе возможность построить график, а потом еще и вывод сделать (а тут снова не факт, что правильно) — просто магия.
И было много дополнительных материалов на «поизучать-подумать», в целом мне этот курс очень помог наметить какие-то векторы развития — кажется, ну что там, всего шесть тем, шесть заданий, но это были очень концентрированные задания.
Думаю, мои работы далеки от идеала (хотя кого я обманываю: возможно, они и до среднего не дотягивают), но главное, что после симулятора я уже значительно умнее себя «до». Теперь хочу чего-то такого еще!
Что Вы думаете о курсе?
Помогите другим людям, которые находятся в поисках обучающего курса.
Онлайн-школа karpov.courses предлагает передовое обучение в области Data Science с нуля и помогает построить новую карьеру в IT, а продвинутым специалистам — вырасти в профессии.
Другие курсы Онлайн-школы
Курс поможет освоить востребованную профессию за 5 месяцев.
Курс поможет освоить навыки, необходимые аналитику уровня middle. Выпускники смогут претендовать на повышение грейда как внутри компании, так и при поиске работы.
У студентов, оплативших обучение до 27 марта, есть возможность устроиться на позицию Middle Data Engineer к партнёру — компанию LEFT JOIN.
Расскажите, что думаете про данный оффер.
с правилами публикации отзывов.
После проверки модераторами, Ваш отзыв будет опубликован на сайте. Как правило, проверка занимает 1-2 дня.
Если потребуется уточнить какие-то детали, модератор может связаться с вами по контактам, которые вы оставили.
САЛИД не несёт ответственности за содержание отзывов.
САЛИД не удаляет отзывы по просьбе Экспертов и Онлайн-школ.
Помните, что результаты привлечения трафика всегда индивидуальны.