«Мои подчиненные разбираются в своих направлениях лучше меня. Как руководитель я должен организовать слаженную работу всех команд, чтобы они максимально использовали свои сильные стороны», – говорит Михаил Горишный, Head of Engineering в Favbet Tech, которая разрабатывает и поддерживает гемблинговую онлайн-платформу.
В партнерском материале с Favbet Tech Михаил Горишный рассказал, как устроена работа команды, для чего используют платформу Flutter и почему не всегда следует подражать подходу к организации работы в известных компаниях.
Содержание
Как организована работа команды и какие технологии используют
«Организация команд у нас построена в виде стримов: это платежный стрим, казино, стрим, занимающийся программами лояльности, кор-стрим и так далее», – говорит Михаил Горишный.
Каждый из таких стримов отвечает за определенное направление. Например, кор-стрим – это разработка для компании, внутренние сервисы, нотификационный сервис, интеграционные и так далее.
Для разработки в Favbet Tech используют разные технологии, как популярные, так и не очень распространенные. Например, для нативных приложений приложение, разработанное для конкретной платформы (iOS или Android) с учетом специфики этой платформы и с доступом ко всем ее ресурсам используют Swift, Kotlin, Java, а также фреймворк Flutter. Он позволяет писать на iOS и на Android на одном языке программирования. «Это очень удобно: практически вдвое сокращает время разработки, потому что не нужно писать два варианта для разных платформ, – говорит Михаил. – У нас уже есть рабочие версии продуктов на Flutter, и они прибыльные. Планируем полностью на него перейти».
Также в компании стали использовать PactFlow для контрактного тестирования. Это, в сущности, быстрые тесты, их легко написать, легко проверить. Они закрывают базовый уровень проверки интеграции между сервисами.
«Что у нас точно редкое в технологиях – язык программирования Erlang», – делится Михаил. Erlang используется на сервисах с очень высокими нагрузками, и этот язык уже очень эффективно себя показал.
Но есть и минус – тяжело найти специалистов в такой сфере. Поэтому в Favbet Tech периодически проводят обучение, после которого часть учеников начинают работу в компании. Раньше оно было бесплатным, сейчас ввели символическую оплату, чтобы отсеять тех, кто не слишком мотивирован.
Прорывные решения в технологической компании
«Очень легко прийти в проект, который только стартовал или работает плохо, и ввести прорывное решение, но, поскольку Favbet Tech уже давно на рынке, инновации для нас уже стали стандартом. Мы не внедряем их осторожно – у нас они уже интегрированы на самом высоком уровне, и новые инновации для нас не являются чем-то чрезвычайным, а скорее естественным продолжением нашей стратегии развития».
Head of Engineering приводит пример: у компании есть интеграции провайдеров игр (это как интеграция со сторонней платежной системой), которые функционируют в обычном режиме без прорывных решений.
Но если сравнить с тем, как эти интеграции работали раньше, то можно увидеть удивительный прогресс: если раньше одна интеграция занимала два-три месяца, то сейчас это от нескольких часов до недели. И при этом сам сервис стал намного сложнее и выдерживает в десятки раз большую нагрузку. «Вот здесь можно сказать, что это прорывные решения, но для этого была проделана большая работа», – говорит Михаил.
Как в компании внедряют новые решения и сервисы
«Сейчас трудно сказать, какая технология будет суперпрорывной (кроме ИИ, конечно), которая сможет радикально изменить все», – говорит Михаил. Но в компании следят за изменениями, пробуют новые технологии и тестируют разные подходы к разработке.
Когда в Favbet Tech вводят что-то новое, начинают действовать специальные команды, которые тестируют идеи. Если начальник считает, что определенная разработка что подход будут прибыльными, то команда платформы либо кор-команда начинает разработку. А затем, в зависимости от результата, либо презентуют другим командам и начинают постепенно вводить подход, либо отказываются от идеи.
В такой команде тестирования сейчас четыре человека, в нее вошли профессионалы-новаторы, которые пишут на разных языках программирования. «По сути, это наш внутренний R&D», – добавляет Михаил.
Тестирование технологий: что делать, если выбрали неудачную
В Favbet Tech считают, что главное – вовремя понять, что технология не подходит для выполнения задачи. «Бывает, что мы ошибаемся сначала, но главное – проанализировать и понять, что делать: изменить что-то или вообще отказаться от технологии, – рассказывает Михаил. – Это может быть болезненно, но на самом деле, если у вас очень много таких направлений, это нормальная рабочая ситуация».
Михаил рассказывает, как в компании делали Nginx proxyмощный веб- и proxy-cервер , и тогда нужно было дописать кастомный код. Его писали на языке Lua, и продукт работал. Но в итоге решили, что в будущем этот проект будет очень дорого поддерживать. Писать на нем нелегко, а разработчиков, знающих этот язык, достаточно мало. Потому продукт перевели на язык Go.
Могут требоваться изменения и подходы к работе. Когда команды начинают разрабатывать определенный проект, сначала собирают все требования. Иногда на это уходит слишком много времени и разработка начинается в процессе сбора.
«В конце мы видим, что, по сути, мы должны собрать что-то вроде космического корабля»
В таких ситуациях процесс разработки затягивается: разработчики устают, не видят результат своей работы. Бизнес должен долго ждать результатов, и все недовольны.
«Сейчас мы изменили подход к таким ситуациям», – рассказывает Михаил.
Теперь разработчики пытаются сначала сделать пробный продукт и сразу запустить его в продакшен, а потом доделывать необходимые функции. Это удобнее и для разработчиков, и для бизнеса – он быстрее получает результат, который можно использовать.
Михаил рассказывает кейс, когда заказчики хотели получить систему нотификаций по риск-менеджменту. Она должна быть сложной, с легкой настройкой и огромным выбором параметров. В компании понимали, что это слишком много работы. Поэтому пообщались с бизнесом и выделили те функции, которые были самыми актуальными и могли бы закрыть 95% важных запросов. Разработка заняла пару дней, и уже через две недели проект оказался на продакшене. Бизнес получил рабочую систему, благодаря которой смог закрывать важнейшие запросы, и уже имеет профит. Команда Favbet Tech продолжила разработку дополнительных функций.
Как следить за изменениями в технологиях и подходах
Что касается подходов, Михаил советует обращать внимание не на то, что сейчас модно, а на те варианты и подходы, которые будут полезны именно вам. Стоит использовать подход, когда команда быстрыми итерациями разрабатывает код и быстро создает рабочую версию продукта.
Сейчас вызовом компании Favbet Tech является работа с очень большими потоками данных. Поэтому, чтобы системы выдерживали нагрузку, их постоянно усовершенствуют. Для этого работают с оптимизацией «на упреждение»: рассчитывают на работу с объемами больше пиковых в два-три раза.
Работают в Favbet Tech и с автоматизацией для ускорения работы. «Сейчас тестируем Temporal для автоматизации наших flow-процессов», – делится Михаил.
Чтобы быть в курсе новых технологий и полезных инноваций, Михаил советует следующее:
- Прислушиваться к сотрудникам и их предложениям.Делиться идеями с другими людьми и регулярно обсуждать их на встречах. Если решили, что стоит попробовать новую идею – не медлить с реализацией.
- Читать и общаться с другими специалистамив нужной нише, которые работают в известных компаниях, в том числе международных.
- Читать блоги топовых компаний, узнавать, как решают технические вопросы, например,Uber или Netflix.
Но всегда следует помнить о критическом мышлении. Не все, что подходит другим компаниям, будет идеальным решением для вашего. Следует проанализировать, почему выбрали именно тот подход, который использует компания, и критически оценить, будет ли он работать для вашего бизнеса.
Подход «Это использует Netflix, поэтому это нам нужно» может быть провальным, волшебной палочки не существует. У меня есть пример, когда некоторые компании начали заимствовать подход к организационным вопросам у Spotify, а через некоторое время Spotify написал, что отказался от него, потому что нашел более действенный. Поэтому главное – четко понимать потребности вашего бизнеса.
Визуальное оформление статьи осуществлено командой ITC.UA
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: