Интервью с компанией Varien (Magento)
Все начиналось очень скромно. Американский студент (Roy Rubin) подрабатывал в интернете, занимаясь установкой и кастомизацией интернет-магазинов. Сегодня компания Varien владеет самым популярным продуктом для электронной коммерции — Magento и успешно его продает. При этом все разработчики, за исключением СТО, сидят в Украине.
Участники интервью: Йоав Кутнер (Yoav Kuttner) — вице-президент и СТО Varien, а также менеджмент украинского офиса: Михаил Бессолов, Евгений Шевченко и Дмитрий Сорока.
Давайте поговорим о Magento. Расскажите, с чего все начиналось.
ЙК. В 2001 году мы начали с кастомизации веб-проектов для клиентов, — интранет-порталов, систем управления контентом (CMS), и чуть позже мы начали заниматься решениями в области электронной коммерции. Мы стали одной из самых известных компаний, предоставляющих услуги по проектированию и разработке интернет-магазинов на основе osCommerce («Open Source Commerce») — популярном движке интернет-магазина с открытым исходным кодом. И продолжали работать в этой области вплоть до момента окончательного перехода на Magento — до середины прошлого года. Даже после выпуска первой стабильной версии мы еще продолжали оказывать услуги консалтинга для наших «старых» клиентов.
Сколько людей было в компании в тот момент, когда вы занимались разработкой на osCommerce?
ЙК. Начинали с одного человека в 2001 году, я пришел в компанию через 3 года, и мы работали вместе — Рой [Рубин] и я. С этого момента мы начали набирать людей, через каждые несколько месяцев нас становилось уже вдвое больше.
Каким образом появился офис в Украине? Почему именно здесь?
ЙК. Мы получили письмо от одного разработчика из Украины, который хотел работать на нас удаленно. Это произошло через неделю после того, как мы решили, что больше не будем пробовать искать удаленных программистов, а сосредоточимся на поиске людей в Лос-Анджелесе (к тому времени у нас уже было 8 или 9 программистов в офисе). Однако он был очень настойчив, и мы решили дать ему тестовое задание, которое он хорошо сделал.
У всех программистов из Украины, с которыми мы познакомились, был отличный профессиональный уровень
После этого, он предложил найти еще нескольких разработчиков в Киеве. У всех программистов из Украины, с которыми мы познакомились, был отличный профессиональный уровень, и мы решили попробовать. Через месяц я прилетел в Киев, чтобы встретиться с разработчиками лично. Это было в ноябре 2006 года, который мы и считаем началом нашей деятельности в Украине.
В начале мы нашли маленький офис недалеко отсюда (действие происходит в офисе в БЦ Комод, на м. Левобережная) и это уже наш четвертый офис. Нам приходилось переезжать каждый раз в большие офисы в связи с постоянным ростом команды в Киеве.
У нас еще есть офис в Украине — в Днепропетровске, а также есть удаленные разработчики в Тернополе и Николаеве. Могу сказать, проработав более двух лет с украинскими разработчиками, что мы очень довольны как их профессиональным уровнем, так и личностными характеристиками, просто на уровне общения. Тем более, что в США очень трудно найти профессионалов в PHP.
Почему так сложилось? Разве у PHP низкая популярность?
ЙК. Нет, но как раз популярность играет здесь отрицательную роль — PHP легко изучить на начальном уровне, достаточном для того, чтобы программировать, нам же был нужен высокий уровень знаний, и Magento является хорошим примером высокоуровневого приложения на PHP. Мы очень рады, что нашли профессионалов в PHP здесь.
И много у вас осталось разработчиков в США?
ЙК. Нет, сейчас у нас всего 3 программиста в Лос-Анджелесе, так что Magento на 99,9% была разработана в Украине.
Magento написан с нуля, или он основан на OS Commerce?
Он не основан на OS Commerce, это наш собственный код, на который нас вдохновила система OS Commerce. Magento использует Zend Framework. Но сейчас
Кто был разработчиком первых версий Magento?
Я на протяжении многих лет обращал внимание нашего CEO на то, чтобы перестать использовать OS Commerce, с того времени, как мы начали разрабатывать под него, это было ужасно. Не было активной разработки этой системы, мы делали ответвления (forks), чтобы можно было создавать решения, которые работают, но все равно у нас было с ним много проблем.
Это была все еще деятельность по консультированию клиентов?
В начале
Сколько времени вам понадобилось для того, чтобы получить первого клиента на Magento?
В начале
А когда вы начали его продавать?
Это бесплатный Open source продукт.
ОК, но вы же должны как-то зарабатывать деньги. Продавали техподдержку?
Да, мы сначала мы продавали поддержку. Но это не очень хорошая модель для Open source.
Red Hat вроде бы на ней зарабатывет.
Red Hat еще продает лицензии, то есть там не только поддержка.
люди склонны покупать поддержку только тогда, когда они в ней нуждаются
Проблема с поддержкой в Open source в том, что люди склонны покупать поддержку только тогда, когда они в ней нуждаются. Они пользуются продуктом несколько месяцев, потом у них появляется проблема и они пытаются обращаться за поддержкой. Сложно построить и масштабировать бизнес на таком. Итак, поддержку мы пробовали в первый год. Это не работает на самом деле. Это не работает для многих Open source компаний.
Почему же вы поставили на первое место поддержку?
Потому что это выглядело многообещающим. Мы думали, что для людей, занимающихся электронной коммерцией — это критично-важное приложение. Но продукт оказался слишком хорошим, и люди были очень довольны. Они, конечно же, просили улучшений, но так как им бы пришлось платить за поддержку, они говорили: «ОК, мы можем смириться с этой проблемой, мы подождем пока». Честно говоря, есть много Open source проектов, чьи продукты слишком хороши, чтобы обращаться за поддержкой, продукт работают, люди, используя его, могут вести бизнес и вместо того, чтобы платить за поддержку предпочитают подождать пару месяцев, пока проблема и так будет решена в продукте.
ОК, продажа поддержки не работает. И что дальше?
Мы создали enterprise edition, основанную на Open source, а также community edition, которая включает некоторые новые модули, доступные только для пользователей enterprise edition в комплекте с поддержкой. Эта версия лицензируется на каждый сервер. Так работает MySQL AB, например.
Мы запустили это в мае 2009 и за первые три месяца подписали свыше 60 клиентов.
И во сколько клиенту обходится эта лицензия?
Цена составляет $8900 за каждый production сервер, в год. Плюс development лицензия стоит $2225. Клиенту нужна минимум одна production и development лицензия.
Ого!
Да, и с таким подходом ценность намного понятнее для покупателей: они получают больше функциональности, они получают roadmap, они получают поддержку (support), которая может быть улучшена до платиновой.
Сколько клиентов у вас было до того, как вы представили Enterprise edition?
У нас было более 1.1 миллионов скачиваний продукта и нам известно о 110 тыс. работающих доменов, на которых сейчас работает Magento. Мы провели опрос и выявили 35 тыс. магазинов, занимающихся бизнесом.
Так что, получается у вас еще большой потенциал по продажам Enterprise-лицензий.
Да, обычно показатель эффективности составляет
Мне кажется, что не может быть так много магазинов в интернете.
Это один из самых быстрорастущих рынков в мире. США в этом лидируют, но Западная Европа не сильно отстает, Дальний Восток...
У вас есть партнерская программа с CRM-разработчиками, которые бы разрабатывали модели для Magento и продавали?
У нас есть Magento Connect, место для покупки-продажи расширений, где можно размещать как бесплатные, так и коммерческие расширения. Сейчас мы работаем над системой Magento Connect 2.0, которая позволит продавать расширения для Magento напрямую. Мы надеемся запустить ее к концу года. Сейчас коммерческие расширения размещаются не на сайте, размещается только ссылка, люди кликают ее и переходят на сайт расширения. Сейчас мы пытаемся перенести их в Magento Connect 2.0.
Это будет что-то типа Apple App Store?
Точно. У нас такая же идея: иметь одно централизованное место для расширений Magento с поддержкой по их подключению, обновления будут проходить через Magento Connect. Сейчас там уже больше 1000 расширений. Ну, а мы будем получать процент со всех продаж.
Это все платные расширения или есть и бесплатные?
Там где-то 50/50. Но нам ясно виден будущий рынок коммерческих расширений, многие компании уже разрабатывают темы и расширения, увеличивающие функциональность Magento. Мы знаем несколько компаний, которые сейчас занимаются только разработкой расширений для Magento и кастомизацией Magento для клиентов.
А ваша компания разрабатывает какие-то расширения?
Мы разрабатываем ядро, но кроме того создаем и некоторые расширения, нас наняли некоторые партнеры, например, дляPayment Gateway, Checkout by Amazon. Таким образом есть расширения ядра (core extensions), community расширения и коммерческие расширения.
У вас есть объяснение, почему именно Magento стал таким успешным? Вы же занимались простым консалтингом, как тысячи других компаний на протяжении
Прежде всего, это потому что у нас было имя в электронной коммерции. У нас был блог, у которого было 50 тыс. подписчиков, это был довольно большой блог для людей, занимающихся электронной коммерцией. Когда мы анонсировали Magento, еще до того как мы показали хотя бы строчку кода, у нас уже были последователи (followers) на сайте Magentocommunity, таким образом, buzz уже начался.
Вы анонсировали продукт еще до какого-то релиза?
Да, мы запустили сайт сообщества в мае, в то время как настоящая разработка началась позже. Очевидно была незанятая ниша в мире Open source e-commerce. Мы заполнили существующую пустоту. Еще одним фактором было сообщество, было много интереса от пользователей, интернет-мегазинов, e-commerce-сайтов. Если говорить о техническом уровне, мы выбрали Zend Framework для разработки Magento, это также вызвало много buzz-а. Когда мы приняли это решение, ZF был все еще бетой, но много людей начали за ним следить. И мы получили на сайте ZendFramework хорошое место рядом с компаниями типа IBM, Microsoft, много людей это увидело, и мы получили признание разработчиков, которые интересовались Magento.
Они просто следили, просто из любопытства сможете ли вы что-то построить на основе Zend?
Да, мы доказали это, показав часть кода и Zend решил сделать case study Magento. У нас, вероятно, самое большое приложение, которое использует Zend Framework, потому у многих разработчиков есть интерес к нам, они хотят посмотреть что мы делаем. Когда выходит релиз, мы получаем большой отклик тысяч участников сообщества. Сейчас у нас хороший продукт, он продолжает вызывать интерес и способен удовлетворять нужды людей.
У вас есть конкуренты, которые увидели эту же нишу что и вы?
У нас есть несколько конкурентов, некоторые из них даже не Open source. Одна компания из Германии перешла с закрытого кода на открытый, так как ее клиенты уходили к нам. Были другие решения, выпущены в одно время с нашим, но наш продукт получился наиболее интересным. Мы обогнали OS Commerce через несколько месяцев — по трафику, количеству поисковых запросов и стали лидирующим Open source проектом.
Вы считаете, что использование Open source модели было критичным для успеха? Ведь можно просто продавать код в zip, например.
На 100%. Быть Open source значит быть прозрачным для сообщества, показывать людям, что мы делаем, как мы делаем, потом давать код с возможностью изменять его — это основные факторы успеха Magento. И, я считаю, много компаний кроме нашей будут использовать такую модель. Есть успешные проекты типа Red Hat и MySQL.
Понятно, спасибо. Давайте теперь поговорим про украинский офис. Сколько у вас человек?
В Украине всего больше 50, в основном большинство здесь, в Киеве, есть в Днепропетровске офис, и несколько человек, работающих удаленно в Николаеве и Тернополе.
Это практически все разработчики?
У нас полный цикл разработки, проджект-менеджеры, HTML-дизайнеры, тестировщики — все здесь есть.
Компанией владеют только американцы или же какая-то доля есть у украинских разработчиков? Иными словами, есть ли какие-то схеми мотивациии, помимо просто зарплаты.
Владеют компанией только американцы. Наша мотивация — зарплата.
Как у вас вообще происходит планирование и релизы, выбираются приоритеты?
Не вся компания занимается исключительно разработкой системы Magento. В компании есть несколько отделов по направлениям, у нас есть отдел core, то есть это фактически те люди, которые занимаются разработкой системы Magento, выпуском новых версий Community edition и Enterprise edition. Есть еще отдел professional services, который занимается работой с крупными клиентами, которые покупают продукт у нас, чтобы мы сделали им дополнительную функциональность Magento. Мы предлагаем услугу полного цикла.
В каком отношении эти две части (core и не-core)?
Где-то 50/50. Трудно сказать точный процент, потому то у нас есть еще support кроме всего прочего, там опять же есть свои разработчики, тестеры, менеджеры и так далее.
наши junior-ы в другой компании где-то вполне могут быть если не senior-ами, то middle-ми точно
А по уровню? Есть у нас, например, junior-ы в компании или вы берете только senior-ов?
Это зависит от того, кого называть junior-ом, дело в том, что мы разрабатываем на PHP, junior PHP в общем понимании это «человек, который слышал про PHP». У нас есть свои junior-ы, но я думаю, наши junior-ы в другой компании где-то вполне могут быть если не senior-ами, то middle-ми точно.
А тестирование, есть у вас модульное, функциональное, как процесс разработки построен? Agile может?
Мы не используем agile, хотя, в принципе, наш процесс довольно похож на agile. У нас есть, собственно говоря, productowner-ы, в терминологии agile, вот для Magento core это в основном Йоав, который выдвигает какие-то требования, можно сказать user-stories, которые обсуждаются потом с менеджерами проекта, а потом дальше обсуждаются с разработчиками и тестерами. Мы не ведем никаких backlog-ов, не строим графики. Мы считаем, что следование каждой букве какой-то рекомендуемой практики — это не очень хорошая идея. Можно взять хорошее из одной практики, из другой, и идти по такому пути, который больше всего подходит именно нам.
Что происходит с зарплатами у вас в компании? По нашим исследованиям junior-ам сложно найти работу, их зарплаты упали, а у senior-ов не упали.
Зарплаты у нас не снижались, зарплаты только растут, и сама компания только растет, мы набираем людей. Основная проблема у нас не в том, что мы деньги не можем платить, а в том, что трудно найти толковых людей. Как только мы находим толкового человека, у него путь только один — работать с нами:)
PHP — язык, на котором многие начинают, но немногие действительно достигают серьезного уровня.
У нас еще есть специфика языка, PHP — язык, на котором многие начинают, но немногие действительно достигают серьезного уровня. Еще важно что человек считает себя senior-ом, а когда он приходит, он не может спуститься с уровня senior-а и начать делать регулярную работу, не может переключиться.
Как вы вообще определяете, что значит «senior»?
У нас нет уровней, есть человек, который умеет делать работу, и который не умеет делать работу. На собеседования приходят люди разные, приходят некоторые, которые с PHP работали последние 2 или 3 года, и последний год был самым крутым среди программистов своей компании. Но это не показатель еще того, что человек действительно знает PHP. PHP — язык очень просто для того, чтобы в него войти, но если в него войти, то там очень много чего нужно знать и использовать.
Сейчас стало проще найти людей или все не меняется?
С кризисом было немного проще, в других компаниях, была паника, но люди уходили не senior-ы, если привязываться к классификации, то есть среднего уровня и пришел вал резюме от junior-ов. А мы всегда ищем людей с достаточным опытом и хорошими мозгами — таких всегда недостаток. Сейчас это тоже ощущается.
Вряд ли любая компания признается что они платят зарплату ниже рыночной. Так все-таки, какие зарплаты у вас? Сколько может получить толковый джуниор на старте, например?
У нас нет фиксированной сетки зарплат, действительно в каждом случае решаем сколько предложить человеку, учитывая его компетентность и его запросы. Толковый джуниор на старте может получить $1200–1300. Но это тот «джуниор», о которым мы говорили.
Расскажите о процессе интервью, как они построены?
На интервью мы просто беседуем с человеком. Все начинается с вопросов, их буквально несколько десятков — для того, чтобы формализовать то, что человек написал или забыл написать в резюме. Когда мы видим ответы на эти вопросы, нам проще с человеком говорить. Дольше мы проводим техническое собеседование. Обычно вопросы на знание языка PHP не задаем, мы не приглашаем людей, которые не знают язык. Нас больше интересует практический опыт работы — знание ООП, паттернов проектирования, умение работать с AJAX-ом, у нас нет каких-то специфических требований типа «ты должен работать с Dojo». У нас — Работал ты с AJAX-ом? — Да работал. — С какой библиотекой? — Вот с такой-то. — Напиши ее плюсы, минусы и что ты с ней делал.
То же самое с PHP. Не работал с Zend фреймворком, работал с CodeIgniter или с чем-то другим, опиши, что умел делать, что строил, знаешь, что такое MVC, как строятся
Задача собеседования — определить технический уровень, у нас есть важные аспекты, на которые мы обращаем внимание, то есть что применяется у нас. Один из самых важных фактором понимать ход мысли человека.
Примеры кода не просите?
Иногда просим — когда какие-то спорные моменты. Иногда бывает, спрашиваешь у человека вопрос, а он отвечает, но непонятно, он действительно не знает чего-то, либо он растерялся, не может полно это описать.
Почему вы не соберете всех разработчиков в Киеве? Это же эффективнее с точки зрения рабочего процесса.
Исторически сложилось так, что есть удаленные разработчики. Всех, кого могли — переманили.:) Но не все хотят переезжать в Киев. А Днепр был осознанным выбором — чтобы набирать людей при необходимости в двух городах, и эффективность при этом нормальная — там есть свой менеджмент.
У вас есть сайт varien.com.ua, на русском. И даже статьи какие-то на нем. Зачем он вам?
Мы не продаем Magento в СНГ, цель этого сайта чтобы разработчикам было легче, чтобы они какие-то новости и какие-то технические статьи на русском читали. У нас на magentocommerce.com форум многонациональный, наибольшей активностью пользуется английский немецкий и французский, но есть и русский раздел, есть даже украинский, там люди пишут и задают много вопросов. Но форум это не всегда самый подходящий формат для общения. А на varien.com.ua мы пытаемся давать именно статьи наших разработчиков, писать о технологиях, которые мы используем, о самой Magento, как она устроена и так далее. Чтобы люди знали, куда они идут даже на интервью.
Спасибо за интервью.
129 коментарів
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.