Наелись Майкрософтом

Давным давно, когда мы только начинали работу над Авендой, передо мной и моим напарником встал вопрос выбора языка программирования. Первоначально я, рассматривал вариант создания решения в виде десктопного приложения, потому что считал, что могут возникнуть те или иные ограничения при работе из браузера (например, потребуется работа с внешним оборудованием и интеграция с другими программами). Но при этом есть также преимущества и для решения в виде веб-сайта (более массово с точки зрения выбора разработчиков, понятно для нас самих, кросс-браузерно, технологии непрерывно развиваются и т.п.). Мой напарник рассказал мне об SPA — Single Page Application — модном подходе в вебе, когда приложение реализуется в виде одной страницы, и где множество операций (навигация, рендеринг шаблонов и т.п.) выполняются на клиенте. Сервер же в этом случае отдает только нужные данные по запросу. На мой взгляд просто и гениально. Мы сделали ставку именно на такой подход и на такое решение.

Клиентским языком, разумеется, выбрали JavaScript и фреймворк Backbone, который практически сразу был заменен на Angular. Решение писать на Ангуларе, принятое в 2012 году было стратегически верным. А вот с серверным языком вышло все не так-то просто.

Мой напарник на тот момент знал несколько языков программирования. Его предложением было — писать на C#, поскольку это его фаворит. Я кодил на PHP и в 12-ом году у меня за плечами было уже несколько проектов. Для меня его предложение никак не шло в разрез моих интересов — в программистские дела я не хотел влезать вовсе, кроме базы данных и её архитектуры, потому что прекрасно понимал, что на все у меня не хватит времени; я хотел сосредоточиться на бизнес-задаче и интерфейсе. Для меня также был важен человек, с которым я работаю. Я искренне убежден, что у языка C# есть и преимущества, и хорошие программисты, и хорошие работодатели, и хорошие проекты. Но минусом, и в тот момент мы его озвучили, являлось то, что сервера на Windows стоят очень дорого по сравнению с Linux’овыми. Но к слову, дорого обходятся не только сервера — за те сюрпризы, которые Windows может вам преподнести, может тоже выйти лишняя копеечка.

Проект Mono, возникший по всей видимости из желания людей прекратить морочиться с Windows’ом, — это разработка для Linux, которая позволяет выполнять .NET приложения. На сколько мне известно Микромягкие тут же подали на них в суд. Чем закончился суд — увы не изучал. Знаю только, что Microsoft приобрела проект Mono, забрала его под себя, но не потопила, а заверила общественность, что даст ему развиваться. Что сейчас и происходит. На главной странице сайта так и написано: «Sponsored by Microsoft». Но на тот момент про Моно мы еще не знали.

Одной из вехой проекта стало то, что практически сразу мы подали и получили подтверждение на участие в Bizspark’е — программе от Microsoft по поддержке молодых проектов. На деле — пылесос тех проектов, кто не до конца понимает последствий сотрудничества с Microsoft, и создание таких условий для выбора, чтобы Microsoft не имела явного недостатка перед бесплатными продуктами — необходимость много и за все платить. Опять же, на тот момент — это выход из ситуации, поскольку поиск напарника в проект — задача непростая.

Первым звонком для меня стало осознание того, что проект прошел стадию эйфории, когда кажется что рынок твой, стоит только показать ему продукт. Более того, мы уже расстались с напарником и на горизонте светила перспектива расставания с другим человеком — на тот момент он в больше степени держал в себе концепцию и решение программной части проекта. Почему — по естественным причинам. Если у вас есть что-то, что приносит вам 1 миллион, станете ли вы тратить половину, треть, четверть своего рабочего времени на то, что приносит вам рубль? Соотношение может и завышено, но идея именно такая. Также у нас заканчивалась 3-хлетняя программа Bizspark, которая давала нам бесплатное ПО (любое от Microsoft) и кредит в $150 на каждого члена команды на облачные ресурсы. Так вот все это приближалось к отметке «сейчас Microsoft с нас все вернет».

Кстати, именно так все и случилось. Когда программа закончилась, Майкрософт прислал письмо об окончании программы, но лишь спустя месяцы у нас подписка перешла в платное состояние. Для меня, конечного пользователя, это крайне нелогично и запутанно — в апреле мы зарегались в Bizspark, в августе начали пользоваться Azure, спустя три года в октябре нам стали выставлять счета. Где логика — загадка. Вобщем, 19 октября Microsoft переводит нас на платную подписку, незадолго до этого у нас начинается новый отчетный период. Что усугубляет факт того, что я замечу происходящее, например просматривая списания с моей банковской карты — до списания пройдет полтора месяца. Но в день с нас списывают по 2500 рублей. Так продолжалось около 2-3 недель, пока мы это не заметили и еще около 2 недель пока мы искали решение. Оказалось, с нас списывали деньги за лицензию MSSQL Enterprise, которая стоит порядка $1000 в месяц. При этом по программе Bizspark нам полагалась одна такая лицензия бесплатно! Но, блин Карл! Я нашел телефон менеджера, который года 2 назад манил меня в акселерационную программу Microsoft, через него я вышел на кого-то из сотрудников нуженого мне отдела и узнал, нужно было заполнить какую-то информацию в профиле, просто заполнить, и лицензия была бы бесплатна! Чуть-чуть бюрократии и все будет! Таков Майкрософт. Принимаем и живем дальше. В тот момент я решаю, что надо выбрать любую другую технологию базы данных.

В конце месяца нам выставили счет на 90 000 рублей. Ситуацию удалось немного выправить. Пока мы разбирались с тех поддержкой откуда у нас такие списания, я привел свое видение ситуации и свои аргументы в пользу того, что списания навязаны нам. Мы не получали уведомлений накануне. Мы не нуждаемся в лицензии Enterprise. Майкрософт нашу позицию принял и скостил нам 65 000 рублей — выпилил все расходы по «аренде» лицензии Enterprise. За что им спасибо, точнее тому самому индусу, с которым мы общались. В Российском офисе сотрудники на нас забили и перестали отвечать практически сразу. Взаимно, вы нам тоже не особо в будущем нужны.

Была еще одна история. Примерно год назад я обратил внимание, что наше API пользовательской части сайта (авторизация, регистрация, бронирование и т.п.), немного говоря, странное. И я захотел его переделать — сделать проще и стандартизировать подход. Как оказалась, API у нас не настолько громоздкое. И его переработка заняла у нас несколько месяцев. То же самое я рассчитываю сделать и для бэк-офиса. Одна из причин такого рефакторинга — мы начинали разрабатывать iOS приложение в 2016 году и как выяснилось, для него в любом случае требовалось модифицировать или переписывать ряд API методов. Что вообще означало, что можно было начать писать все то же самое с нуля на другом языке программирования. Эту часть всего бэк-энда можно было сделать независимой и запустить, например, на поддомене api.avenda.ru вообще на отдельном сервере. Еще раз я осознал, что мы не сильно зависим от текущих технологий на бэк-энде.

Сейчас с нас списывают по 10-20 тыс. рублей в месяц за Azure. Одну из проблем мы решили — базу перевели в облачный сервер вместо развертывания своего сервера MSSQL. База нам обходится по 1000 р в месяц. Но сервера на Azure, которые нас устраивают, обходятся в 8000 р. При этом у меня есть мой личный сервер для проектов на PHP, за который я плачу 9000 р в год с производительностью немного ниже Ажуровского сервера.

Я вполне серьезно задумался, а что должно быть «решением» наших сложившихся проблем? Мне нужно научиться разбираться в технологиях Azure? Пойти на курсы? Каково должно быть стратегическое решение, которое позволит нам спокойно делать бизнес, а не топтаться на месте? И ответ напрашивается сам собой — нужно решение, которое работает на Linux, чтобы не связываться с Windows-серверами навсегда.

В конце 2015 года я искал ответ на вопрос «как перевести приложение на другой язык программирования». Мне посчастливилось случайно познакомиться (уже даже не помню как) с человеком из Яндекса и проконсультироваться у него на предмет того, какие технологии использует Я, как он видит перспективы развития языков и что думает об Окнах. Насчет последнего, я не сомневался, человек администрирующий сервера, без насилия не станет любить Windows. Вобщем, его ответ был таким, что и Pyton, и PHP не настолько страшны, как их шарписты малюют. Если я смотрю в сторону Linux, это хороший выбор.

Для меня показателем успешности языка является то, какие топовые компании его выбрали. Facebook и VK, Twitter, Инстаграм, Google, Яндекс. И мне становится понятным какими технологиями реально владеют крутейшие умы планеты. И где Windows в этой пищевой цепи. И почему аргумент «C# идеален для корпоративных систем» — не работает. C# хорошо проник в университеты, где ему обучают и где Майкрософт предлагает бесплатные продукты для студентов. Почему, Карл? Да вы подумайте. Этот как 3 года бесплатных ресурсов Ажуры и один месяц, который год кормит.

Короче, я поставил ультиматум нашим девелоперам, либо 19 февраля мы запускаемся в продакшене не на Майкрософте, либо я ищу людей, которые перепишут бэк-эенд на другой язык программирования. Ждем. Всем попкорна…

«За» Microsoft:

  • Все итак работает.
  • Изменения — это стресс, а если оставить все как есть, то людям не нужно будет подстраиваться.
  • Потеря времени.
  • «Microsoft много сейчас делает для .NET».

«Против» Microsoft:

  • Мне не нравится компания Microsoft и я не верю в её будушее.
  • Дорого и нерентабельно для бизнеса.
  • Лучшие умы планеты используют и развивают другие технологии.

Трудности при продаже Авенды картодромам II

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

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

Давайте разберем, откуда растут ноги у этого утверждения:

Во-первых, бизнес ошибочно полагает, что при прекращении сотрудничества мы (Авенда) отберем накопленные бизнесом данные и не захотим делиться. Ответить на это я могу следующее: в договоре между нами и бизнесом прописано, что после расторжения договора мы обязаны предоставить в табличном виде выгрузку всех данных, принадлежащих компании. То есть это наше обязательство подкреплено юридически.

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

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

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

В-третьих, что касается технической возможности нам (Авенде) обращаться к чужой базе, то тут я уже отвечал ранее: 1) наша финансовая выгода от сотрудничества с компаниями превышает любой возможный доход от передачи базы кому бы то ни было, 2) обладание вашими финансовыми данными не несет для нас никакой выгоды и ваш доход можно посчитать альтернативными способами, 3) использование вашей базы, ваших данных запрещено договором.

6. «У меня жена работает на кассе, мне этот учет не нужен»

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

7. Используется конкурентное или свое решение

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

8. «А если интернет отключат?»

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

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

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

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

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

Резюме

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

Продолжение следует…

Вакансия back-end разработчика на C#

Основные требования

  • Опыт разработки на C# + .NET.
  • Умение разбираться в чужом коде.

Обязанности

  • Разработка бэк-энда.
  • Разбор инцидентов, багфикс.
  • Документирование API.

Условия работы

  • Работа с почасовой оплатой. Ставка определяется по взаимной договоренности.
  • В месяц мы готовы платить до 40К исходя из оговоренной ставки. Соответственно ваша занятость будет не полный месяц.
  • Идеально подходит для подработки, а также для программистов с небольшим опытом работы.

Контакты

Чем облачная установка лучше локальной и почему мы работаем только в формате SaaS

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

Пример такого формата есть у наших конкурентов; их программа сделана в виде прикладного ПО, устанавливаемого на компьютер, и в их ситуации вполне логично разместить на нем же сервер и базу, раз уж требуется какая-то установка. Но это было актуально лет так 10 назад. Сейчас же интернет не является чем-то дефицитным: повсеместно распространяется IP-телефония, интернет теперь более доступен и на мобильных устройствах.

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

Но у нас есть и опыт локальной установки — первые месяцы мы размещали Авенду непосредственно на картодроме Le Mans, на одном из компьютеров. И за это время, надо сказать, мы хорошо оценили количество граблей на этом пути.

В этом посте я хочу сравнить два вида установок и объяснить, почему мы пришли именно к формату SaaS. Я выделил 4 главных критерия для проведения различий и привел несколько ситуаций по каждому из них. Итак, давайте начнем.

I. Установка, настройка и поддержка сервера

1. Работа с сервером, к которому нет физического доступа, несет под собой большие риски.

Основная проблема здесь — выход оборудования из строя. Осознают ли владельцы компаний потери из-за простоя сервера в таком случае?

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

Но данные риски исключены при работе с облаком, поскольку в этом случае у вас есть поддержка, доступная вплоть до 24/7.

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

В силу того, что мы регулярно улучшаем свой продукт, примерно раз в месяц нам требуется производить обновление кода на сервере (по-научному, это называется деплой). В свое время я приезжал на картодром после 12 ночи для того, чтобы исключить проблемы с обрывом связи во время обновления и несколько раз такие обновления затягивались до 5 утра по причине того, что при обновлении выявлялись частные проблемы, связанные с особенностями локального сервера и таким образом требовалась установка/обновление/настройка ПО.

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

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

3. То, что у вас работало на тестовой среде, может не заработать на боевой.

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

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

II. Безопасность

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

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

Вот только есть несколько проблем:

1. В любое время, пока сервер подключен к интернету, к нему есть доступ. А значит в данном случае совершенно неуместно говорить о том, что у вас есть рубильник отключения его от внешнего мира. Это не решает ровным счетом ничего.

2. При обновлениях ПО разработчик должен получить доступ к серверу. Вариант того, что приобретатель ПО сам его устанавливает возможен, но это будет требовать времени на разработку, что будет учтено в цене.

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

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

III. Производительность

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

Поэтому нужно или рассматривать вариант аренды сервера (то есть размещаться не физически на картодроме), или инвестировать значительные средства в оборудование.

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

IV. Финансовая сторона

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

V. Прочие трудности

При локальной установке вам также нужно будет решить следующие вопросы:

  • Обеспечить соответствие закону о персональных данных.
  • Самостоятельно заключить договор с банком на эквайринг.
  • Обеспечить покупку, настройку и регулярное обновление SSL-сертификата.
  • При публикации мобильного приложения, разработанного нами, с вашего аккаунта — зарегистрировать и купить аккаунты разработчика.
  • Осуществлять техническую поддержку клиентов, выделить для этого человека, принимающего запросы и реагирующего на проблемы пользователей (перепутанные телефоны при регистрации, сложности при бронировании и т.п.).

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

Заключение

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

Вакансия разработчика мобильного приложения на C# + Xamarin

Вакансия закрыта.

Основные требования

  • Опыт разработки приложений с использованием Xamarin,
  • Знание C# и умение разбираться в чужом коде,
  • Открыты к сотрудничеству, если у вас нет опыта, но много желания работать.

Обязанности

  • Разработка приложения для iOS, Android, Windows Phone.

Условия работы

  • Работа с почасовой оплатой. Ставку определяем исходя из ваших пожеланий по оплате за месяц.
  • В месяц платим не более 15-20К исходя из оговоренной ставки. Соответственно ваша занятость также будет не полный месяц.
  • Если у вас есть основное место работы и нас вы рассматриваете как подработку — это то, что нужно. Мы не ставим деадлайнов, поэтому вы сможете балансировать занятость у нас исходя из своей основной работы.

Контакты

Когда необходимо онлайн-бронирование

Тот самый момент, когда картинг-клуб не работает 31-го и 1-го и забронировать можно только через интернет:

booking

Бронирование доступно на сайте картинг-клуба Le Mans — booking.lemanskarting.ru

Трудности при продаже Авенды картодромам

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

На сегодняшний момент я могу вспомнить порядка 20-25 картодромов, с представителями которых я успел пообщаться. Разброс по городам не очень большой и основная масса, конечно же в Москве:

  • Москва
  • Санкт-Петербург
  • Икша
  • Сочи
  • Краснодар
  • Майкоп
  • Тула
  • Екатеринбург
  • Зеленоград
  • Шарм-эль-Шейх

Итак, о причинах, почему мне отвечают «Нет»:

1. Цена

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

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

Как это будет исправлено:

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

2. Отсутствие имени у продукта

Кто бы что ни говорил, но маркетинг влияет на сознание при конкуренции. В любой ситуации человек изначально будет с предубеждением относиться к компании с известным именем. Если, например, на минуту представить, что компания Microsoft продавала бы решение, схожее с нашим, то к ней, компании Microsoft, ни у кого бы не было бы вопросов в духе «А вот вы будете получать наши финансовые данные, нам это не интересно, ставьте нам сервер локально и отдавайте продукт». Microsoft бы предложила удобные ей условия, и компании, которым нужны преимущества от использования продукта, закрыли бы глаза на недостатки, потому что это Microsoft и значит у них все сделано правильно.

Нас же подвергают критике под увеличительным стеклом. Я например недавно увидел, что один из картодромов в Москве установил какое-то совершенно невменяемое решение с неприспособленным для картодрома интерфейсом бронирования. Решение облачное (никаких локальных серверов, Карл…). До сих пор не понимаю, что на них повлияло, ибо вряд ли кто-то вменяемый станет пользоваться этим трешем.

Как это будет исправлено:

  1. Отчасти для этого я завел данный блог, чтобы стать публичнее и более открытым. Таким образом я планирую набрать некую известность.
  2. Мы будем непрерывно развиваться так долго, как только это возможно, непрерывно вкладывая средства в собственное развитие. Чем дольше мы сможем прожить — тем больше к нам будет доверия.
  3. Также имеет смысл перестать зацикливаться на крупных компаниях и начать искать рынок там, где в нас нуждаются, а не там, где нам хочется. Иными словами методом тупого перебора найти те компании, кто более охотно согласится на установку, нежели обхаживая подолгу те компании, которые нам стратегически интересны.

3. Нам не хотят платить абонентскую плату

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

Как это будет исправлено:

  1. В ближайшее время мы останемся классическим SaaS решением, предлагаю и продукт и инфраструктуру. Поэтому мы опять же, просто будем искать своего потребителя, ну и конечно доносить ценность SaaS’а до всех остальных.

4. Многие компании способны обойтись без нас

По факту наш продукт для большинства картодромов — это nice to have, нежели нечто необходимое, как например подключение к интернету или наличие бухгалтера в компании. Без нас могут прожить — это ключевое. Но есть компании, которым без нас прожить сложно. Именно там мы и хотим быть.

Как это будет исправлено:

  1. Будем искать те компании, для которых наш продукт несет прямую выгоду для бизнеса. Наша основная цель — производить свободное время сотрудников.
  2. Дать такие возможности бизнесу, которых без нас у них нет. Это относится и к онлайн-бронированию, и к мобильному приложению, и к интеграции с телеметрией. Ни у кого сейчас этого нет (кроме онлайн-бронирования в виде каких-то самопальных решений, качество которых при этом сомнительно), но это те сервисы, которые увеличивают удовлетворенность клиентов, а значит влияют на их возврат.

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

Avenda: Начало

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

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

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

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

Поняв это, я стал думать что же такое можно было бы бронировать. В то время рождались и умирали сервисы бронирования. Один из которых, помню был Море салонов, в который инвестировал Аркадий Морейнис. Были и есть также сервисы бронирования столиков в ресторанах. Да их собственно много. В том же году, в 2011 я активно стал заниматься картингом и моим излюбленным местом на тот момент был Картинг-клуб Le Mans. В результате, в мае 2012-го года, когда я уже понял что я буду делать сервис бронирования для картинга, я подошел к одному из совладельцев Ле Мана и предложил встречу, на которой пообещал обсудить деловое предложение.

Встретились мы примерно через неделю и я начал с того, что рассказал о своей профессиональной жизни, что являюсь айтишником помимо увлечения картингом. Я рассказал об идее, которая у меня есть (на тот момент, кроме нее у меня ничего не было, нет были скриншоты и прототип, но они были сделаны с намеком на витрину сервиса, на котором предположительно должны были продуваться услуги, а не непосредственно о бронировании). Главный вопрос, который стоял на встрече для меня — нужно ли это вообще картонному. Как оказалось, я попал в тему, постольку поскольку уже в тот момент Дима (так звали совладельца) подумывал о покупке аналогичной системы из-за рубежа от одного известного бренда. О том, как я познакомился с их представителем в день запуска нашего сервиса прямо на картодроме Ле Ман (вот так удача, Карл!), о том, как поел их шоколад, я расскажу как-нибудь в других постах. Впринципе, об этом намерении Димы я узнал где-то через полгода или год. Так что на тот момент моим единственным драйвером было только то, что нужно работать, если я действительно хочу сделать продукт. С той стороны, как минимум, предварительный интерес есть.

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

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

Сам я тяготел к UI/UX и до этого у меня уже сформировалось понимание, что нельзя все сделать самому, именно поэтому вариант искать хотя бы еще одного человека был единственно верным для меня. К слову, я его нашел довольно быстро.

О том, как это было, я расскажу в следующих постах. Следите за новостями!

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

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

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

Во-вторых, информация о доходах вашего картодрома не является чем-то секретным и узнать его [доход] может каждый. Способов как это сделать как минимум 5, и сейчас я о них расскажу:

  1. Оценить стоимость аренды помещения в этом районе. Аренда, как правило, занимает значительную долю в расходах картодрома, поэтому по ней можно судить о примерной выручке, которую должна получать компания, чтобы приносить прибыль. Не стоит при этом забывать, что бизнес бывает разный и в конкретно взятом случае картодром может быть и убыточным, плюс аренда может стоить по разному в зависимости от срока.
  2. В дополнение к первому способу можно посчитать число сотрудников в компании и оценить примерный объем ФОТ (фонда оплаты труда). Как известно он также занимает львиную долю практически в любой компании. Оценив з/п в сумме с арендой вы получите всё тот же, проектный минимум, на который должен выходить картодром для того, чтобы существовать.
  3. Данный способ также универсален для любых компаний, мы просто считаем проходимость в лоб. В случае с картодромом, смотрим на зону выпуска и считаем людей. Делать это лучше всего в нагруженный день, то есть в выходной, потому что вес от него наибольший, а значит и точность будет выше.
  4. Если вам лень так долго стоять и ждать, то можно пойти упрощенным путем и посчитать емкость — максимум того, что может заработать картодром при полной загрузке, после чего умножить полученную сумму на взвешенный коэффициент и получить приближенную к реальной загрузку и доход. Например: в выходной картодром работает 12 часов, если в заезде выпускают 10 машин, один заезд стоит 700 рублей, то физический максимум, который может заработать картодром за день — это 12х4х10х700 = 336 000 рублей, где 4 — это количество заездов в час. Реальная сумма может быть примерно половина от рассчитанной, плюс минус, но это уже мелочи. Также нужно учитывать наличие скидки у определенной категории клиентов. На выходе мы получим оценку с погрешностью 20-30%.
  5. Наконец-то расскажу вам о высокоточном методе, с помощью которого, вы сможете, в том числе, посчитать выручку вашего любимого Макдональдса или столовой на работе. Ограничения у этого метода есть, о них скажу чуть позже, если сами не поймете. Итак, мы приходим в кафе/столовую/на картодром и заказываем что угодно. Нам нужен чек, на котором есть две полезные цифры — это его порядковый номер с момента установки и часто бывает номер операции за день. Ну вы поняли: проходимость уже посчитана за вас, и вам остается только умножить на средний чек, чтобы получить выручку. Если вы придете, например, через неделю и снова сделаете покупку на этой же кассе, то по сквозному номеру сможете оценить покупки за длительный период более точно. Ограничение как вы понимаете в том, что вы должны «попасть» на тот же кассовый аппарат, что и прежде.

Итог

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

Решение проблемы с отсутствием ручек в аэропорту Хургады

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

В этот момент в моем телефоне в блоке Trips я сразу же поставил тудушку на следующее своё путешествие:

photo_2015-12-20_18-55-13

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

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

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

Это не был PR. Скорее акция благотворительности. Просто хотелось сделать что-то неординарное.

Вакансия front-end разработчика на JavaScript

Основные требования

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

Обязанности

  • Разработка фронт-энда.
  • Разбор инцидентов, багфикс.

Условия работы

  • Работа с почасовой оплатой. Ставку определяем исходя из ваших пожеланий по оплате за месяц.
  • В месяц платим не более 15-20К исходя из оговоренной ставки. Соответственно ваша занятость также будет не полный месяц.
  • Если у вас есть основное место работы и нас вы рассматриваете как подработку — это то, что нужно. Мы не ставим деадлайнов, поэтому вы сможете балансировать занятость у нас исходя из своей основной работы.

Контакты