Вы открыли список Build Your Own X на GitHub, увидели более 100 репозиториев с обещаниями научить компиляторы, базы данных и ОС — и не поняли, с чего начать. Это нормально: коллекция — шведский стол, а не учебный план. Выберите слишком сложный проект первым — и выйдете из игры, не поняв, зачем нужна хеш-таблица.
Этот гайд даёт дорожную карту Build Your Own X для начинающих: поэтапный порядок проектов, который наращивает навыки слоями, реалистичные бюджеты времени на каждый этап и план из семи шагов, чтобы завершить первый проект без выгорания. Числа отражают практику команд в 2026 году; адаптируйте к своему бэкграунду. Дата: 3 августа 2026.
Краткий ответ: рекомендуемый порядок проектов для новичков
| Фаза | Проект Build Your Own X | Зачем такой порядок | Типичное время |
|---|---|---|---|
| 1 — Основы | Git · CLI-утилита · парсер JSON | Версионирование и парсинг появляются в каждом следующем проекте | 2–4 недели |
| 2 — Web core | HTTP-сервер · сокращатель URL · генератор статики | Сокеты, роутинг и файловый I/O без теории компиляторов | 3–6 недель |
| 3 — Данные | DB типа SQLite · Redis · key-value store | Персистентность и кэш открывают реальные бэкенды | 4–8 недель |
| 4 — Языковые инструменты | Regex engine · интерпретатор · шаблонизатор | Контролируемое введение в парсинг до полного компилятора | 6–10 недель |
| 5 — Системы | Docker · контейнер · shell · Git (углублённо) | Понять, как на самом деле работает dev-окружение | 8–12 недель |
| 6 — Продвинутый | Компилятор · toy kernel · blockchain | Только когда фазы 1–4 даются комфортно | 12+ недель каждый |
1. Что такое «Build Your Own X» — и чем это не является
Build Your Own X — курированный список туториалов и челленджей: свой Redis, Docker, Git, компилятор и десятки других. Это не единый курс с принудительными пререквизитами. Считайте библиотекой; этот текст — порядок чтения.
Цель — не заменить production-софт. Вы строите toy Redis с пятью командами, чтобы при «OOM command not allowed» в логах понимать, что такое eviction policy. Работодатели меньше спрашивают, какой репозиторий клонировали, и больше — можете ли объяснить trade-offs при реализации.
В русскоязычном IT — от московских и питерских продуктовых компаний до распределённых команд — на технических интервью растёт ценность системного понимания. Портфолио с mini-Git или HTTP-сервером и заметками о дизайне выделяется на фоне списка CRUD-приложений. В enterprise-сегменте умение объяснить TTL и стратегию кэширования часто важнее знания команд Redis по памяти.
Кому подходит эта дорожная карта
- Один язык программирования на уровне «написать CRUD-приложение»
- 5–10 часов в неделю на side-проекты
- Нужна глубина, а не ещё один tutorial по фреймворку
- Готовы читать RFC и исходники, когда застряли
Если выбираете между AI coding tools — сначала вручную завершите маленький Build Your Own X проект, потом AI для рефакторинга тестов, не для пропуска learning loop.
Codecrafters с поэтапными заданиями хорошо стыкуется с привычкой «делать по шагам». Бесплатные блог-серии гибче, но граница «готово» размыта. Выбирайте по дисциплине.
2. Фаза 1: основы (недели 1–4)
Начинайте здесь, даже если туториалы выглядят «слишком простыми». Пропуск основ — почему новички скачут на «Build Your Own Kubernetes» и тонут в YAML, не понимая процессы.
| Проект | Навыки | Готово, когда… |
|---|---|---|
| Свой Git (Codecrafters) | Object store, хеширование, trees, commits | init, add, commit, log в mini-git |
| Парсер JSON / XML | Рекурсия, токенизация, сообщения об ошибках | Round-trip: строка → AST → строка для вложенных объектов |
| CLI-утилита (grep, wc, todo) | stdin/stdout, флаги, exit codes | Бинарник из PATH, который друзья могут запустить |
Бюджет времени: мотивированный новичок заканчивает mini-Git за 15–25 часов в две недели. Больше 40 часов на урок 1? Проверьте gold-plating — scope по стадиям туториала, не parity с GitHub.
Гоняйте билды на стабильном железе. Сон ноутбука посреди теста — час впустую; постоянно работающий Mac dev server (локальный mini или облако) держит интеграционные тесты тёплыми между сессиями.
Удалённая работа стала нормой; жалобы на шум вентилятора и перегрев ноутбука часты. Фаза 1 лёгкая — но привычка «билды на always-on машине» снижает стресс с фазы 3.
Мышление в фазе 1
mini-Git показывает: коммиты — граф объектов, не снимок. Это прямо связано с Redis (структуры) и SQLite (layout страниц). На каждом этапе — строка в заметках: «что делает реальный Git здесь?»
В JSON-парсере — кириллица и UTF-8: байты или codepoints? Дизайн-решения, которые формируют ошибки и интервью.
3. Фазы 2–3: web-стек и данные (недели 5–12)
Когда Git и парсинг надежны — сеть и персистентность, хребет большинства backend-ролей.
Фаза 2 — Web core
- HTTP-сервер — accept TCP, парсинг запросов, статусы и headers
- Сокращатель URL — роутинг + in-memory или файловый store
- Генератор статики — шаблоны + обход filesystem
Эти проекты объясняют, зачем фреймворки: вы вручную соединяете то, что Express или FastAPI потом соберёт.
URL-shortener — частый «первый infra-задача» в стартапах. Короткие ссылки, редиректы, счётчики — prod-концепты в миниатюре. Хорошо сочетается с постом на Habr или личном блоге.
Фаза 3 — Слой данных
| Проект | Открытый концепт | Плюс на интервью |
|---|---|---|
| SQLite / key-value DB | Pages, B-trees, основы WAL | «Почему индексы ускоряют» с примерами |
| Redis | Event loop, RESP, TTL | Кэш, pub/sub, session stores |
| Поисковик (mini) | Инвертированный индекс, токенизация | Trade-offs полнотекстового поиска |
Junior backend, которую мы менторили, построила Redis в Go за шесть выходных и снизила latency API на 30 % — видела лишние round-trips. Дорожная карта работает вне tutorial-репо.
Фаза 3 долгая, но после неё DB — не «магическая коробка», а структурированные данные на диске. Индексы, транзакции, кэш — частые темы интервью — отвечаются из опыта.
4. Фазы 4–6: языки, контейнеры и «hard mode»
Фаза 4 — Языковые инструменты
Порядок: regex engine → tree-walk interpreter → шаблонизатор → компилятор (subset). Сложность грамматики растёт без скачка на LLVM.
Русский текст в regex — типичный gap между ASCII-учебниками и реальностью. Unicode properties и границы слов — свои design decisions для интервью.
Фаза 5 — Системы
Docker / контейнер перед ОС. Контейнеры учат namespaces и cgroups за неделю; toy OS — семестр. Shell между ними — fork, exec, pipes делают entrypoints контейнеров понятными.
Docker стандарт в компаниях, но мало кто объясняет внутренности. Кто собрал свой контейнер — быстрее схватывает Pods в Kubernetes.
Фаза 6 — Продвинутый (опциональная ветка)
- Полный компилятор — PLT, static analysis, LLVM jobs
- Toy OS — embedded и systems roles
- Blockchain / P2P — только при явном интересе; для app dev не обязательно
fork. На Windows — WSL2 или remote Linux/Mac build host; не боритесь с платформой, пока учите Redis internals.5. Шесть ошибок, убивающих импульс Build Your Own X
- Начинать с OS или Kubernetes. Сначала mental models процессов и сети.
- Параллелить проекты. Один репо до завершения фазы.
- Пропускать тесты туториала. Они определяют scope.
- Гнаться за parity с prod. Toy Redis без cluster mode.
- Без заметок. Markdown «design decisions» на проект — future you скажет спасибо.
- Игнорировать build environment. Медленные или спящие машины скрывают flaky tests; dedicated dev box с фазы 3+.
В русскоязычных комьюнити многие гонятся за «идеальной реализацией» и стопорятся. Build Your Own X — learning device, не deliverable. Идите дальше, когда тесты зелёные.
6. План из семи шагов для первого Build Your Own X проекта
- Выберите один проект из фазы 1 (mini-Git или HTTP-сервер).
- Заблокируйте 6 часов на этой неделе — две сессии по три часа.
- Fork tutorial repo и прочитайте stage 0 без кода.
- Завершите только stage 1 перед peek на solutions stage 5.
- Ретроспектива 200 слов: что смутило, что щёлкнуло.
- Одна диаграмма (архитектура или data flow) — peer или блог.
- Запланируйте проект два в той же фазе перед фазой 2.
Застряли на setup? Help center — SSH и remote dev, или облачный Mac за минуты для стабильных Unix builds.
Парное программирование на выходных — два часа — популярно в русскоязычных стримах и митапах; тренирует объяснение для интервью.
Часто задаваемые вопросы
Следовать Build Your Own X в порядке списка?
Нет — readme на GitHub алфавитный, не pedagogical. Используйте phased roadmap выше.
Какой язык?
Тот, что знаете. Go и Rust популярны в туториалах; Python для парсеров; C если tutorial на C (Redis, SQLite).
Codecrafters обязателен?
Нет — много free blog series. Codecrafters определяет «done» тестами; бюджет, если нужна структура.
Связь с CS degree?
Дополняет: реализуете то, что в вузе часто только на бумаге. Оба, если есть время.
Можно ли AI?
Да, после попытки stage. AI для ошибок и design review — не paste solutions до struggle.
Сколько часов в неделю?
5–10 часов — фаза 1 ~месяц. Full-time быстрее, но глубина важнее скорости.
Заключение: Build Your Own X как многогодовой syllabus
Дорожная карта Build Your Own X — не гонка. Основы → web → данные → языки → системы держит новичков в shipping mode и с объяснением trade-offs. Завершите фазу 1 в этом месяце; оцените, подходит ли фаза 4 (компиляторы), прежде чем нырять.
Когда билды тяжёлые или нужна macOS/Linux parity с Windows-стола — dedicated облачный Mac убирает friction: циклы на Redis protocols, не на thermal throttling ноутбука. Следующий шаг: выбрать один проект фазы 1, заблокировать время, запустить stage 1 сегодня вечером.