SQL Academy — тренажёр по написанию SQL-запросов, которым приятно пользоваться

Проект появился из-за отсутствия удобного сервиса для совершенствования навыков составления SQL-запросов и нацеливался восполнить данный вакуум. В этой статье я хочу поделиться историей его развития — от зарождения идеи до будущих планов.

В закладки
Слушать

Идея

Первые мысли о создании данного сервиса появились на студенческой скамье, с курса по SQL — обязательного элемента всех образовательных программ, хоть как-то связанных с информационными технологиями.

На нашей кафедре для практики SQL-запросов использовалась кривоватая реализация на Delphi, сделанная еще в эпоху динозавров. Она откровенно выглядела устаревшей и с переменным успехом проверяла запросы. Поиск хороших альтернатив не увенчался успехом.

Вот что тогда я нашел из более-менее подходящего.

Абсолютный лидер по посещаемости среди SQL-тренажеров. Имеет большую базу заданий и десятилетнюю историю. Но качество используемых баз данных, вырвиглазный интерфейс и море рекламы вынуждают от него отказаться.

Пошаговый интерактивный учебник. Для самых-самых начинающих, один из лучших, которые я видел. Но для ребят посильнее хочется видеть задачи, более приближенные к реальным и не привязанные к конкретной теме. А такого сервис предоставить, к сожалению, не может.

К слову, есть очень похожий проект от русских ребят — learnDB. К моменту возникновения идеи он не был виден на горизонте. Что, наверное, хорошо, иначе бы я не стал развивать идею дальше. Но все же это другой сегмент, сегмент пошаговых инструкций для знакомства с SQL. Отточить навык составления запросов на такого рода ресурсе невозможно.

Крупная платформа для практики и изучения языков программирования, решения алгоритмических задач. Есть блок, посвященный SQL. У них прекрасный тренажер с технической точки зрения. Но какая-то разрозненная база заданий, мне совсем не понравилась.

Итого, перебрав конкурентов и не найдя чего-либо сносного, закатал рукава и сел разрабатывать свой взгляд на данный продукт.

Первый прототип

Запуск первой версии состоялся 24 июля 2019 года.

Тогда сайт представлял собой главную страницу в виде корявой заглушки (дизайнеров в команде никогда не было). И, пожалуй, самого главного элемента — онлайн-тренажера.

Было мало вопросов, только две самые простые базы данных, но уже тогда тренажер был лучше большинства решений: в нем были внятные задания, удобный текстовый редактор с автодополнением и работой с несколькими вкладками.

Первая запущенная версия тренажера
Первая запущенная версия тренажера

С запуском встала задача привлечения первой аудитории. Получить ее я планировал путем добавления статей по SQL в учебник.

P. S. Статья ведется от первого лица, но за проектом стою не только я. За разработку, помимо меня, отвечает еще один разработчик, а за идеи для фич, наполнение материала и подметки технических ошибок — десятки других лиц. Всем огромное спасибо!

Развитие и рост аудитории

Статьи росли, добавлялись новые задания, но аудитории не было. А без аудитории кажется, что ты в пустую тратишь время и силы. Тогда, пытаясь рассказать людям о сервисе, я нашел возможность опубликовать статью в proglib.io, у них огромная аудитория начинающих разработчиков или тех, кто хочет им стать.

Кроме того, у них есть возможность написать статью, и после модерации она окажется доступной на сайте, в пабликах социальных сетей и будет перепечатана другими изданиями.

И это был успех!

За пару недель число ежедневных посетителей увеличилось с 15–20 до 100. Когда появилась аудитория, проект начал активный рост.

За октябрь — ноябрь 2019 года:

  • Появляется система профилей.
  • Появляется рейтинговая система для создания соревновательного эффекта.
  • Значительно расширяется количество учебного материала.
  • Происходит редизайн в первую очередь лендинга.
Новый вид лендинга, который до сих пор актуален
Страница профиля
Рейтинговая система

За два месяца на сервисе регистрируются более 450 пользователей, хотя большая часть функциональности доступна без регистрации. Со средним показателем аудитории в 150 человек в день заканчивается 2019 год.

Попытки коммерциализации

В самом начале проекта не было мыслей о том, чтобы на нем заработать. Хотелось просто сделать хороший продукт для тех, кому нужно отточить свои навыки в SQL. Но по мере развития, когда я все больше уделял внимание проекту, стали возникать мысли о дальнейшей монетизации.

Первая попытка

Когда сервисом пользовались порядка 100 человек в день и уже был разработан профиль и система рейтинга, возникла идея в выдаче сертификатов для тех, кто смог решить все или почти все задания с тренажера. Ну как возникла: sql-ex же выдает, чем мы хуже?

Понятно, что этот сертификат ничего не значит и никак не подтверждает навыки сдающего, но для самых начинающих аналитиков и разработчиков это возможность хоть что-то добавить в свое резюме. Это может послужить некоей наградой для самого себя, отметкой, что ты смог прорешать все задания.

Пример выдаваемого сертификата

За получение сертификата была назначена символичная сумма — 249 рублей. Но за пять месяцев его приобрели всего шесть раз.

Вторая попытка

Почему бы не попробовать поставить рекламные баннеры? Сейчас те, кто хоть немного разбирается в доходах на рекламных баннерах, должны ухмыльнуться. Поймите меня правильно: для меня это был первый опыт размещения рекламы. Реклама провисела месяц, вот статистика по доходам.

За март доход составил 350 рублей

Статистика по посещаемости за данный период

Посещаемость за март 2020 года

После месяца размещения рекламы я ее прикрыл. Толку от нее нет, только портит впечатления.

Третья попытка

В SQL-тренажере с самого начала были недоступны ответы к предлагаемым заданиям. В этом была суть: какой смысл показывать пользователю сразу правильный ответ, пусть подумает, а если вообще нет идей, у нас для этого был специальный чат в группе. Можно было спросить, что не так с его ответом. Мы пытались оперативно отвечать и пояснять решения.

Ответов не было в публичном доступе. Но была большая доля пользователей, желающих получить ответы к заданиям. Некоторые спрашивали в личных сообщениях о возможности покупки ответов.

Так зародилась идея о создании премиум-аккаунтов, предоставляющих дополнительные возможности, в том числе доступ к решениям. Кроме того, премиумы получат сертификат об окончании, а также будут выделяться специальным образом в знак благодарности материальной поддержки проекта.

Как выглядят премиумы

Премиум-аккаунты появились относительно недавно — 22 мая, поэтому сложно говорить об эффективности данного способа монетизации. Но что уже точно понятно — это пока самый эффективный из ранее опробованных методов.

Цена такого премиум-аккаунта — 600 рублей.

Вот некоторая статистика: за 18 дней — около 6000 рублей

Кажется, выглядит неплохо, но такой рост значительно замедляется. Пока нет объяснений, с чем это связано и насколько эффективным окажется третья попытка. Но мы продолжим развивать идею с премиум-аккаунтами.

Заключение

Спасибо большое, что дочитали! Я рад тому, что есть сейчас, но пока у нас по-прежнему очень маленькая аудитория (разница с тем же sql-ex.ru раз в десять).

SQL Academy определено есть куда расти, но мы должны создавать эту почву для роста. Проект однозначно ждет продолжение, поэтому я был бы рад, если бы вы поделились идеями для дальнейшего развития продукта. Для меня пока — будущее в создании на базе тренажера системы пользовательских тестов по SQL.

{ "author_name": "Николай Ладанов", "author_type": "self", "tags": ["\u0431\u0430\u0437\u044b\u0434\u0430\u043d\u043d\u044b\u0445","sql"], "comments": 78, "likes": 92, "favorites": 422, "is_advertisement": false, "subsite_label": "tribuna", "id": 133853, "is_wide": false, "is_ugc": true, "date": "Tue, 23 Jun 2020 00:34:24 +0300", "is_special": false }
Новые вакансии в 2Reallife
Объявление на vc.ru
0
78 комментариев
Популярные
По порядку
Написать комментарий...
17

Лучший тренажер - реальная потребность.

Базовый SQL - учится за вечер, а дальше идешь решаешь задачи, для которых учил.

Смысл тренажера - непонятен.

Ответить
16

Написать SELECT * FROM X или научиться просто вставлять новую запись в БД, действительно, занимает немого времени. Но как показывают отзывы, обратная связь и мой опыт, чтобы разобраться с агрегацией, группировками, слиянием и преобразованием неких бизнес-требований вида "Какой(ие) кабинет(ы) пользуются самым больших спросом ?" в структурированный запрос требуется 1-3 недели в зависимости от способностей учащегося.

Ответить
–3

Как показывает мой опыт - когда задача горит и реально нужна, не только SQL но и питон за вечер становится понятным.

Поэтому про сертификаты тут в целом правильно подмечено.

Ответить
5

Питон за вечер становится понятным, аххххах. Уверен, что вы понимаете абсурдность этого.

Ответить
2

Согласен, питон понятен сразу, а не за вечер

Ответить
0

Проверено лично

Ответить
2

Троль детектед

Ответить
0

Если есть опыт с другими яп, то основы учатся за пару часов.

Ответить
3

Если.

Ответить

Комментарий удален

5

Для нормальных людей конечно такой сертификат у человека - просто маркер долбоеба

В HR-ах сидят такие же девочки-зумеры, так что без сертификата до бородатых и свитерастых тимлмдов вы просто не дойдёте.

Ответить
2

без сертификата до бородатых и свитерастых тимлмдов вы просто не дойдёте.

Странно, мне отсутсвие сертификатов собеседоваться не мешает 

Может потому что мне помимо сертификатов есть что показать?

Ответить
0

Что, прям с нуля без опыта попадаете на собеседования?

Ответить
–2

Коментарий перечитайте

Ответить
2

Вопрос о том, что показать человеку, устраивающемуся с нуля, остался нераскрытым

Ответить
0

Сертификаты от говносайтов коненчо показать и сразу возьмут

Нормальный путь это наклепать свой маленкьий пет проект и уже с этим опытом устраиватиься. Курсы и сертификаты за опыт никто не считает. Сертификаты всяких говносайтов вообще покажут что человек дурачок и будут оцениваться в минус

Ответить
1

если чел сделал пет проект, который не стыдно показать, целиком ,это уже не специалист младшего звена ни разу

Ответить
0

В наше время склепать пет проект настолько легко, что не вижу причин не смотреть как на говно на тех, кто это сделать не может

Ответить
2

В мелких компаниях с руководителями, считающими, что у них крутая IT-компания только потому, что сотрудники знают слова Agile и Scrum - возможно.
В крупных - котируются соответствующие сертификаты наподобии Zend, либо по результатам собеседований.

Ответить
0

Жаль, не могу поставить лойс этому посту - уже удалили. В целом согласен с предыдущим оратором.

Ответить
0

Полагаю, чтобы стартовать. Реальная потребность это хорошо, только как ты ее создашь? Pet project'ы?

Ответить
0

Реальная потребность это хорошо, только как ты ее создашь?

Не хочу портить вам жизнь, но есть такое слово "работа".

Ответить
12

Интересно, как найти работу в БД без умения написать элементарный select.

Ответить
2

Как оттачивать навыки написания запросов, если не можешь написать элементарный SELECT?

Ответить
0

SQL нужен не только разрабам.
Пример из жизни - бухгалтеры/экономисты - если в вакансиях и упоминается работа с БД напрямую, то в виде  "умение писать SQL-запросы как преимущество", потому что 90% соискателей вообще не в теме что это (не учат такие специальности БД в учебных заведениях), при этом у некоторых в определенный момент это становится вполне себе производственной необходимостью.

Ответить
–2

Pet project'ы?

Очевидно да. Разраб без пет-проектов в 90% случаев - бездарность, даже если у него работа есть

Ответить
1

Надеюсь вы имеете ввиду в принципе наличие проектов пусть и не доделанных, иначе это звучит как - Нейрохирург в 90% случаев бездарность если у него нет собственной клиники

Ответить
0

Бездарности минусуют

Ну да, я имею ввиду впринципкже наличие своих домашних проектов, недоделанных, не обязательно чтобы они деньги приносили

Если проект деньги приносит, это уже не совсем пет проект

Ответить
0

Аргументируйте.

Ответить
1

Тут проблема кроется в том что не всегда можно найти реальные задачи.

Ответить
0

Главное про бэкапы базы не забывать когда после вечера учебы пошел в боевую работать)

Ответить
8

Пожалуйста, вычитайте текст. «В этой статья», «будующий», «находить такая возможность», «я был бы рады», «встала задача привлечение»...

Ответить
0

Там много других ошибок. Прогоняйте через что-нибудь)

Ответить
3

Через редактора %)

Ответить
0

Помогли, теперь должно быть получше 🙃

Ответить
5

А мужики в курсе?

Ответить
1

Нормально посветили персональными данными :D

Ответить
0

там ещё можно перейти к полному рейтингу и собрать базу для рассылки, аудиотория нормально определена

https://sql-academy.org/ru/rating

Ответить
0

Найс.
@Николай Ладанов , это чё за херня?)

Вы бы хоть рандомные ники давали людям из двух слов или слова+цифр.

Ответить
0

Люди могут указать свое имя в профиле и тогда оно будет отображаться публично.
Кроме того, если мы знаем имя пользователя,  если он зарегистрировался через соц. сеть, мы неприменно будем использовать его.
Если мы ничего кроме email не знаем, то показываем его. Пожалуй, вы правы, это не приемлемо, исправимся.

Ответить
0

Если мы ничего кроме email не знаем, то показываем его

Это прям плохо, очень плохо) И, возможно, нарушает какие-то законы, но я не шарю по этой теме. Но раскрывать личные данные пользователей, если они не поставили галочку "даю согласие что мою почту будут светить на сайте" - ваще лажа.

Ответить
1

Исправились

Ответить
4

Мне это не надо, но могу подсказать, ищем клиентов там где они есть, а где они есть, правильно, там где изучают SQL, а где изучают SQL, правильно, в ВУЗах, выходим на преподавателей дисциплины и дальше раскручиваем как учебное пособие. Удачи. 

Ответить
3

Нет гарантии в виде договора, что после включения использования сервиса в учебный план он не исчезнет, не ограничит доступ или не изменит содержание. А договор тянет за собой серьезные обязательства в виде доступности сервиса, технической поддержки и объектов авторского права на учебные материалы. Обязательства тянут расходы, которые учебные заведения не станут компенсировать,  так как они не добавляют ценности их учебному процессу.

Ответить
3

Учебные организации - это большая аудитория, но не платежеспособная. Они не могут просто так выделить средства, а если выделят тут включаются обязательства, как верно подметил Prolis Labkk.
Пока видится перспективы в развитии создании пользовательских тестов для задач рекрутинга: преотбор на позиции начинающих разработчиков и аналитиков. Типо google form с конструктором с аналитиком, но под задачи проверки знания базового SQL.

Ответить
0

Да, видел заочные этапы собеседований, когда тебе просто кидают ссылку на какой-то невнятный тест и ты его делаешь. Такая потребность и правда имеется.

Ответить
4

Спасибо, однозначно попробую. Успехов в развитии. 

Ответить
3

Молодцы! Желаю успехов и продвижения!

Ответить
3

Это реально помогает подерживать навыки. Спасибо 

Ответить
0

Проработайте мобильную адаптацию вашего ресурса. И траффик минимум у за несколько месяцев.
Куча народа сидит в сети через мобилки.

Ответить
7

sql на мобилках писать - ну такое. Что-то сродни сидению на заборе с колышками. я думаю, правки мобильной верстки не в приоритете здесь :)

Ответить
0

В приоритете, если делать подсказками, чтоб не все руками вводит...

Ответить
2

Сайт очень красивый, красавцы!

Ответить
2

Работаю в MSSQL с 2003 года. Уже чего только не писал и не делал в нем. И главное не селект написать, а сделать что бы процедуры быстро работали, а не по пол часа с одним селектом в котором вложенных подзапросов 20 штук! 

Ответить
2

Кстати, зарегался через гугл-аккаунт, получил сообщение об ошибке. Но аккаунт при этом был зарегистрирован.

Ответить
2

Бро, где ты был раньше?

Ответить
2

конечно максимально гнилой подход к конвертации юзера

сначала сказать что нужно авторизоваться для посмотра решения, а после авторизации добавить что нужен премиум аккаунт

Ответить
1

А есть хардкорные задачки как на sql-ex?

Ответить
2

Попробуй! Задачи разбиты на сложность от 2 до 9 (пока так). Начиная с задач со сложностью 5-6, приходится задумываться над решением. Хотя это все индивидуально.

Ответить
1

Отличный проект, можно классно развивать добавляя постепенно другие БД mongo, mssql и тд!

Ответить
1

Посмотрите на datacamp, там есть как продвинутые, так и базовые курсы по SQL. В целом реализация очень похожая получилась, но пока по объему контента сильно им проигрываете. Попробуйте как-нибудь ввести подписку аналогично их подписке, либо с коротким пробным периодом, либо оставив лишь пару упражнений в открытом доступе. 
P.S. Мне бы не понравилось, что мои данные в виде той же почты висят на главной - закройте что ли рейтинг для тех, кто не зарегистрировался.

Ответить
1

На планшете едет верстка. 

Ответить
0

На каком фреймворке сделан сайт? Если не секрет, конечно.

Ответить
2

React, Node(Koa), Mongo, MySQL (среда выполнения)

Ответить
0

А где кнопка с CTA на главной? Зашёл и не понял куда далее идти

Ответить
0

По поводу монетизации - можно делать не один общий курс, а специализированные -
Sql для веб-разработчика
Sql для продукт-менеджера
Sql для маркетолога и тд.

Часть курса доступна бесплатно, остальная - за деньги.

Ответить
0

sql-ex лет 8 назад мне зашёл, до сих пор запросы пишу разной сложности более менее уверенно благодаря задачкам на том ламповом ресурсе

Ответить
0

вот такой бы тренажер по фротэнду (css особенно  )

Ответить
0

Есть сервис CSS Battle, на нем можно потренироваться в написании чистого и эффективного CSS. Главная фишка сервиса это соревнования друг с другом в написании самого эффективного и чистого CSS за что юзеры получают баллы в общей таблице :)

Ответить
0

Верстка лендинга на мобилке - поехавшая.

Ответить
0

Надо сделать 2 кнопки как в datacamp. Одна Run Query, Другая Submit Answer. Каждый раз видеть что ответ неправильный когда я просто на промежуточном этапе неприятно)

Ответить
0

Не знаю есть ли, сужу по первой анимашке на главной, есть ли вывод ошибок, как в клиентах мол не знаю такого-то столбца, таблицы и пр, а не просто верно/неверно? Стандартные системные ошибки от самой БД, чтобы как наводка была, а не ломать глаза или мозг опечатался ты или реально в логике косяк...

Ответить
0

У вас не работает Google Sign In. При выборе профиля срабатывает редирект снова на выбор профиля.

Ответить
0

В тренажёре IMHO несколько раздражающая авто-подстановка. Пришлось немного побороться с редактором, чтобы написать простую строчку "SELECT * FROM Trip AS T"

Ответить

Комментарии