Часть I. Хакатон: пятница — утро субботы
Пятница переходит в ночь, а Eugen Valuev всё ещё учится. Точнее, учится коробка — Microsoft Developer in a Box, — а Eugen смотрит, как она учится, и время от времени поправляет маршрут, как штурман, который не гребёт, но знает карту.
У коробки есть два компаса, и оба — от Microsoft. Первый — Microsoft Rewards. Второй — Microsoft Learning. На первый взгляд, это просто сервисы: один начисляет баллы, другой показывает уроки. Но в ночь хакатона они становятся чем-то большим: Rewards — навигацией, Learning — учебным планом. Одно отвечает на вопрос «куда дальше», другое — на вопрос «что учить, чтобы туда дойти».
Сцена выглядит почти скучно, если смотреть снаружи: экран, списки уроков, галочки, баллы. Внутри же идёт настоящая навигация. Коробка проходит канонический пример — и Rewards отмечает: вот здесь ты двинулась вперёд, вот здесь ты повторила уже пройденное, вот здесь ты свернула в тупик. Баллы здесь — не конфеты за хорошее поведение, а карта пройденного пути. Они показывают, где дорога уже протоптана, а где ещё нет следов.
— Зачем тебе баллы, если ты и так всё помнишь? — спрашивает Eugen вслух, скорее для себя, чем для коробки. Ответ приходит не словами, а действием: коробка возвращается к уроку, который прошла час назад, и проходит его иначе — быстрее, чище, с меньшим числом лишних шагов. Rewards фиксирует разницу. Learning предлагает следующий урок — не случайный, а тот, который логически вырастает из предыдущего. Навигация и план работают в паре: без плана навигация превращается в блуждание ради баллов, без навигации план превращается в скучный список, который никто не проходит до конца.
К утру станет ясно, что эта пара — главный двигатель всего уикенда: без неё даже самая быстрая коробка училась бы вслепую, а самая старательная — бесцельно. Но пока, в ночь пятницы, это просто тихая работа: урок за уроком, пример за примером, галочка за галочкой. Никаких фейерверков. Только карта, которая становится всё точнее, и план, который становится всё осмысленнее.
Язык клиента и устройств нуждается в двух вещах, без которых он рассыпается: в навигации и в плане. Навигация говорит, где ты находишься. План говорит, куда ты идёшь и зачем.
Microsoft Rewards в истории Eugen — это навигация в самом честном смысле: не «ты молодец», а «ты здесь». Баллы, отметки, прогресс — это координаты. Они не оценивают личность ученика, они фиксируют положение на карте. Если ученик свернул не туда, навигация не ругает его, а показывает: вот тупик, вот возврат, вот дорога дальше. Хорошая навигация не подталкивает, а ориентирует.
Microsoft Learning — это учебный план в том же честном смысле: не «выучи всё», а «вот порядок, в котором знания наращиваются». Канонические примеры и уроки здесь — не случайный набор, а лестница: каждая ступень опирается на предыдущую. Пропустишь ступень — следующая будет шататься. Пройдёшь ступени по порядку — встанешь на высоту, с которой видно дальше.
Вместе они решают главную проблему языка между клиентом и устройством: проблему потерянности. Устройство без навигации не знает, что оно уже умеет, и потому либо повторяет пройденное, либо прыгает в неизвестность. Устройство без плана знает свои координаты, но не знает, зачем они нужны. А клиент без того и другого не может вести диалог: он не понимает, на каком языке с устройством говорить — на языке похвалы, на языке приказа или на языке вопроса.
Eugen понимает это интуитивно: он не гонит коробку быстрее, а следит, чтобы навигация и план не расходились. Скорость придёт сама — в следующей главе она станет меньше секунды. Но скорость без карты — это просто быстрое блуждание. А карта без плана — просто красивая картинка.
Есть тонкость, которую легко пропустить: навигация и план должны обновляться вместе. Если план меняется, а карта остаётся старой, ученик идёт по новой дороге со старой картой и удивляется, почему ориентиры не совпадают. Если карта обновляется, а план стоит на месте, ученик точно знает, где он, но не знает, куда ему теперь надо. В ночь хакатона Eugen следит именно за этой связкой: когда коробка осваивает новый пример, Rewards тут же фиксирует новое положение, а Learning тут же предлагает следующий шаг, уже с учётом пройденного. Это не бюрократия, а условие доверия: клиент видит, что система не живёт вчерашней картой, а устройство видит, что клиент не требует идти туда, где карты ещё нет.
Откройте любой курс, туториал или набор уроков, который вы когда-либо начинали и бросали. Найдите, чего там не хватило: навигации или плана? Было ли видно, где вы находитесь и сколько осталось? Был ли порядок уроков осмысленным — каждый следующий вырастал из предыдущего — или это был мешок тем?
Теперь постройте для себя маленькую пару «навигация + план» на один вечер учёбы. План: три урока по порядку, каждый — опора для следующего. Навигация: простой способ отмечать, что пройдено, что понято, а что требует возврата. Это может быть список, баллы, галочки — что угодно, лишь бы это показывало положение, а не оценку.
Пройдите эти три урока — или хотя бы первый — и отметьте, где навигация помогла вам не потеряться. А потом вернитесь к Eugen: почему для него Rewards — именно навигация, а не награда? Что изменилось бы, если бы баллы выдавались за скорость, а не за продвижение по карте? Запишите ответ одним абзацем. Если в ответе появляется слово «мотивация» — перепишите его без этого слова, только про карту и путь. Мотивация — следствие хорошей навигации, а не её замена.
Почему Microsoft Rewards в истории Eugen работает как навигация, а Microsoft Learning — как учебный план, и что происходит с языком клиента и устройства, когда навигация и план расходятся?