Код в модуле
Представлял собой жёсткое легаси, которое опиралось на давно выпиленные из проекта базовые классы. Вот такие, например:
Честно сказать, я далеко не сразу поняла, что принимает описанный выше класс, и в какой последовательности. В какой-то период я тоже стремилась использовать дженерики буквально повсюду, усмотрев в них хороший способ фиксировать важные ограничения. Но теперь знаю, что дженерики такой сложности и вложенности хороши лишь тогда, когда их пишешь. А не читаешь.
Скорее всего, написанный код был крайне очевидным для его автора. Для меня он очевидным не был. Зато навёл на не менее очевидную мысль, что лучше бы не забивать на доки, даже если всё кажется очевидным. Возможно, стоит даже писать javadoc ко всему, что вызвало вопросы на код-ревью — но это плавный и непрерывный процесс, который сложно исправить одним волевым усилием. Особенно если надо на какое-то время срочно законсервировать модуль.
Или вот, например. Маленький класс, в котором всего было около пятидесяти строчек:
Всё вроде хорошо, правда? Но SerialUseCase скрывал под собой ещё четыре уровня наследования, и все они были выпилены не меньше полугода назад за полной невостребованностью. Пришлось раскапывать.
Примерно везде меня ждали пагинация, кэширование, lce-паттерны и утилитные методы, спрятанные под капотом ныне несуществующих классов.
К счастью, я достаточно активно ввязалась в рефакторинг проекта, и многие из попавшихся базовых классов выпиливала и переписывала тоже я — это принесло некоторое представление о том, как они были устроены.
И это подтолкнуло к выводу: если есть вероятность того, что выключенный из проекта код долго не будет пересобираться, проверяться и использоваться — лучше сразу положить в него пакет с задействованными в нём базовыми классами. Их может внезапно не оказаться после рефакторинга. А может не оказаться ни документации, ни людей, которые помнят, что там в принципе было)
Меры предосторожности при привлечении инвестиций
Правило № 1. «Оцените мотивацию второй стороны»
При общении с инвесторами, оцените их логику и психологию. Совпадают ли их цели с вашими? А может, они взаимоисключающие?
Александр Ларьяновский,
управляющий партнер Skyeng
Были случаи, когда фонды на этапе переговоров пытались отнять наш бизнес. Они не проявляли никакого интереса к идее, пока не видели цифры. После этого все наши слова приводили их в бешеный восторг, на письма отвечали в течение получаса — даже поздним вечером. Мы сразу поняли, что тут не чисто. Всегда думайте о том, что стоит за их словами.
Правило № 2. «Не будьте просителем»
Покажите, что у вас заканчиваются деньги, и инвесторы разбегутся до того, как вы успеете сказать стартап. Другая крайность — вас прогнут по условиям.Говорите о целях и необходимых суммах, но держите при себе информацию о состоянии счетов.
Правило № 3. «Не берите все яйца из одной корзины»
Привлекайте инвестиции из нескольких источников. Это поможет вам сохранить независимость и вес в глазах партнёров.
Правило № 4. «Не раскрывайте цену сразу»
Не оглашайте цену бизнеса на первых двух встречах. Оценить стартап — работа фонда. Назовёте цену сразу — попадёте в невыгодное положение. За время переговоров бизнес может подорожать, а вы будете привязаны к первому слову. Или же инвестор начнёт торговаться, и вы уже не сыграете на повышение. Пусть фонд сам оценит бизнес: посмотрит ваши цифры, изучит рост и перспективы. Тогда инвестор вовлечётся, а вы получите больше свободы в переговорах.
Правило № 5. «Встаньте в позицию выбирающего»
Дайте фондам понять, что выбираете среди инвесторов, способных дать больше, чем просто финансирование. Расскажите, где хотите оказаться через 3 года и чьи инвестиции собираетесь привлечь. Если фонд поможет дотянуться до этих инвесторов — с ним интересно сотрудничать.
Ни один фонд не захочет кормить вас вечно. Их цель — вырастить бизнес, получить дивиденды и отпустить вас в свободный полёт. Покажите, что тоже к этому стремитесь.
И главное: всё это сработает, если у вас отличный бизнес либо пара стальных фаберже в запасе.
Переписывая экраны
На моё счастье, модуль очень слабо зависел от основного проекта в плане информации — всего две входящие зависимости. Поскольку он не нуждался практически ни в чём от окружающего мира, было достаточно легко восстановить всё, связанное с dagger.
С навигацией было немного посложнее. Подход с single-activity ещё не успел войти в моду, и на отдельных активити были написаны даже самые элементарные экраны, вроде голосовалки, понравился ли учебный материал.
Потом я стала потихоньку раскомменчивать и переписывать экраны на kotlin, сверяясь с версией с прода и картой функциональности, а иногда и просто выкидывать старый код. Сначала — главная с выбором материала. Потом — экраны попроще. Потом — посложнее. Некоторые классы просто остались болтаться, как лишние детали после пересборки.
Чтобы не сойти с ума, мы созванивались с тимлидом и дробили задачи на более мелкие с более понятным definition of done. Интересные задачи приносили фан сами по себе, с неинтересными и нудными я придумывала челленджи. Жизнь на тот момент так или иначе состояла в основном из четырёх стен, кота и кода. А большую часть времени в четырех стенах естественным образом занимала работа: как деятельность с наибольшей и гарантированной эмоциональной отдачей.
В конце концов модуль, доведённый до примерно рабочего состояния, влился в мастер, мы выдохнули. А затем я сделала для ребят внутренний доклад про этот опыт. Ну, как доклад. Мне просто хотелось пожаловаться и не держать это в себе.
Ну а этот пост пишу, чтобы еще раз вынести в паблик выводы, которые набились в процессе прыганья по граблям: возможно, когда-то вы будете консервировать что-то в приложении. Потратьте время и причешите исходники, чтобы потом не думать, что это за неиспользуемый класс с кучей кода. Потратьте время на тесты и документацию, подчистите код, положите рядышком копии базовых классов.
И тогда тот, кто столкнётся с законсервированным модулем, будет чуть меньше хотеть отыскать ваш адрес и прийти к вам с топором. Или добыть ваши волосы для ритуала вуду… так, что-то меня понесло.
p.s. И да, чувак, которому не повезёт заглянуть в этот модуль следующим. Listening писала не я. Я его рефакторила.
UPD: убран небольшой эпизод про созвон команды, на техническую сторону поста он не влияет.
UPD-2: историю коммитов несколько лет назад схлопнули — она была большой, глючил поиск по коммитам, предстоял глобальный рефакторинг всего, и коллеги решили, что так надо. Везде осталось только имя разработчика, который это сделал. Весь код, о котором говорится в статье, был написан до этого момента, и с тех пор практически не затрагивался.
Обучение в школе
После пробного урока мне сказали, что в ближайшее время назначат преподавателя по Business English. Это оказалась Sara.
Когда я пришла на урок, после небольшого общения по-английски, выяснилось, что она ожидала ученицу с уровнем Intermediate, а у меня еще немного и будет Advanced. Из-за этой путаницы с уровнями ей пришлось менять материал урока. К сожалению, по Business English мы так и не позанимались.
В кабинете есть специальный блокнот, где преподаватель оставляет заметки и списки новых слов. Кстати, нжав на любое слово, которое встретится на занятии, вы увидите пояснение, примеры и перевод.
Тем не менее занятия с Сарой мне очень понравились. Было совсем нескучно, мы подучили актуальную лексику по Travel English, общались, шутили по-английски, да и настроение в целом улучшилось. Но план по улучшению английского я составила, а то и правда, навыки легко потерять. Спасибо SkyEng за это осознание!
Лайфхаки по управлению проектом
В воскресенье я тщательно планирую каждый день предстоящей недели, занося все встречи в календарь. Также у меня есть специальный файл, в котором я веду учет времени уже по ходу дня. Правда, часто делаю это постфактум за несколько дней сразу — не успеваю, а иногда просто ленюсь заполнять вовремя. В выходные анализирую и корректирую согласно ему план на будущую неделю.
Примерно такой же файл есть у меня и по сотрудникам: когда и с кем у нас запланированы встречи, каковы их темы и продолжительность.
Для эффективного управления у меня есть четыре типа файлов:
- Финансовый бюджет по каждому направлению и руководителю. Каждый месяц я сверяю план с фактом;
- Индивидуальные файлы с личными KPI (выручка компании и операционная маржинальность) и привязкой к плану компании, а также файл с опережающими показателями (это то, что не всегда напрямую влияет на результаты месяца, но может, например, выстрелить через полгода);
- Файл проектов (что происходит в отделе каждого топа ежемесячно, каков статус);
- Файл с резюме наших еженедельных встреч.
С некоторыми топ-менеджерами я провожу встречи на еженедельной основе, с некоторыми — ежемесячно или ежеквартально. Это зависит от того, отвечает ли за этого топа кто-то из других партнеров (в Skyeng есть четыре-пять партнеров, которые напрямую участвуют в деятельности), или он подчиняется напрямую только мне.
Могу поделиться ещё одним лайфхаком. Есть такая система — «личный совет директоров», очень полезная вещь. Это объединение десяти специалистов в определенной области (например, генеральных или HR-директоров, директоров по маркетингу и так далее). Они создают свой собственный «совет директоров». Не помню, кто первым в мире придумал эту технологию, в России это была компания R2. У них это стоит очень дорого, но никто не мешает организовать свой «совет»: просто найти десять специалистов и объединиться.
Обычно раз в месяц проходят офлайн-встречи, где каждый выносит на обсуждение какую-то тему, а остальные делятся своей экспертизой по решению проблемы. На таких встречах можно узнать массу полезного, даже если вы обсуждаете не свой вопрос.
Субъективный взгляд на выгорание: как начать подгорать, но не выгореть
4 с лишним года назад я писал код в стартапе, который хотел наносить пользу клиентам частных медицинских клиник. «Режим стартапа» предполагал стабильное ощущение дедлайна, жесткую фокусировку и частую смену планов на лету. И я выгорел. На любимой тогда работе.
Возможно, это мнение покажется непопулярным и даже странным — но с тех пор я не хочу (и не могу) работать по-другому. Мне в кайф, когда разработка идет в сверхбыстром темпе. Я понял, что хочу так кайфовать. Но не хочу больше выгорать. И стал выстраивать защиту от выгорания: давайте расскажу, что получилось и как это помогло мне и команде в карантин, когда нам пришлось работать в формате «спринт за день», чтобы помочь школьникам.
Дополнительные сервисы
В 2016 году Skyeng запустила ряд мобильных приложений: тренажер Aword для запоминания английских слов, использующий алгоритмы «кривой забывания» Германа Эббингауза, такое же приложение Skyeng Words, предназначенное для учеников школы и Listening для тренировки аудирования.
Существует также расширение для браузеров Chrome и Safari Vimbox переводчик, которое помогает учить язык в процессе чтения англоязычных статей.
Также языковая школа внедрила систему умных субтитров в онлайн-кинотеатры Netflix и Amazon Video (англ.)русск.. По заявлению компании, такой способ обучения эффективнее пассивного просмотра. Субтитры интегрированы в сериалы «Карточный домик», «Черное зеркало», «Оранжевый — новый черный» и другие. Ранее схожий проект был запущен совместно с онлайн-кинотеатром Amediateka.
Летом 2017 года компания запустила музыкальное расширение для браузера — сервис Lyrics, который синхронизируется с Яндекс. Музыкой и предоставляет художественный перевод текстов песен. Сервис направлен на увеличение словарного запаса учеников.
Показатели и цифры
Выручка в 2014 году составила 39,5 млн рублей. К ноябрю 2015 года выручка компании за 11 месяцев достигла 80 млн рублей (рост составил 300 %).
За 2016 год Skyeng заработала 330 млн рублей. К концу 2016 года компании удалось выйти на 40 млн рублей ежемесячной выручки. Операционная прибыль по итогам года насчитывает 66 млн рублей. Рост по сравнению с 2015 годом составил 3,5 раза.
По итогам 2017 года выручка компании, по собственным данным, выросла в 2,2 раза и составила 725 млн руб.
По данным Skyeng, на начало 2018 года в школе числится более 2000 преподавателей и свыше 18000 учеников. В 2017 году компания провела свой миллионный урок, а к январю 2018 года количество уроков, проведенных с момента основания, увеличилось почти до полутора миллионов.
В 2019 году компания заняла четырнадцатую позицию в рейтинге «20 самых дорогих компаний Рунета — 2019», опубликованном журналом Forbes. По оценкам экспертов, стоимость компании в 2019 году составила 109 миллионов долларов.
В августе 2019 года Skyeng занял первое место в рейтинге EdTech-компаний России, составленном журналом РБК.
В 2020 году компания поднялась в рейтинге и заняла тринадцатую позицию в рейтинге «20 самых дорогих компаний Рунета — 2020», опубликованном журналом Forbes. По оценкам экспертов, стоимость компании в 2020 году составила 130 миллионов долларов.
Возможности персонального кабинета
Личный кабинет Скаенг полностью раскрывает свой функционал после проведения . До этого пользователю будут доступны лишь административные блоки: настройки, оплата. Поле пробного урока с помощью сервиса можно:
- Просматривать расписания занятий.
- Делать тренировочные упражнения.
- Изучать профиль преподавателя.
- Оставить о пройденных занятиях.
- Изменять личные данные.
- компании.
- Просматривать информацию о Скаенг, актуальные .
Расписание занятий и общение с преподавателем
Расписание занятий отражается на главной странице кабинета. Этот раздел меню называется «Основное». С его помощью студент может просматривать расписание на весь учебный курс. Также здесь показывается детальная информация о ближайших уроках.
Для общения с преподавателем можно использовать кабинет, либо любой другой сторонний мессенджер. Если учитель хочет оставаться со студентами на связи, он оставит контактные данные в профиле. Профиль также можно просмотреть в блоке «Основное». Он будет показан рядом с анонсом предстоящего занятия.
Для связи с педагогом через кабинет пользователю нужно кликнуть на значок сообщения в левом верхнем углу экрана, сбоку от знака вопроса.
Дополнительные услуги
Skyeng предлагает студентам дополнительные образовательные услуги:
- Корпоративный английский для сотрудников. Особые занятия, на которые нужно оставлять специальную заявку на главной странице сайта.
- Словарные игры. В левом меню кабинета можно играть в приложения, которые созданы для закрепления языковых знаний.
- Мой словарь. Активируется нажатием на кнопку «Мой словарь» в левом нижнем углу экрана. Все слова сохраняются в этом блоке. Их в любой момент можно добавлять и убирать.
- Тесты. Также расположены в левом боковом меню кабинета. Дают возможность в любой момент оценить свои знания.
Как вы изучаете английский язык?
Занимаюсь с преподавателем
25%
Изучаю самостоятельно
25%
Хожу на курсы
25%
Скачал/а приложение, занимаюсь по 15 минут в день
25%
Проголосовало: 4
Новости и полезности
В кабинете есть два полезных для студента блока «Новости» и «FAQ». Они расположены в верхнем меню. С помощью этих блоков учащийся может:
- На странице «Новости» происходит персональное информирование студента. Сюда выкладываются данные о переносе или отмене занятий. Также тут будут описываться изменения в расписании, смена педагогов. В «Новости» попадают акционные и бонусные предложения, информация о дополнительных занятиях.
- Блок «FAQ» посвящён самым часто задаваемым вопросам от студентов. Все интересующие учащихся аспекты разбиты на 8 тем. Чтобы получить ответ, нужно сначала кликнуть на пункт меню с нужной темой, а после найти интересующий вопрос в общем списке.
Ещё один интересный раздел кабинета Skyeng – Полезности. С его помощью ученик может развивать свой английский язык самостоятельно. Для этого в раздел встроено несколько учебных блоков:
О виртуальной языковой школе
Skyeng – это онлайн-школа, обучающая английскому языку. Основная фишка компании заключается в комплексности подхода. Скаенг обещает научить не только грамотно писать, но и снять языковой барьер, а также серьёзно повысить словарный запас студента.
Для занятий и выполнения домашних заданий используется платформа Vimbox Skyeng. Там можно решать задания интерактивно, просматривать учебные материалы. Создавать личный кабинет vimbox не нужно, доступ оформит педагог.
Языковые курсы
У школы есть несколько тематических языковых курсов:
- Путешествия.
- Бизнес.
- Развлечения.
- Для детей.
- Корпоративный.
Каждый курс ведётся таким образом, чтобы студенту было максимально интересно заниматься. Материалы подбираются под конкретные нужды и увлечения учащегося. Если между студентом и педагогом не возник контакт его заменят на другого учителя.
Плюсы и минусы обучения
У Skyeng есть свои преимущества и ряд недостатков:
Первый урок бесплатный, можно оценить школу.
Множество бесплатных тематических учебных блоков в кабинете.
Умная система субтитров, которая помогает смотреть видео на английском.
Приложение для смартфона с широким функционалом.
Возможность оплачивать обучение частями.
Высокая цена как для онлайн-курсов.
Нет возможности оценить своё знание языка до начала занятий.
Есть домашние задания, и они бывают довольно объёмными.
Нет возможности вернуть стоимость оплаченного пакета или его части.
Особенности обучения
Для проведения занятий в школе организованы виртуальные классы. Они доступны со смартфона или компьютера. Для определения текущего уровня знаний пользователям предлагают пройти вводный урок. Преподаватель оценит возможности и способности ученика — аудирование, говорение, знание грамматики, познакомится с целями изучения английского языка и предложит варианты обучения в школе Skyeng.
Вводных уроков может быть несколько — до тех пор, пока студент не выберет себе преподавателя. Для кого-то этот выбор происходит уже в первое занятие, а кому-то приходится пообщаться с несколькими наставниками, чтобы выбрать наиболее подходящего для себя.
Изучается английский язык в специальном сервисе, который дает возможность общаться персонально с учителем и выполнять интерактивные задания.
Уникальность платформы Skyeng в том, что уроки проводятся индивидуально. Однако для школьников есть возможность участия и в групповых занятиях.
Дополнительные инструменты для изучения английского языка в школе Skyeng :
- мобильное приложение для смартфонов, в которое постоянно загружаются новые слова и выражения для увеличения словарного запаса студента;
- для браузера предусмотрены специальные расширения, помогающая переводить и читать статьи на английском языке;
- сервис, который дополняет субтитрами сериалы на английском языке для лучшего запоминания иностранных слов и аудирования;
- языковые тренажеры для пополнения лексического запаса, а также перевода текстов песен;
- разговорные клубы, в которые входят студенты с таким же уровнем подготовки, где общаются ребята под контролем преподавателя;
- интернет-журнал с публикуемыми на регулярной основе материалами для улучшения произношения, изучения грамматики, лучшего запоминания иностранных слов;
- личный кабинет, в котором студент следит за расписанием, своим балансом, выполняет домашние задания и переписывается с наставником;
- грамматический тренажер.
Такое комплексное погружение в англоязычную среду помогает быстро и эффективно освоить учебный материал, повысить эффективность образовательного процесса и на нужном уровне поддерживать мотивацию.
Недавно в школе Skyeng была запущена рабочая тетрадь в интерактивном формате. Она помогает удаленно обучать школьников любого возраста. Интерактивная рабочая тетрадь включает несколько предметов школьной программы, по которым предусмотрены и домашние задания, проверяемые в автоматическом режиме.
Обучение в Skyeng предусмотрено для людей абсолютно любого возраста — здесь есть занятия для дошколят от 4-х лет, уроки для школьников, отдельные программы изучения английского языка в соответствии с целями пользователя, корпоративная программа, которая направлена на обучение большой группы людей, например, учеников целой школы или какой-либо организации.
В 2017-м году школа Skyeng совместно с своими партнерами организовала и осуществила международную Олимпиаду по английскому языку. Это мероприятие казалось настолько эффективным и массовым, что уже в 2018 оно вошло в официальные списки министерства образования Российской Федерации. По результатам этой олимпиады школьники могут получить 100 баллов ЕГЭ по английскому языку или поступить в ВУЗ без экзаменов.
В настоящее время в школе Скайенг занимается больше ста тысяч учеников и трудится одиннадцать тысяч педагогов. Каждый преподаватель проходит строгий отбор и тестирование. Проверка уровня преподавания во время занятий осуществляется с помощью нейросети, которая независимо оценивает различные параметры урока.
В Skyeng есть и партнерская программа, благодаря которой студенты, приводящие своих друзей и одноклассников, получают существенные скидки на обучением.
Критерии хорошего инвестора
Не все инвесторы одинаково хороши. Промахнётесь с выбором партнёра – навредите бизнесу. Избежать конфликтов поможет проверка инвестора на соответствие этим критериям:
- На одной волне. Инвестор имеет множество рычагов давления на стартап. Если вы принципиально не совпадаете в видении бизнеса, рано или поздно партнёр продавит вас, и вы последуете его указке.
- Живой интерес к идее. Неравнодушный инвестор даст сильный толчок развитию бизнеса.
- Экспертность и презентабельность. Стартапы – удел молодых и зелёных. Выбирайте инвестора, который станет лицом вашей компании и добавит «морального веса».
- Богатый управленческий опыт. Стартап – хрупкая система, и несогласованная работа команды пустит начинания ко дну. Опытный наставник может гасить конфликты и поддерживать микроклимат команды.
Сделайте инвестора партнёром и наставником!
Резюме: жизненно важные принципы стартапа
В заключение Георгий поделился ключевыми принципами своего бизнеса.
- Экспертное мнение. Постарайтесь найти ментора по каждому направлению.Наставники помогут вам разносторонне усилить бизнес.
- Фокусировка на главном. Учитесь отказывать неприоритетным идеям. Не распаляйте силы и бюджет на всё подряд. Сохраняйте задумки, но избегайте «гонки за стадом зайцев».
- Узкое звено. Производительность системы определяется производительностью самого слабого звена. Докручивайте хромые элементы, прежде чем менять что-либо в системе.
- Минимальный рабочий продукт. Работайте с minimum viable product и как можно скорее получайте обратную связь.
Must read от Георгия: Элияху Голдратт «Цель. Процесс непрерывного улучшения»
Статья подготовлена по мотивам выступления Георгия Соловьёва на мероприятии #poSEEDelki в #tceh. , следите за расписанием и приходите на встречи с экспертами.
Текст: Георгиевская Мария.
Ищете инвестиции в свой стартап? На Rusbase есть специальный сервис Pipeline, в котором более 200 инвесторов ждут, когда вы заполните анкету. Чтобы вы смогли правильно подготовить документы для инвестора, скачайте бесплатные шаблоны для презентаций. |
Материалы по теме:
Видео по теме:
Перспективы и кризис
SkyEng – динамичная молодая компания, которая стремится к постоянному росту
Здесь уделяют внимание не столько росту прибыли, сколько поиску новых увлекательных бизнес-идей, эффективных концепций, перспективных рынков продвижения
Георгий Соловьев: «Мы постоянно расширяемся, а поскольку наш бизнес онлайновый, то у нас, в принципе, нет целей кучковаться по городам. Сейчас мы проводим эксперименты по выходу на международный рынок и надеемся, что они будут успешными. Что касается перспектив развития, то мы считаем, что в языке онлайн-образование должно полностью победить офлайн: наши курсы намного эффективнее, чем персональные занятия с преподавателем или в группе. Также нет никакой логистики – клиенты не тратят время на дорогу в языковую школу. Отразился ли на нас кризис? Да, он нам помог: мы стали расти быстрее и во многом как раз за счет наших конкурентов – офлайновых языковых курсов».
Примечания
- ↑
- Лена Очкова. . vc.ru (20 апреля 2016). Дата обращения: 27 мая 2020.
- ↑
- ↑
- . www.forbes.ru. Дата обращения: 27 мая 2020.
- . Афиша. Дата обращения: 27 мая 2020.
- . www.glamour.ru. Дата обращения: 27 мая 2020.
- . The Village (19 июля 2017). Дата обращения: 27 мая 2020.
- . snob.ru. Дата обращения: 27 мая 2020.
- . Российская газета. Дата обращения: 27 мая 2020.
- . Ведомости. Дата обращения: 27 мая 2020.
- Андрей Фролов. . vc.ru (7 декабря 2015). Дата обращения: 27 мая 2020.
- Редакция vc.ru. . vc.ru (3 апреля 2017). Дата обращения: 27 мая 2020.
- . Firrma.
- (англ.). Forbes.ru (21 February 2019). Дата обращения: 25 февраля 2019.
- . www.forbes.ru. Дата обращения: 27 мая 2020.
- . Мел. Дата обращения: 27 мая 2020.
- Комсомольская правда | Сайт «Комсомольской правды». . KP.RU – сайт «Комсомольской правды» (8 сентября 2017). Дата обращения: 27 мая 2020.
- Алексей Громов. . Невские Новости. Дата обращения: 27 мая 2020.