Привет, Хабр! Это первый пост конструктора сайтов Wix, сегодня мы расскажем о том, что представляет из себя наш продукт с технологической точки зрения, как работают наши инженеры и какие убеждения мы разделяем при разработке и деплойменте (который в Wix происходит каждые 7 минут).


Но обо всем по порядку.

Немного истории: как все начиналось
Легенда гласит:

Идея сделать инструмент, который облегчит процесс разработки сайтов, пришла сооснователям Wix на пляже: братья Авишай и Надав Абраами, а также Гиора Каплан, за плечами которых уже было несколько успешных IT-проектов, во время создания сайта для своего нового стартапа поняли, что даже для них это слишком сложная работа. Коллеги решили создать проект, который превратит этот процесс в простой и интуитивно понятный и избавит от необходимости нанимать дизайнеров и программистов.

Изначально, в 2006 году, фаундеры получили инвестиции на создание другого проекта. Они вернулись к инвесторам и сказали: «Вместо этого, мы будем делать простой и понятный облачный конструктор сайтов». Инвесторы согласились, так родился Wix.

Запуск flash-редактора состоялся в 2008 году, а уже в 2009 аудитория Wix насчитывала миллион пользователей. Кстати, на русский Wix был переведен в 2012 году.

Wix – это простая и понятная онлайн-платформа для создания сайтов. В R&D-департаменте компании Wix мы разрабатываем облачные веб-сервисы, которые обеспечивают онлайн-представительства более 80 миллионов пользователей в 190 странах. Чтобы поддерживать такую инфраструктуру, 350 инженеров-программистов работают с технологиями Scala, Node, React, Angular; облачными платформами (Google, Amazon и Azure) и передовыми методологиями, такими как Continuous delivery и TDD (Test Driven Development).

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

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

Как мы работаем


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


Собаки, наконец: буквально каждый день кто-нибудь из коллег приходит в офис с собакой! Более того, недавно в нашей внутренней сети коллеги запустили приложение, которое позволило бы владельцам собак планировать приход любимцев в офис. Если вы знаете, что ваш Джеки не ладит с таксой из отдела дизайна, вы можете проверить календарь и, к примеру, решить оставить питомца дома. Или позвонить дизайнеру и попросить его сегодня прийти без таксы. А завтра вы поменяетесь.


В общем, мы, как и большинство жителей Тель-Авива, слишком любим собак (даже в офисе).

О цикле разработки


Основной метод нашей работы – это разработка через тестирование (Test Driven Development или просто TDD). TDD позволяет нам писать чистый, поддерживаемый, легко читаемый и заменяемый код.

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

Более того, каждый разработчик может разместить свой код на боевом сервере. За 2015 год у нас было 17 тысяч деплойментов. Поэтому разработчики пользуются абсолютной свободой, несут полную ответственность и пишут код, который легко читать, менять и поддерживать.

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

Хочешь узнать что-то новое? Поделись своим знанием


Мы также любим рассказывать о том, что мы делаем, делиться информацией о проектах, процессах и продуктах, над которыми мы работаем. В нашей MeetUp-группе «Wix Engineering» уже свыше 3500 участников из израильского сообщества, и их число постоянно растет. Конечно, мы принимаем участие и во встречах, которые организовывают другие группы, и часто выступаем с докладами не только в Израиле, но и на Qcon, ngconf, WebSummit, build stuff и других конференциях программистов в Европе и США.

В следующих постах мы расскажем вам больше интересных историй о том, как устроена разработка в Wix. Например, в планах материал про масштабирование до 100 миллионов пользователей. А пока поделитесь в комментариях, о чем вы хотели бы спросить нас подробнее?

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


  1. Subrisk
    16.03.2016 16:06
    +1

    Ох, сколько же к вам вопросов по Wix! Но начну с другого. Вы пишете про TDD, не расскажете вкратце, что именно разрабатывается с использованием TDD, как обходите вопросы безопасности? И ещё — TDD это почти всегда довольно долго. Как удаётся выпускать такие частые релизы? Честно говоря, сложно представить быстрый продакшен в условиях разработки через тестирование.


    1. Wix_engineering
      16.03.2016 16:11

      Мы будем рады ответить на вопросы!
      В той или иной степени весь наш блог будет посвящен TDD, stay tuned.


  1. ustasby
    16.03.2016 16:39
    -5

    В Сочи офиса нет, а ведь вроде все есть, и море, и горы, и лыжи. Про Олимпийский вообще молчу, куча соревнований, формула, концерты.


  1. serginho
    16.03.2016 16:48

    Зашел на сайт, выбрал шаблон, добавил виджет с комментариями. Виджет завис.



    1. Wix_engineering
      16.03.2016 16:58

      Саппорт встроен прямо в редактор, напишите, пожалуйста, баг-репорт нашей службе поддержки.


  1. Anastasia_Kosheleva
    16.03.2016 16:51

    Хороший у вас вид!


  1. Don_Eric
    16.03.2016 17:19
    +2

    react или ангуляр? azure или амазон?


    1. Don_Eric
      16.03.2016 17:21
      +1

      смысл вопроса том, зачем надо смешивать похожие технологии?


      1. biziwalker
        16.03.2016 18:34
        +1

        Всетаки react и angular немного разные ниши имеют: react это представление (V) в MVC, а angular более полноценный MVC фреймворк. Смысл смешивать имеется для первой версии angular: в итоге получаем изоморфность представления без использования серверных браузеров типа phanthomjs. Во второй версии angular это уже менее актуально.


        1. Don_Eric
          16.03.2016 19:07

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


    1. fxposter
      16.03.2016 23:10
      +1

      И React и Angular. И ES6 и Typescript. И AWS и GCE.

      Разные задачи — разные технологии и системы. Кое-что осталось из недалекого прошлого (например, когда React-а еще не было на горизонте). Кое-что просто "пробовали" и очень понравилось, и расползлось по разным командам.


      1. Don_Eric
        17.03.2016 10:55

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


  1. stalkerg
    16.03.2016 18:27
    -2

    Вильнюс? А у меня вид на жительства там аннулировали. :(


  1. uscr
    17.03.2016 09:42

    Размещал у вас резюме. Очень понравилось. Непонятно только, почему вы не даете повесить сайтик на домен без www?


  1. negus
    17.03.2016 13:32

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