50
Рейтинг
OZON: life in tech
e-commerce, где есть примерно всё
19 мая

Почему он: 5 вопросов преподавателям школы Ozon Go

Блог компании OZON: life in techGoРазработка под e-commerce
image

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

О чем мы спросили


  1. Как давно ты пишешь на Go?
  2. Чем для тебя интересен/отличается от других этот язык?
  3. Какой самый большой/интересный проект ты писал на Go?
  4. Для каких задач лучше всего подходит язык?
  5. О чем ты рассказываешь на курсе?
  6. Бонусный вопрос: Почему стоит изучать Go?

Юрий Неудачин, отдел разработки «Главная страница, разделы и базовые сервисы»


image1. Как давно ты пишешь на Go?
На Go пишу ровно 5 лет, до этого порядка 8 лет писал на PHP, еще набегами на JS, Python порядка года. В школе 2 года активно писал на Pascal, даже успел сделать полноценный графический тетрис в 11 классе.

2. Чем для тебя интересен/отличается от других этот язык?
Я бы не сказал, что язык чем-то особенный, но если сравнивать с PHP, отличий довольно много. Во-первых, для меня было интересно позаниматься многопоточностью и всем, что с этим связано. Во-вторых, именно здесь я в полной мере раскрыл возможности гибкой архитектуры, основанной на интерфейсах и мелких модулях/кирпичиках. И наконец, поддержка множества библиотек, микросервисный подход и возможность писать так же быстро, как на слаботипизированных языках.

3. Какой самый большой/интересный проект ты писал на Go?
На Go я начал писать в Lazada (южноазиатский e-commerce, который позже купил Alibaba) и весь накопленный там опыт применил в Ozon. В итоге получилось создать сердце сайта Ozon, связующий все команды проект Composer. Такое название приросло к нему, поскольку он как композитор управляет совместной работой множества виджетов различных команд, сводя работу вертикальных команд к минимуму. Через систему управления этим продуктом можно создавать любые страницы сайта, но это не система управления контентом (CMS), а скорее шаблонизатор. В некотором смысле шаблоны с виджетами можно воспринимать как мета-программирование, ведь у вас в распоряжении if, tryCatch, pagination и тд. Через нас проходит весь трафик сайта Ozon.

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

5. О чем ты рассказываешь на курсе?
На курсе я планирую рассказать о том, что ждет будущих сотрудников Ozon. Почему под моим руководством родился проект Composer, как было до него, как подобные задачи решаются другими подходами, например, всем известным MVC. Однако в масштабе Озона другие решения уже не так эффективны. Здесь вы узнаете детали проекта и множество приемов, решающих непростые задачи больших проектов.

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

6. Почему стоит изучать Go?
Если вы хотите присоединиться к одному из самых активных комьюнити в мире разработки, быть востребованным на рынке, делать крутые штуки и чувствовать гордость за проделанную работу, то вам по пути с Ozon и Go.

Маша Поспелова, группа разработки «Сортировка на фулфилмент-фабриках и в сортировочных центрах»


image 1. Как давно ты пишешь на Go?
С тех пор как пришла в Озон — 5 месяцев, до этого писала на С/С++, Perl, немного Python.

2. Чем для тебя интересен/отличается от других этот язык?
Мне очень импонирует подход, в основе которого простота и недвусмысленность в разработке. Авторы строго контролируют все расширения языка, стремясь избежать избыточности. С одной стороны, стандарт накладывает множество ограничений, навязывая конретный подход к ведению разработки, с другой стороны, подобная однозначность решает многие проблемы

3. Какой самый большой/интересный проект ты писал на Go?
Наверное, самый интересный проект, над которым мне довелось поработать, это сервис доступности товаров, обслуживающий около 10 000 реквестов в секунду, который показывает, какие товары и с какой фулфилмент-фабрики доступны для заказа конкретному пользователю в его населенном пункте. Это тот не слишком частый случай, когда можно применить все знания тонкостей реализации языка, занимаясь оптимизацией, кроме того, под такой нагрузкой можно наблюдать много интересных эффектов — благо Go представляет массу любопытной информации о состоянии рантайма.

4. Для каких задач лучше всего подходит язык?
Я бы сказала, что для простых, небольших сервисов. На мой взгляд Go довольно скуп на средства организации кода крупных проектов с большим количеством сущностей и функционала.

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

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

Владимир Сердюков, группа разработки «Личный кабинет»


image1. Как давно ты пишешь на Go?
Уже 1.5 года

2. Чем для тебя интересен/отличается от других этот язык?
Язык простой, быстро компилируется, работает на всех популярных платформах, кроме того, у Go есть встроенный линтер и fmt.

3. Какой самый большой/интересный проект ты писал на Go?
Самый большой проект — карта пунктов выдачи заказов, которых у Ozon больше 6 тысяч. Много асинхронных запросов и жесткие требования по производительности.

4. Для каких задач лучше всего подходит язык?
Go хорошо подходит для задач, не связанных с пользовательским UI (backend)

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

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

Дмитрий Кулагин, группа разработки финансовых сервисов


image1. Как давно ты пишешь на Go?
1 год. До этого на PHP лет 5 кодил, немного скрипты на Python писал

2. Чем для тебя интересен/отличается от других этот язык?
Он со статической типизацией, компилируемый, сильно похож на C, и у него большое крутое сообщество.

3. Какой самый большой/интересный проект ты писал на Go?
Классические баллы Ozon.

4. Для каких задач лучше всего подходит язык?
Распараллелить выгрузку из базы, создать консольную программу, которая что-то быстро щёлкает, и, конечно, микросервисы; демоны

5. О чем ты рассказываешь на курсе?
О том, как перейти со своего языка на Go в Ozon.

6. Почему стоит изучать Go?

  • Он простой как 5 копеек;
  • он быстрее и меньше жрет [ОЗУ] чем PHP;
  • у него есть вся инфраструктура, чтобы тюнить и параллелить;
  • вы полюбите писать unit-тесты, а возможно будете дебажить функцию прямо в тесте как я;
  • на нем сложно написать спагетти-код. У Go есть много механизмов (например, линтеры), которые будут бить по рукам за лапшу. Первый из них — компилятор
  • в нем нужно писать меньше скобочек, а про точку с запятой можно забыть;
  • будете больше думать о бизнес-логике, чем куда положить этот кусок кода.

Если вы готовы осваивать Go вместе с одной из самых больших Golang-команд в России — почитать подробнее о школе Ozon Go и оставить заявку можно здесь. А для тех, кто Go (или C#.Net) уже в освоил в совершенстве, у нас есть реферальная программа с возможностью заработать 100 000 рублей за успешную рекомендацию. В общем, увидимся в Ozon – пока онлайн, конечно)
Теги:goozon.ruобучение программированию
Хабы: Блог компании OZON: life in tech Go Разработка под e-commerce
-4
3,9k 10
Комментарии 15
Похожие публикации
Лучшие публикации за сутки
Информация
Дата основания

1 декабря 1998

Местоположение

Россия

Сайт

www.ozon.ru

Численность

свыше 10 000 человек

Дата регистрации

3 декабря 2018