Show HN: учись программировать, пересобирая с нуля Redis, Git и базы данных
На Hacker News в разделе Show HN (там пользователи презентуют собственные проекты) пользователь acley представил образовательный сайт ShipThatCode (shipthatcode.com), платформу, где программированию учат не через видеолекции, а через пересборку настоящих систем с нуля. Слоган сайта: «учись, создавая и выпуская настоящие системы». Формат урока описан как цикл «выбери → напиши код → запусти», который повторяется, пока концепция не станет понятной. На сайте заявлено более 80 курсов «построй с нуля» на 9 языках программирования, регистрация бесплатная и не требует банковской карты.
Как выглядит урок, показывает пример кода на Python: студент пишет обработчики команд Redis SET и GET, то есть реализует часть протокола взаимодействия с хранилищем типа «ключ-значение». Команда SET кладёт значение в словарь и возвращает признак успешного выполнения; GET возвращает длину и содержимое значения либо специальный код отсутствия ключа, если такого ключа в хранилище нет. Иными словами, ученик пишет код, который реально работает по протоколу Redis, а не решает абстрактную учебную задачу.
Список тем «построй с нуля» широкий: Redis (Python/Go/Rust), база данных (Python/C/Rust), Git (Python/Go), язык программирования (Python/Rust), контейнерный рантайм (Go/C), командная оболочка (C/Rust), текстовый редактор (C/Rust), ядро ОС (C/Rust), 3D-рендерер (Rust/C++), трассировщик лучей (C++/Rust), нейросеть (Python/C++), игровой движок (C++/Rust), BitTorrent (Go/Python), балансировщик нагрузки (Go/Rust), хранилище ключ-значение на Raft (Go/Rust), блокчейн (Python/Go). Для каждой темы можно выбрать один из двух-трёх языков реализации.
Кроме отдельных курсов сайт предлагает пять «карьерных треков», последовательностей курсов под конкретную роль: Backend Engineer (инфраструктура, лежащая в основе любого веб-сервиса, Go, SQL, кэши, очереди и протоколы, которые их связывают), Frontend Engineer (браузерная часть, JavaScript и TypeScript, а затем создание собственного фреймворка), Full-Stack Developer (обе стороны, TypeScript на клиенте плюс backend-язык и протоколы), DevOps/SRE (Bash и Go для инструментов, Docker, CI и наблюдаемость для платформы) и Data Scientist (Python, R и SQL, классическая тройка анализа данных, плюс структуры данных для эффективных запросов).
Отдельно от «построй с нуля» на сайте есть треки по 37 языкам программирования, у каждого языка можно раскрыть трек из трёх уровней: базовый, средний и продвинутый.
На сайте приведён отзыв пользователя (без имени): «Здесь не сжульничаешь, либо ты решаешь задачу, либо нет. Это первая платформа, на которой я по-настоящему понимаю, что пишу». По описанию сайта, первый урок занимает около 2 минут, а создание бесплатного аккаунта, около 30 секунд, без банковской карты и «навсегда бесплатно».
На момент сбора данных пост в разделе Show HN существовал около 20 часов и набрал 170 баллов и 44 комментария, заметный отклик для площадки Hacker News.
Ключевые факты
- ShipThatCode (shipthatcode.com), более 80 курсов «построй с нуля» на 9 языках программирования, регистрация бесплатная и без банковской карты.
- Формат, цикл «выбери → напиши код → запусти»: например, в курсе про Redis студент сам пишет обработчики команд SET и GET на Python.
- Темы курсов: Redis, база данных, Git, язык программирования, контейнерный рантайм, командная оболочка, текстовый редактор, ядро ОС, 3D-рендерер, трассировщик лучей, нейросеть, игровой движок, BitTorrent, балансировщик нагрузки, хранилище ключ-значение на Raft, блокчейн, на выбор 2, 3 языка реализации (Python, Go, Rust, C, C++).
- Пять карьерных треков из последовательных курсов: Backend Engineer, Frontend Engineer, Full-Stack Developer, DevOps/SRE, Data Scientist; отдельно, треки по 37 языкам программирования из трёх уровней сложности.
- Пост в разделе Show HN на Hacker News набрал 170 баллов и 44 комментария примерно за 20 часов.
Почему это важно
Обычный способ учить программирование, смотреть видео или копировать готовый код, часто создаёт иллюзию понимания: ученик повторил чужие шаги, но не решил задачу сам. ShipThatCode выстраивает курсы вокруг обратного принципа: чтобы урок засчитался, нужно написать код, который реально выполняет протокол или алгоритм системы, например, обработчик команд Redis или часть Git. Отзыв на сайте формулирует это прямо: «здесь не сжульничаешь, либо ты решаешь задачу, либо нет»; обратная связь мгновенная и объективная, код либо работает, либо нет.
Кому это важно
Формат рассчитан на разработчиков и студентов, которые хотят понимать инструменты, которыми пользуются каждый день (Redis, Git, базы данных), а не воспринимать их как чёрный ящик. Пять карьерных треков, Backend Engineer, Frontend Engineer, Full-Stack Developer, DevOps/SRE и Data Scientist, собраны как последовательности курсов под конкретную роль, то есть подойдут тем, кто уже выбрал направление и хочет готовый учебный план, а не тем, кто разбирает отдельные темы вразнобой. Отдельно сайт предлагает треки по 37 языкам программирования, то есть подходит и тем, кто хочет прокачать конкретный язык вне привязки к «построй с нуля».
Как это применить
Начать можно бесплатно: по описанию сайта, регистрация аккаунта занимает около 30 секунд и не требует банковской карты, первый урок, около 2 минут. Дальше можно выбрать один из 80+ курсов «построй с нуля», например, Redis (Python/Go/Rust) или базу данных (Python/C/Rust), и пройти цикл «выбери → напиши код → запусти», либо сразу пойти по одному из пяти карьерных треков, либо прокачивать отдельный язык программирования по треку из трёх уровней. Сайт, shipthatcode.com; обсуждение поста, в ветке Show HN на Hacker News.
Можно ли доверять
Источник, маркетинговый текст с посадочной страницы сайта, который автор поста (пользователь acley) разместил в разделе Show HN; это не независимый обзор и не запись демонстрации продукта. Цифры «более 80 курсов», «9 языков» для курсов «построй с нуля» и отдельно «37 языков» для языковых треков заявлены самим сайтом и не проверялись сторонним источником. Более того, среди перечисленных на сайте карточек курсов встречаются только пять языков реализации, Python, Go, Rust, C и C++, что не сходится с заявленными «9 языками»; чем объясняется расхождение, из собранного материала не ясно. Приведённый отзыв пользователя не подписан именем, по сути, это маркетинговая цитата, а не проверяемое свидетельство. При этом пост получил заметный органический отклик на Hacker News, 170 баллов и 44 комментария примерно за 20 часов, однако содержание самих комментариев (согласны ли участники с качеством курсов) в собранном материале не отражено.
Риски и подводные камни
Формулировка «построй с нуля» может скрывать разный уровень полноты: заявленная возможность построить, например, «ядро ОС» или «3D-рендерер» в рамках одного курса, скорее всего, подразумевает упрощённую учебную версию, а не полноценную промышленную реализацию, но сайт это никак не оговаривает. Обещание «навсегда бесплатно» по тексту относится к регистрации и первому уроку, есть ли платные уровни или ограничения для доступа ко всем 80+ курсам, в собранном материале не указано. Также неясно соотношение «9 языков» (курсы «построй с нуля») и «37 языков» (отдельный языковой трек), возможно, это материалы разной глубины проработки, но источник это не поясняет.
«Здесь не сжульничаешь, либо ты решаешь задачу, либо нет. Это первая платформа, на которой я по-настоящему понимаю, что пишу.»
— отзыв пользователя, приведённый на сайте ShipThatCode (имя не указано)