Мой дед неплохо играл в шахматы. Буквально сутками просиживал за доской. В детстве я часто приезжал к нему - так постепенно и полюбил игру.
В институте шахматы забылись: карьера-учеба, вот это все. А потом я увлекся снова. Стал ходить в шахматный клуб на Полянке. Играл с дедами — и постоянно им проигрывал, так как плохо знал теорию. Стал проходить курсы, изучать дебютную подготовку. Начал кого-то обыгрывать. И это дико мотивировало и драйвило.
В начале 2020-го я сидел и думал, чего хочу дальше. Вот уже два года как я работал аналитиком в Skyeng: занимался продуктовой аналитикой, A/B тестами, строил витрины данных. Это перспективно. Но чего-то не хватало. И я решил заняться тем, что меня драйвит: шахматами.
Подумал, что начну с того, чтобы по выходным попробовать преподавать. Поделился с друзьями. И мы договорились, что откроем небольшую оффлайн-школу. Я начал смотреть разные франшизы.
И тут грянул карантин. Офлайна больше не было...
Не желая бросать новую мечту, я бросился изучать, а что есть в онлайне. Заодно решил оценить весь объем услуг онлайн и офлайн (не зря же я продуктовый аналитик). Оказалось, что в конце 2019-го шахматы обогнали по популярности хоккей, а по приросту активной аудитории уступали только футболу! Плюс, их добавили в обязательную программу начальных классов — вместо одного из уроков физкультуры.
Я облазил сайты десятков шахматных школ. И понял: они есть и в онлайне. А хорошего онлайн-продукта тут, по сути, еще нет. Такого, чтобы и сама доска, и редактор, и возможность что-то разбирать с учеником, вместе переставляя фигуры. Плюс теория, культура и философия игры. И все это — по одной ссылке.
А в компании был продукт — онлайн-школа для детей Skysmart, на которой уже можно было изучать математику. Ее платформу как раз адаптировали для новых предметов. Технически ее можно было приспособить и для шахмат. Так у меня появилась идея.
Как CTO нашей платформы посоветовал меня нужным людям
Я задумался: попробовать самому или «продать» идею внутри компании? Опыта запуска продукта у меня не было, а потому было много вопросов, ответов на которые я не знал. И это перевесило: в Skyeng уже разработали платформу, отладили бизнес-модель — я понимал, как реализовать задумку с текущими ресурсами компании, но не очень представлял, как сделать все с нуля.
Тогда я пошел писать в Slack руководителям — компания исторически распределенная, так что это считается нормальной практикой. Сделал презентацию на десять слайдов, кидал ее и просил сказать, кто что думает. Конечно, шахматы не сразу приняли на ура — у компании уже планы на рынки побольше: изучение русского, физики и не только.
Презентация попала к Сереже Сафонову, который руководит разработкой платформы. «Ок, делай — у компании есть план пощупать направление хобби, пусть это будет пилот». Он посоветовал поговорить с ребятами Саши Перфиловой, которые запускают детские продукты.
В октябре я перешел делать шахматы. У меня по-прежнему не было сверхопыта в управлении проектами, мой продукт по-прежнему не был приоритетным: параллельно запускались физика, русский, обществознание. Но я получил доступ к ресурсам — мне выделили часть времени разработки, пиара и маркетинга.
Сначала предстояло детально описать продукт. Я попытался найти методиста, чтобы собрать первые уроки, заверстать их на нашей платформе и понять, чего еще не хватает. Тогда я мог бы описать первые фичи в продукте и структуру контента для MVP. Но методисты, которых я искал по сайтам репетиторов и знакомым, часто не верили в проект. Тогда я стал делать первые уроки сам. Появился первый контент, а девушка помогла с иллюстрациями. Но это было не то. Мы приуныли.
И тут в ноябре вышел сериал про одаренную шахматистку. Бум шахмат — все в компании стали обсуждать их, а заодно и мой проект. Тогда все и завертелось.
Чтобы запуститься, нужна доска и обучающий контент. Мы начали с контента
Для создания контента нужны:
иллюстратор,
контент-менеджер, который будет верстать уроки на платформе,
и крутой методист, который продумает ход обучения, придумает задания для уроков и домашек и так далее.
К концу ноября сформировался костяк этой команды. Благодаря сарафану внутри компании к нам пришел контент-менеджер Степа. Раньше он помогал верстать контент по английскому, но оказался фанатом шахмат и попросился в мой проект. Затем к Степе присоединилась контент-менеджер Оксана.
Поначалу верстка контента занимала много времени, но затем Степа написал JS-скрипт, позволяющий автоматически создавать шахматные позиции и добавлять на них наших детских персонажей. Время на создание урока сократилось вдвое — до пары-тройки часов, и команды русского и физики пришли за похожим плагином.
Затем у нас появилась иллюстратор Лиза — она делает чумовые иллюстрации. И очень быстро.
Оставался вопрос сильного методиста. К этому моменту мы поняли, что в шахматах нет какой-то одной общепризнанной методологии или учебника, по которым надо преподавать железно. Есть куча классного материала, и каждый преподает так, как выучил сам.
Как-то раз мы созвонились с Марией Фоминых — она подтвердила эту гипотезу. И посоветовала просто найти людей, которые добились хороших результатов в работе с детьми со своей методологией. Эту методологию и можно взять за основу.
Изначально я думал, что писать контент лучше по разрядам. Но пообщавшись с Машей, понял: мы не можем обещать, что ребенок точно достигнет нужного разряда, пройдя серию уроков. Поэтому мы решили разбить все на условные уровни.
Так сложилась картинка. У нас будет 4 уровня — от полного новичка до эксперта. И 60 уроков на старте. Преподаватели будут определять знания и пробелы ученика на вводном уроке, а затем подбирать программу из нужных ему занятий. Например, если человек знает базовые вещи, но не знает теорию (как я когда-то), он будет проходить с преподавателем те уроки, которые помогут наверстать упущенное. Если преподавателю не хватит наших материалов, он сможет загрузить на платформу дополнительные картинки или файлы.
Методисты не работают с нами фулл-тайм. Но что радует, ребята очень вовлеченные. Например, Лена по своей инициативе начала снимать видео-домашки. Мы протестируем их на части аудитории, и если зайдет, будем расширять формат.
Как КМС по шахматам писал нам фронтенд
У нас есть общие ресурсы разработки на новые предметы: команда проекта «Математика» адаптирует свою платформу для всех новых направлений, и мы ходим к ним. Меня немного смущал момент: быстро ли разработчик, не знакомый с нюансами шахматных партий, разберется в этой области?
Но тут нам снова повезло. В команде разработки был идеальный кандидат. Мы созвонились и начали работу.
Рассказывает Владлен Волков, наш старший фронтенд-разработчик
— Буквально за месяц до этого я думал, какую бы интересную идею предложить нашим менеджерам. Я до сих пор общаюсь со своим первым тренером по шахматам, поэтому знаю изнутри многие проблемы, с которыми приходится сталкиваться сотрудникам шахматных клубов. Захотелось сделать что-то для таких людей. Узнав о проекте, я тут же вписался.
Карьера разработчика в шахматах
В детстве мама записала меня в кружок — а я человек увлекающийся, ушел в шахматы с головой. Сначала обыграл одноклассника-первоклассника, который первые полгода меня постоянно уделывал. У пацана реально была истерика. И поэтому мне кажется важным, что наш сервис в том числе учит детей принимать такие моменты, как поражения.
До 8-го класса я каждые понедельник, среду и пятницу ходил в шахматный клуб и рубился. А еще занимался дополнительно по воскресеньям. Сходу выиграл чемпионат Волгограда и области. Попадал на чемпионат России, но там уже было тяжело и я болтался где-то в середине списка.
На второй год я проиграл первую свою партию на областном турнире. Шок был уже у меня. А папа такой: «Да успокойся, ничего страшного не произошло». Это был важный момент: так я сам научился принимать поражения. Это важно в шахматах.
Несколько лет история повторялась: город, область и далее. Лет в 14 в полуфиналах чемпионата России я играл с одним парнем, который занимался, кажется, только шахматами и ничем другим. Это была долгая и мучительная партия. Я понял, что не смогу его переплюнуть. И так в моей жизни появилась гитара.
Позицию разработчика я застолбил. Исходная точка была такой: есть браузерная комната для индивидуальных занятий математикой с доской для рисования графиков и формул.
На самой платформе уже реализован базовый функционал, который нужен ученику, преподавателю и команде проекта: личные кабинеты, видеосвязь, трекеры прогресса, расписания, обратная связь родителям, интерактивные карточки домашних заданий и так далее.
Процесс разработки был скучным — как спланировал, так все и прошло.
Моей задачей было написать модуль шахматной доски для комнаты. Я хотел сделать модуль изолированным: на входе получать сущности из основного приложения, но наружу ничего не выпячивать. В своей команде я топлю за TDD. И тут такая удача — описать что-то с нуля. Решил писать через тесты. И еще раз убедился, что это не аффектит производительность и трудозатраты. Так даже легче - не надо ничего в голове держать при планировании архитектуры, плюс оно документируется лучше.
Модуль получился экспериментальным во многих смыслах. Я смог реализовать несколько оберток для нашего кастомного стейт-менеджера, а заодно подключил нашего QA-лида к написанию юнит-тестов — до этого он писал только end-to-end. Опыт получился позитивным, хотим еще раз попробовать.
Надо было удалить доску математики и вставить шахматную доску. Выпилить — понятно. А что вставить?
— Я смотрел готовые библиотеки. Сначала хотел взять ChessboardJS — проверенный инструмент. Но он тащит JQuery: чтобы развернуть доску, нужно брать 300кб всякого ненужного от мамонта.
Стал искать что-то более независимое и инкапсулированное. И нашел cm-chessboard — она не добавляется в глобальную область видимости, есть импорты-экспорты. То, что нужно. Но был нюанс: нужно было кастомизировать доску, заменить поля на другой цвет и поменять скины фигурок — а делать верстку было лень. И я откладывал :)
«Влад, может, нужна помощь с этим?» — оказалось, Степа, наш контент-менеджер, начал изучать JS во время карантина. И ему была интересна задачка со стилизацией.
Так у меня появился джун: я объяснил ему, как работать с монорепой нашего фронтенда — что, как, куда. Скоро стили были в проде.
Опыт шахматиста в итоге пригодился?
— Да, был интересный момент — нотации. Мы логируем партию, чтобы откатываться по ней и делать разборы: нужно записать фигуру и клетку, на которую идет фигура. Как записать рокировку? Если бы я не занимался шахматами, я бы подумал: «Нужно просто переставить короля». Правильный ответ: короткая рокировка это 0-0, длинная — 0-0-0.
А что-то свое, кроме TDD, удалось в проект внести?
— У нашей доски два режима: режим игры и режим редактора доски, где преподаватель и ученик могут разбирать что-то вместе. В процессе разработки я переключаюсь между этими режимами и обновляю страницу. Как-то раз поймал себя на мысли, что смотрю на доску и не понимаю, чей ход сейчас. Подумал-подумал и бонусной фичей добавил индикатор хода. Ребята на демо сказали: «Вау, спасибо!».
Плюс мы хотели сделать домашки автоматически проверяемыми, как в других продуктах. От математики в наследство достались домашки, где ответ описывался инпутом. Это не очень удобно. Так что сделали механику, которая позволяет решать задачи прямо на доске: просто двигаешь фигуры, пытаясь решить задачу (например, мат в два хода), и если сделал меньше заданного числа ошибок, то засчитывается успех.
Как проверить, что не фигню делаешь
К середине декабря у нас было 20 уроков и первая версия доски на платформе. Я понимал, что если начну показывать MVP детям, то не получу нужного фидбека: ребенок не обратит внимания на кучу деталей, которые важны для команды продукта.
Поэтому первые демки мы делали на взрослых, которые связаны с продуктовой разработкой. Я отписался в один из чатов компании — на тест записалось 100 человек, но до новогодних праздников мы провели около сорока тестов. Нам повезло: люди были разного уровня подготовки и почти все пришли на созвон. Мы проверяли все: от того, как заходит контент, до функционала доски. По итогу убрали много сложных механик, которые не могли осилить даже взрослые…
Параллельно стали составлять портрет преподавателя. Сейчас наша основная задача — обучать новичков. Мы поняли, что для этой аудитории не нужны титулованные преподаватели: достаточно иметь 2-й или 1-й разряд и следовать методологии. На что действительно обращаем внимание: это опыт работы с детьми, харизма и энергичность. И отбираем тем, кто с любовью расскажет ребенку о шахматах.
Первых таких репетиторов мы наши среди тех, кто уже ведет математику в той Skysmart, детской онлайн-школе от Skyeng. В целом, неудивительно — тем более экспериментами доказано, что изучение шахмат влияет на успеваемость по точным предметам (ссылка в конце поста). А дальше включился стандартный флоу подбора преподавателя. Сейчас подбирать их нам помогает Настя, она руководит поиском учителей для всей компании. И так сложилось, что в детстве сама много занималась шахматами, а ее папа преподает игру до сих пор.
Что по итогу-то вышло?
1 февраля шахматы от Skysmart запустились в паблик. Мы реализовали все ключевые фичи MVP, но еще многое впереди. Сейчас можно играть и заниматься с ПК или планшета, а вот с мобилки - только если в браузере. Пока у нас нет турниров — здесь есть масса готовых решений с большими командами разработки, нет смысла гнаться за ними. Наш приоритет — интерактивное обучение. Так что будем добавлять механики в домашки, делать мини-игры и работать над удобством платформы.
Думаю, проще увидеть. Видео без звука, т.к. делалось на лендинг. Кстати, урок веду я, привет!
А из интересных планов — Владлен уже подбирает игровой ИИ, чтобы в будущем на нашей платформе можно было играть против компьютера. И тут ему снова помогает опыт КМС.
Все же, в нашей стране есть отличная школа шахмат. Работая над проектом, я убедился в этом еще раз: в компании даже сформировалось сообщество любителей шахмат и возник канал #chess в Slack. И все мы хотим, чтобы игра с прекрасной философией и историей, снова стала популярной — и доступной для изучения в любых обстоятельствах.
p.s. Небольшая подборка для дальнейшего изучения, если вас заинтересовала тема пользы шахмат, их преподавания школьникам и этого рынка в целом:
Что получилось у нас — индивидуальные онлайн-уроки шахмат от Skysmart
Статья «Шахматы и мозг» от издания Reminder, которую очень всем рекомендую последнее время — внутри много ссылок на исследования
Учебная программа «Шахматы — школе» для начальных классов: за пару лет ее тестирования успеваемость по точным предметам повысилась на 30-40%
Где брать данные министерства спорта по динамике прироста аудитории и числу активно занимающихся разными видами
namikiri
Поскругляли в дизайне всё до чего добрались, даже шахматную доску изуродовали. Эх.
danya_pil Автор
Мы еще подбираем стили))
spasibo_kep
Лучше расскажите, почему решили такие стили делать — это дань другим продуктам школы, какой-то тренд в дизайне для детей или?
ciberclon
Здравствуйте, вспомнил себя в период изучения шахмат(7-10 лет)… Не взлетит, внешний вид шахмат уж больно мерзкий. Ребенку не нужен функционал, ребенку нужно красиво. Может быть мультик зарубания одной фигуры другой, ночное небо, филин угукает. Бабку ёжку можно добавить с котом. :) Если говорить другим языком, то уровень абстракций и мотивации у ребенка не развился до того уровня, когда внешний вид не имеет принципиального значения.
DaneSoul
Какое же тяжелое оказывается у меня было в детстве обучение с деревянными монохромными фигурами на деревянной доске и без Бабки Ежки.
ciberclon
Ни в коем случае, у меня шахматы тоже были монохромные, я учился по книге – «Путешествие в шахматное королевство» Ю.Л.Авербах, М.А. Бейлин, 1972г. В 72 году это было нормально, но для ребенка не очень интересно. Больше всего я любил рассматривать красивые картинки в этой книжке. Обратите, пожалуйста, внимание на фразу: «Уровень абстракций и мотивации у ребенка не развился до того уровня, когда внешний вид не имеет принципиального значения.»
Впрочем, я свое мнение никому не навязываю, если что, то извините :)
tenzink
+1. Помню, мне тоже очень нравились картинки из этой книги. Она и сейчас, кстати неплохо смотрится