Главная » Хабрахабр » Как устроена разработка в United Traders

Как устроена разработка в United Traders

Всем привет!

Немного обо мне можно узнать у меня в профиле. Меня зовут Алик Курдюков, я CTO компании United Traders. Поэтому теперь у нас есть блог на Хабре. В последнее время мы увеличиваем темпы набора IT людей в компанию и сталкиваемся с проблемой: нас многие знают как «Fin» компанию, но очень мало кто знает как «Tech».

И с удовольствием буду отвечать на вопросы в комментариях. В этом посте я хочу рассказать о том, как мы устроены со стороны разработки.

Мы разрабатываем программное обеспечение для трейдеров, веб-платформы, мобильные приложения, финансовые алгоритмы и свою биржу криптовалют. United Traders — fintech компания, создающая цифровые продукты для торгов на фондовом рынке (NYSE, NASDAQ, CME) и инвестиций (IPO, OTC и собственные инвестиционные продукты).

IT-команда отвечает за код для следующих цифровых продуктов экосистемы United Traders:

  • UTEX — криптовалютная биржа с адаптивным интерфейсом (начинающие/профессионалы).
  • UT Investment — инвестиционная веб-платформа с витриной эксклюзивных идей.
  • Aurora — платформа для торговли на различных биржах.
  • UT Magazine — информационный портал о трейдинге и финансах.
  • Answr — энциклопедия с оплатой работы авторов в криптовалюте.

Поэтому продуктовые команды «заточены» под гибкий итеративный подход. Мы работаем на динамичном рынке. Цикл итераций Scrum и каденций Kanban — 1 неделя.

Разработчики принимают участие в принятии продуктовых решений. Разработка тесно связана с бизнесом. Главное — результат, поэтому для оформившихся продуктов мы делаем подробные review всего кода, даже верстки и стараемся выделять время на рефакторинг и технические улучшения. Продуктовые команды работают в рамках HADI циклов.

Команда работает удаленно, распределена по России и ближнему зарубежью: Наша компания имеет плоскую структуру, сейчас непосредственным руководителем всех IT людей является CTO.

  • Москва
  • Санкт-Петербург
  • Комсомольск-на-Амуре
  • Калининград
  • Таганрог
  • Кишинев
  • Рязань
  • Коломна
  • Череповец
  • Мурманск
  • Таллин
  • Вильнюс
  • Минск
  • Витебск

Коммуникации осуществляются с помощью:

  • Slack как корпоративный чат,
  • JIRA и Trello в качестве трекеров.
  • Sococo как инструмент голосового и видеообщения, виртуальный офис.

Компания финансирует развитие сотрудников, приветствует выступления на конференциях и митапах (JPoint, Joker, HighLoad, РИТ++).

Все наши IT-люди ежедневно взаимодействуют друг с другом в небольших командах: У нас более 30 профессиональных разработчиков, тестировщиков, OPS-инженеров, дизайнеров, верстальщиков.

В основном используются Java и Kotlin. Platform
Развивает общие сервисы компании: прием платежей, внутренняя бухгалтерия, партнерская программа и т.п.

Над продуктом работают 2 команды: Команда Back, Команда Front. UTEX
Разрабатывает биржу для торговли криптовалютами. Используются Kotlin, Java, Erlang, Rust, React, Redux, Apollo.

Используются Kotlin и Java. Statements
Совершенствует систему отчетности по торговле и управлению торговыми параметрами.

Используется C#. Aurora
Работает над развитием клиентской торговой платформы Aurora, которая представлена серверами различного назначения, а также клиентским и менеджерским терминалами.

Инструменты: Ansible, OpenShift, PostgreSQL, Prometheus, Docker, CentOS. Operations
Основная задача OPS-инженеров — помогать DEV-командам в вопросах:
эксплуатации тестовых и боевых сред,
настройки и поддержки pipeline разработки от организации окружения разработки до выкатки.
Используются принципы DevOps.

Работают с интеграционными авто-тестами. Autotesting
Помогают командам разработки поддерживать высокий уровень качества. Инструменты: Spock, Spek, Allure.

UХ/UI дизайнеры
Исследуют предпочтения пользователей, создают дизайн для всех проектов разработки в UT, работают над usability.

Для взаимодействия микросервисов мы используем REST, gRPC, Kafka. Human Capital
Помогают привлекать людей, с которыми мы совпадаем по ценностям, и содействуют развитию команд разработки.
Архитектура, технологические стеки, практики
Архитектура всей нашей экосистемы строится на микросервисах со всеми их достоинствами и недостатками. Мы используем circuit breaker и прочие паттерны. У нас есть discovery, configuration service.

Наши стеки разработки:

  • JVM — Kotlin, Java8, Spring Boot2, Hibername, PostgeSQL
  • Frontend — TypeScript, React, Redux, ReduxSaga, Apollo GraphQL
  • .NET — C# 7, .NET Framework 4.7.1, WPF, Castle Windsor
  • Rust — Tokio, Actix
  • Erlang

Инженерные практики:

  • CI/CD делается на основе Jenkins и Ansible,
  • Для всех языков есть code style, обычно проверяется автоматически,
  • Есть обязательный code review для всех проектов кроме быстрых MVP,

У большинства проектов есть 3 уровня авто-тестов:

  • unit тесты для кода,
  • интеграционные тесты для запускаемых артефактов в изоляции,
  • системные тесты для групп артефактов — над этими тестами работают тестировщики и разработчики.

Например, за последний год мы начали использовать Rust, GraphQL, ClickHouse. Мы стараемся использовать новые технологии, если они могут помочь нам в решении задач, но новую технологию принято «продавать» команде.

У нас действует «Правило 30 минут»: если ты столкнулся со сложностью, которую не удается решить за полчаса — имеет смысл задать вопрос в Slack-чат команды, кто-нибудь поможет с решением или подскажет, куда копать. В UT мы привыкли не просто пилить задачи, но предлагать улучшения по ходу решения и задавать вопросы. И мы уверены, что тот, кто взялся за задачу обязательно её доделает.

В общем, у нас отличная команда, будем рады, если однажды вы окажетесь в ней, и с сегодняшнего для мы будем рассказывать, как делаем United Traders не просто финансовой, но финтех компанией.


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

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Как увидеть черную дыру?

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

Как Мегафон спалился на мобильных подписках

Уже давно как не смешные анекдоты ходят истории о платных мобильных подписках на IoT устройствах. С Пикабу Всем понятно, что без действий сотовых операторов эти подписки не обходятся. Но операторы сотовой связи упорно утверждают, что это абоненты лохи: оригинал Но ...