Зачем Ozon более 200 новых Go-разработчиков

Онлайн-ритейлер с 20-летней историей набирает экспертов для трансформации в технологическую компанию.

Зачем Ozon более 200 новых Go-разработчиков

Ozon работает на рынке онлайн-ритейла 20 лет и весьма преуспел в клиентском сервисе и создании физической инфраструктуры для быстрой доставки — 40% заказов доставляются в течение суток. Но всё это время компания не ставила на первое место технологии: ИТ-отдел по размеру был сравним с колл-центром и в основном занимался поддержкой сайта.

В 2018 году акционеры — в том числе МТС и фонд Baring Vostok — инвестировали в Ozon несколько миллиардов рублей, чтобы силами новой команды топ-менеджеров сделать из старейшего российского онлайн-ритейлера технологическую компанию с перспективой выхода на зарубежные рынки. Ozon развивает 23 новых проекта, которые не могут быть успешными без сильной технологической базы.

Компания создала «лабораторию инноваций», где работают более 400 человек, и массово нанимает разработчиков, которые займутся реализацией планов.

От монолита к микросервисам

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

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

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

Для разработки микросервисной архитектуры и решений на её основе, Ozon нужны новые специалисты.

Над какими направлениями нужно будет работать

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

Магазин в магазине. Это направление продолжает предыдущее. Продавцы смогут открывать свои магазины на платформе Ozon и использовать логистическую систему компании.

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

Кроме того, Ozon работает над сервисами для доставки готовой еды, торговли фармацевтическими и скоропортящимися товарами, а также товарами повседневного спроса.

Всего компания готовит к запуску 23 проекта. Из-за этого увеличится нагрузка на склады, логистику, менеджмент и, как следствие, на ИТ-отдел.

В книге «Алиса в Зазеркалье» Чёрная королева говорит: «Здесь нужно бежать со всех ног, чтобы только оставаться на месте». Эта цитата идеально описывает электронную коммерцию и интернет-бизнес в целом.

Чтобы изменить Ozon, нам нужны две вещи: время и люди. Хоть и бежать нужно со всех ног, какое-то время у нас есть — мы понимаем, что за один день компанию не изменить. А вот люди нам нужны прямо сейчас. В первую очередь — Go-разработчики.

Антон Степаненко, директор по разработке платформы

Почему именно Go

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

В своей архитектуре Ozon использует Kubernetes и другие инструменты от Google, которые написаны в том числе на Go. Это позволяет не разрабатывать свои решения, а дорабатывать готовые. Кроме того, в инструментах для высоконагруженных систем есть адаптеры для Go.

Ещё одна важная причина — создание экосистемы на основе одного языка. Например, все продукты Alibaba построены на Java. Огромный ритейлер создаёт кастомные версии всех необходимых продуктов — вот, к чему стремится Ozon.

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

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

Выбор Go не значит, что мы не будем рассматривать разработчиков, которые знают другие языки. Мы понимаем, что необходимого Ozon количества Go-разработчиков на рынке не существует.

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

Антон Степаненко, директор по разработке платформы

Идеальный кандидат

Описанные ниже пункты — это пожелания, а не обязательные требования. Если человек не соответствует некоторым критериям, это не значит, что с ним не будут разговаривать.

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

  • Умение работать с базами данных. Неважно какими, главное — понимать основные принципы их устройства.

  • Опыт работы с Linux. Серверы Ozon основаны на этом семействе операционных систем, поэтому сотрудник должен уметь работать с терминалом ОС.

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

Что предлагает Ozon

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

Идеального сотрудника директор по разработке платформы Антон Степаненко готов на пару недель разместить у себя в кабинете.

Рабочее место в «Москва-Сити». Несколько десятков переговорных, MacBook или Dell, мониторы, частично компенсируемая парковка.

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

Сергей Федосенко,

руководитель группы бэкенд-разработчиков

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

Питание. Кухни с едой для перекусов есть на каждом этаже. Для тех, кто задержался в офисе, есть ужины с 20:00.

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

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

Отдых. В офисе есть вечерние занятия йогой, беговой клуб, теннисные столы. Сотрудники могут оформить корпоративную программу в фитнес клубы World Class, X-Fit и «5 элемент». В актовом зале проходят корпоративные мероприятия Crazy Fridays, митапы и лекции.

Партнёрские программы. Скидка на каршеринг BelkaCar, Mybook, Shelly, бонусы от «Райффайзенбанка» и «Сбербанка».

Конкурентная зарплата — выше рыночной.

Система управления Ozon построена без жёстких вертикалей власти. Есть иерархия, но только для аккумулирования знаний и структурирования процессов. Это нормально, когда разработчик предлагает сделать что-то иначе — мы стараемся выслушивать всех, а бюрократию держим на минимуме.

Конечно, есть Jira, тикеты, сроки. Но без учёта каждой минуты рабочего времени разработчика. В первую очередь нас интересует результат.

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

Антон Степаненко, директор по разработке платформы
1010
67 комментариев

Почему go?

4

быстрый [почти] как С, но проще
популярне, ччем Erlang
сложнее [в плане культуры и навыков инженеров], чем PHP/Ruby (я пыхер к слову)
относительно популярный и модный
многопоточный [привет NodeJS]

4

С памятью меньше заморочек. Ну и как-бы заточен под микросервисы.

2

Очередную "серебрянную пулю" пробуют. Видел уйму таких историй, по типу: новый тех. дир. или кто-то из высшего руководства и говорит: "наш YYY (некий язык программирования) говно, архитектура говно и всё надо переделать по уму, наладить девопс и микросервисы, перейти на язык XXX (вставить по вкусу)". Затем год-полтора идёт перестройка, все учат новые, прогрессивные языки и фреймворки, проходят ажаль-треннинги, резко бирюзовеют (привет сберджайлу) и т.п. А затем тех. дир уходит на новую поляну, на его смену приходит новый и всё начинается сначала: "ваш стек говно, архитектура говно и т.п."

9

В озоне прямо сейчас работают порядка сотни GO-разработчиков с более чем 3х летним опытом работы в Лазаде. А нагрузки в Лазаде были на порядки выше чем сейчас в озоне.
В 2015 году когда в рунете не было толком никого с опытом коммерческой разработки на го, вот тогда скепсис относительно выбора этого языка был еще более менее оправдан. И уже тогда мы в лазаде набрали сотню разработчиков без знания Го, и на месте обучали и учились сами.
Так что проблемы с наймом людей нет. Было бы желание, а желание у разработчиков таки есть, как показывает практика.
Ну а вы продолжайте острить.

4

бронзовеют в смысле?! (отсылка к статуям из бронзы)

1