12 лет в облаке

    Привет, Хабр! Мы снова открываем техноблог компании МойСклад.

    МойСклад — облачный сервис для управления торговлей. В 2007 году мы первыми в России придумали перенести торговый учет в облако. Недавно МоемуСкладу исполнилось 12 лет.

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

    Первый офис — кафе Му-Му


    Компания МойСклад началась в 2007 году с команды из четырех человек, макетов интерфейса в тетрадке и регистрации домена moysklad.ru. У двоих ребят быстро закончился энтузиазм, остались я и Олег Алексеев, наш технический директор.

    В то время я уже несколько лет не писал код, но с удовольствием погрузился в разработку снова. Мы выбрали моднейший на тот момент стек технологий: JavaEE, JBoss, Google Web Toolkit и PostgreSQL.

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


    Первые макеты интерфейса отличались минимализмом

    Первое время офисом МоегоСклада было кафе Му-Му. Встречались раз в неделю, чтобы обсудить дела. Олег кодил по вечерам и выходным, а я мог работать всё время, так как уволился с работы, чтобы заниматься МоимСкладом.

    Летом 2007 года макет превратился вот в такую реализацию. Обратите внимание, что Internet Explorer тогда еще не был чем-то стыдным.

    image
    Альфа-версия, лето 2007 года

    10 ноября 2007 года прошел следующий важный майлстоун: первый публичный анонс. Мы написали про бету МоегоСклада на Хабре. Получили публикацию на главной и много комментариев, но самого главного — активных пользователей на бесплатном тарифе — не появилось.

    Первый инвестор


    Для первого раунда инвестиций нужны были хотя бы несколько реальных пользователей. Я поговорил с десятком российских инвесторов, но никто не хотел рисковать. Продукт был годным, но сыроватым. Малый бизнес в 2007 году не доверял SaaS, опыта запуска бизнеса у нас с Олегом не было.

    От безнадежности я начал искать уже западных инвесторов и через LinkedIn нашел один фонд из Эстонии. Им руководил бывший глава разработки Skype по имени Тойво. В душе Тойво был не профессиональным инвестором, а настоящим инженером. Подозреваю, что сделка состоялась, потому что мы использовали не MySQL, как какие-то говнокодеры, а PostgreSQL (сразу понятно, серьезные ребята). Постгрес тогда был намного менее популярен, чем сейчас, но его как раз использовали в самом Скайпе.

    image
    Февраль 2008 года, мы еще не можем определиться с названием сервиса

    Мы быстро договорились на сумму $200 тыс за 30% компании и начали оформлять сделку. Я был очень впечатлен, как работает электронное правительство в Эстонии и понял, что анекдоты про неторопливость нам надо сочинять про себя.

    В феврале 2008 года мы разослали пресс-релиз и о нас написали айтишные СМИ, в первую очередь — очень авторитетный тогда CNews. Конечно, мы написали и радостный пост на Хабре.

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

    Среди первых клиентов была еще одна категория: ИТ-директора в крупных компаниях, которые временно закрывали дырки в своей автоматизации дешевым МоимСкладом. С нами работал даже огромный холдинг Русагро.

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

    image
    Первая версия сайта

    В стране постепенно складывалось облачное комьюнити. В 2008 году в кафе Шоколадница на Шаболовской несколько раз собиралась ассоциация SaaS-вендоров России. В ней было целых четыре вендора: Мегаплан, МойСклад и еще два давно закрывшихся проекта. А 13 апреля 2009 года самая первая конференция «SaaS в России» собрала уже 40 человек.

    Вообще, лидером российского SaaS тогда и следующие несколько лет был Мегаплан. Он несколько бесил своим разухабистым маркетингом, но делал очень правильную вещь — продвигал в народ идею облаков.

    Спасибо, кризис


    После первого раунда инвестиций мы начали платить себе щедрые зарплаты по 60 тысяч рублей и наняли первых сотрудников. Денег хватило на год. Когда они закончились, пришлось жестко экономить: наемные сотрудники ушли, а фаундеры продолжили работать бесплатно. Из небольшого офиса пришлось съехать.

    Думаю, что в этот момент МойСклад спас кризис 2009 года — иначе мы с Олегом, скорее всего, сами вернулись бы на работу по найму. Но из-за кризиса хороших предложений на рынке просто не было, поэтому мы продолжили заниматься сервисом.

    image
    Автором мема «Денег нет, но вы держитесь» является не Дмитрий Медведев, а бухгалтер МоегоСклада

    Инвесторы по-прежнему смотрели на нас как на говно без энтузиазма. Теперь уже из-за медленного роста. В середине 2009 года у нас было всего 40 платных аккаунтов. Почти год мы жили в режиме тотальной экономии.

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

    image
    Делаем умные лица

    Нам помогали многие люди и компании, которым я до сих пор очень благодарен. Например, продажи МоегоСклада через СКБ Контур. Проект запустил Леонид Волков, тогда еще не соратник Навального, а один из руководителей Контура. Совместный продукт продавался так себе, но за интеграцию мы получили заметные для того периода деньги.

    Первый раз на настоящей конференции мы появились благодаря Сергею Котыреву из UMI. Тогда мы еще не могли позволить себе собственный стенд, но Сергей написал: «Слушай, у нас на RIW на стенде есть свободное место на стойке, можем положить твои листовки».

    В конце 2009 года мы снова почувствовали финансовую стабильность, стали платить себе зарплаты по 20 тысяч рублей и даже сняли небольшой офис в НИВЦ МГУ (на двоих со стартапом друзей).

    Второй инвестор


    2010 год — самый ламповый период МоегоСклада. Мы зарабатывали на подписках уже 200 тысяч рублей в месяц. На эту сумму мы каким-то образом арендовали серверы, аутсорсили SEO, платили четверым сотрудникам и перебрались в отдельную комнату в МГУ. Когда-нибудь я напишу отдельный материал «Как экономить в стартапе, не переходя на доширак».

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

    Тем не менее, когда в конце 2010 года нас пригласили на конкурс стартапов в Питер, я согласился. МойСклад вышел в финал из 10 участников. Эти 10 проектов претендовали на шесть или семь призовых мест. Нам удалось практически невозможное: не выиграть ничего. Было обидно за потраченное время.

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

    image

    За месяц мы утрясли условия и подписали Term sheet — соглашение об условиях сделки. Долю эстонцев выкупила 1С, а МойСклад получил солидные инвестиции на следующий рывок.

    У нас были большие сомнения в этой сделке. Мы опасались, что 1С станет влиять на продуктовую стратегию и управление компанией. Как видно сейчас, всё произошло наоборот — инвесторы помогали, но не вмешивались. Я думаю, что работа с 1С — одно из наших самых удачных решений.

    Полетели


    2011 год стал чудовищным. Мы начали настолько правильно тратить инвестиции 1С, что количество лидов и клиентов за несколько месяцев выросло в несколько раз. Тикеты в техподдержке лежали без ответа по 3-4 дня. Лидов не успевали обрабатывать. Чтобы закрыть тикеры или обзвонить новые регистрации, раз в неделю мы проводили субботник.

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

    Были и другие сложные моменты. Например, большой запланированный убыток в 2012 году. Клиентская база росла, все работали по 12 часов, но денег на счету становилось всё меньше. Психологически это тяжело не только для топов, но и для для всех сотрудников.

    Во второй раз мы вышли на стабильную прибыльность уже в 2014 году. Со временем к продвижению облачной модели подключились Битрикс24 и amoCRM. Думаю, что мы сильно помогли друг другу.

    Хорошо, но надо лучше


    Последние пять лет мы стабильно растем на 40-60% в год. В компании работает 120 человек (мы всегда рады новым, присылайте резюме). Насколько я могу видеть, мы уверенный лидер в своем сегменте в России и сейчас пробуем выйти на рынок США.

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

    image
    Число новых клиентов по месяцам

    С 2016 года нам активно помогает российское правительство (не думаю, что оно знает об этом) проектами по онлайн-кассам и обязательной маркировке товаров. Мы адаптируем МойСклад под новые требования, растим клиентскую базу на бесплатных тарифах.

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

    Глобально, цель МоегоСклада — помогать малому бизнесу. Поэтому число клиентов и выручка — это не просто цифры, а объективные индикаторы, насколько мы нужны предпринимателям.

    Сейчас в МоемСкладе более 1 300 000 регистраций. Ежедневно 100 000 активных пользователей создают полмиллиона новых документов, генерируют 1500 запросов в секунду и 8TB трафика. В бэкенде мы используем Java, Hibernate, GWT, Wildfly, PostgreSQL, RabbitMQ, Kafka, Docker, Kubernetes. Для разработки розничных десктопных приложений — Scala.js и Electron. Мобильные приложения написаны на Kotlin и Swift.

    В следующих постах мы будем подробнее рассказывать о процессах внутри компании и разработке продукта. Например, скоро будет статья о том, как мы строили API. Пишите в комментариях, с какой стороны вам было бы интересно узнать о МоемСкладе, голосуйте за интересные пожелания.
    МойСклад
    34,73
    Разрабатываем облачный сервис управления торговлей
    Поделиться публикацией

    Комментарии 14

      +1
      Пытались с вами работать именно как со складом, но уж больно вы заточены под продажи, даже в мобильном приложении, что-то добавлять и списывать в больших объемах оказалось очень неудобно если этим занимается не один человек (раскидка материала по бригадам с последующим списанием в рамках работ) Может у нас кейс специфичный, но получается, что в SaaS МойСклад неудобный именно склад.
        –2
        Мы автоматизируем торговлю целиком, склад — важная, но только одна из частей этого процесса. Бригады и работы кажется уже к специализированным WMS системам)
        +1
        Пару лет назад присылал вам резюме, получил стандартную отписку hh «работодатель не готов вас пригласить на собеседование». Как минимум дело было в совершенно небрежном резюме. Но, дело не в этом.

        Я в то время уходил от GWT. Как бы он мне не нравился, но без покровительства Гугла у него уже было совсем сомнительное будущее. Трудно слезать с любимой лошади, даже если она сдохла. А, тут вы — можно было ещё поработать с GWT… Увы, значит — пора, подумал я.

        С тех пор многое изменилось в моей жизни. Но, именно тогда «Мой Склад» сыграл в этом и свою роль.
          0
          А представьте, как нам тяжело слезать с GWT с таким здоровенным UI! Но пробуем постепенно.
            0
            Было бы интересно почитать о развитии фронтенда, в частности «жизнь с GWT в 2019».

            За 12 лет в моде, чего только не было. Знаю команды, которые в попытке уйти от GWT перепробовали: ангуляр, реакт, дарт, свои велосипеды на чистом дж-эс… В итоге, после огромного объема работ, куски интерфейса, так и работают на GWT по сей день.

            Т.е.: с GWT так и не слезли, развели зоопарк из технологий, которые уже и сами превращаются в легаси.
          0
          Жаль в свое время я испугался пожара и не вписался в эту комманду.
            0
            Вот это норм история! Облажались — не стали менять бренд и выезжать под новым именем, прикидываясь новичками. Осознали косяки и исправились. Таких нынче на рынке не много.
              0
              Один из наших клиентов работает С МойСклад. Для них мы разработали интеграцию с Asterisk. Мы очень сильно удивились, когда узнали что при смене интеграции с этой самой телефонией, мы не сможем работать со старыми записями разговоров, хотя ссылки все сохранены. А больше всего убило, что сотрудник саппорта пытался просто нас отфутболить даже не разобравшись в вопросе. В итоге мы получили стандартный ответ, что, да, бага есть, но решать мы ее не собираемся.
                0
                API развивается, думаю что на момент, когда вы обращались, изменение ссылок на записи звонков через API было недоступно. Сейчас, насколько я вижу, уже поддерживается: online.moysklad.ru/api/phone/1.0/doc/index.html
                0
                Тоже работаю с этой системой. Иногда удивляюсь.
                Из последних примеров — есть опция — не отгружать товары в минус, делать так, чтобы нельзя было отгрузить отсутствующий товар на складе.
                Включаю — все равно сталкиваюсь с тем что можно отгрузить в минус.
                Разбираюсь — есть товар 10 позиций. Есть отгрузка вчера 5 шт, есть отгрузка сегодня — 5 шт. Товара нет.
                Захожу в вчерашнюю отгрузку, отгружаю еще 5 шт, в сегодняшней получаю минус 5 шт.
                Не спорю, логика в этом есть. Но проблема-то не решилась. Нафига эта опция тогда?
                Минус мы запрещаем, но он не работает…
                Можно же по дате изменения проверить — есть товар на складе или нет.
                  0
                  Есть компромисс между подходами «все строго проверять» и «разрешать почти все, чтобы было быстро и понятно». МойСклад сильно склоняется ко второму, это осознанный выбор. Впрочем, если запретить сотрудникам менять документы в прошлом, это частично решит задачу.
                  +3
                  Уважаемые представители компании МойСклад. На вашей странички поддержки support.moysklad.ru/hc/ru/community/topics вы советуете задавать технические вопросы в StackOverflow RU. Это генерирует поток (в большей степени) некачественных вопросов типа «когда будет разработана фича А» и т.д.

                  Мне кажется, что вы не до конца прочитали ru.stackoverflow.com/help/product-support. И, отчасти, настраиваете сообщество RU StackOverflow против себя. Можете ли вы повесить выжимку ru.stackoverflow.com/help/product-support на вашей страничке? А также не отвечать на закрытые вопросы в StackOverflow в комментариях? Как-то нехорошо получается.
                    +1
                    Действительно, эксперимент по переносу поддержки API не получился. Мы забираем поддержку обратно на свой ресурс.
                      +3
                      Большое спасибо за быстрый ответ! Вот уж действительно, МойСклад — компания, которая умеет признавать неудачные эксперименты и разные ошибки. Очередное подтверждение. Молодцы. Только удачи могу вам пожелать!

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

                  Самое читаемое