За одно занятие проделаем путь от простейшего веб-продукта до систем уровня гигантов индустрии. Посмотрим, из чего такие системы состоят, когда каждая часть нужна, как она встраивается и масштабируется. И разложим критерии, по которым всё это оценивают на собеседовании.
Ещё пару лет назад это был разговор для архитекторов и сеньоров из бигтеха. Сейчас строчку «понимает системный дизайн» пишут даже в тех вакансиях, где раньше хватало умения закрывать задачи по фичам.
Код перестал быть узким местом. ИИ пишет функции, компоненты и эндпоинты быстрее любого из нас. А вот решение о том, из каких частей вообще собрать систему и как она будет держать нагрузку, остаётся на тебе: кто-то должен сформулировать требования и границы, иначе ИИ уверенно выдаст решение не той задачи.
Поэтому от разработчика теперь ждут, что он соберёт систему под конкретные требования и объяснит каждый свой шаг: почему здесь нужна очередь, а в соседнем сервисе она только добавит проблем. Названия технологий — Kafka, RabbitMQ, Redis — тут вторичны, они сменятся за пару лет.
На занятии разбираем это руками: проектируем системы вживую и обсуждаем каждое решение на ходу.
Схему на сорок квадратиков бесполезно разбирать, пока не понимаешь, откуда взялся каждый. Поэтому стартуем с простейшего продукта и добавляем части по одной — каждый раз под требование, которое её и вызвало.
Можно знать десяток технологий и всё равно завалить этап — потому что не задал уточняющих вопросов, не проговорил требования и не объяснил, чем платишь за каждое решение. Пройдём формат целиком и назовём пять критериев, по которым выносят решение.
Писать код на занятии не придётся: работаем со схемами и решениями.
Одно занятие, один тариф. Оплатил — и в пятницу приходишь на эфир.