Каково это - масштабировать высоконагруженный международный проект, абонентская база которого удваивается каждые несколько месяцев? Какие задачи стоят перед разработчиками? Что нужно уметь и знать, чтобы сделать карьеру перспективной сфере edtech? Все это обсуждаем с Александром Петровым - архитектором бэкенда онлайн-платформы обучения детей английскому языку Novakid.

Направления работы: оценка качества и персонификация

Одно из главных направлений работы – оценка качества обучения. Качество уроков мы оцениваем, например, по тому, насколько охотно ребенок говорит во время занятия. Чем больше ребенок разговаривает, тем более он раскован и тем свободнее владеет языком. Сейчас мы в поисках готового алгоритма детекции речи, который помог бы нам автоматизировать аналитику по этой метрике. К сожалению, коробочные решения не всегда хороши. Они неплохо распознают речь учителя (который находится в более «стерильных» условиях и пользуется микрофоном), но сбоят при работе с детьми (которые не всегда занимаются в отдельной комнате без лишних шумовых помех). 

Второе важное направление в работе отдела back-end – это поддержка персонификации образования. Прогресс учеников оценивается по четырем основным компетенциям (чтение, письмо, говорение, слушание). Методисты определяют, на каком уровне эти навыки должны быть у ребенка после заданного числа уроков. Когда необходимое количество занятий пройдено, учитель оценивает прогресс ребенка по каждой из компетенций. А дальше в дело вступаем мы. Система автоматически назначает ученику дополнительные занятия для «прокачки» того или иного навыка. Причем это могут быть не только уроки с учителем, но и самостоятельные задания или обучающие игры.  

Какие навыки нужны для работы 

"От членов нашей IT-команды мы, прежде всего, ждем крепкой теоретической и практической базы", - рассказывает Александр, - "Основной hard-skill – продвинутый уровень владения Python. Необходим и опыт работы с готовыми сервисами и облачными решениями, которые используются для хранения big data, метрик по взаимодействию пользователей с платформой, локализации контента. В нашем случае это Amazon Web Services, Google BigQuery, Google VR и другие". 

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

В отличие от обычных школ, в EdTech контент невероятно динамичен. Постоянно появляются новые идеи и техники. Например, сейчас на разных группах пользователей тестируем абсолютно разные учебные программы. И задача backend-инженеров не только дать методистам возможность для таких экспериментов, но и обеспечить техническую базу для того, чтобы довести их до конца. 

Комментарии (12)


  1. lair
    25.10.2021 21:03
    +11

    Как устроен back-end в быстрорастущей edtech-компании

    … и в статье про это ни слова.


    1. dopusteam
      26.10.2021 09:05
      +3

      Вот так хреново он устроен, значит :)


    1. Malafeev Автор
      26.10.2021 13:47

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


      1. lair
        26.10.2021 13:48
        +1

        Статья от этого лучше не стала.


        1. Malafeev Автор
          26.10.2021 13:57

          ну по крайней мере теперь заголовок содержанию соответствует.


  1. Suvitruf
    25.10.2021 21:30
    +6

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

    Второе важное направление в работе отдела back-end – это персонификация образования. Прогресс учеников оценивается по четырем основным компетенциям (чтение, письмо, говорение, слушание).
    При чём тут бекенд вообще?
    Судя по тому, что эту портянку и на DTF опубликовали, SMM вообще не понимает, о чём пишет.


    1. Malafeev Автор
      26.10.2021 13:48
      -1

      Бэкенд при том, что он организует доставку продукта клиенту + обеспечивает продукт дата-аналитикой.


  1. pfffffffffffff
    26.10.2021 08:03

    Кликбейт, del


    1. Malafeev Автор
      26.10.2021 13:49

      исправлюсь, про устройство бэкенда сделаю отдельный материал.


  1. TimurBaldin
    26.10.2021 10:09
    +1

    Два вопроса :

    1)Почему python ? Разве не лучше выбрать такие инструменты как Java или С# , статическая типизация и лучшая поддержка многопоточности, то что надо для нагрузок.

    2) «С точки зрения бэкенда это означает постоянную перекройку внутренней инфраструктуры» эээ…Ну мягко говоря это очень плохо…И главное, зачем ?


    1. Malafeev Автор
      26.10.2021 13:53

      Почему python ?

      для сохранения преемственности с предыдущими разработками

      «С точки зрения бэкенда это означает постоянную перекройку внутренней инфраструктуры» эээ…Ну мягко говоря это очень плохо

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


      1. TimurBaldin
        26.10.2021 14:19

        Представляете сколько будет стоить собрать архитектуру проекта с нуля ? Не совсем понятна связь между клиентской базой и архитектурой . Современные облачные платформы позволяют масштабировать ваши сервисы практически под любую нагрузку.