Position

Senior C++ developer,
Remote Russia

Location


Remote Russia

Office Address


Project Description


Наша agile-команда создает информационную платформу для Департамента Глобальных Рынков (Investment banking). ДГР - предоставляет корпоративным и розничным клиентам широкий спектр продуктов и услуг на локальных и зарубежных финансовых рынках. Ключевые направления бизнеса - Fx trading, Commodities, Equity, Founding, Fixed Income, Rates, Credit Valuation Adjustment, Structured Products, Investment Banking.

Этот бизнес потребляет и порождает огромное количество данных, которые должны обрабатываться c целью:
• поддержки регулярных бизнес-операций
• проведения Ad hoc анализа
• подготовки регулярной аналитической / управленческой отчетности
• разработки моделей машинного обучения, направленных на решение широкого спектра прикладных задач прогнозирования, классификации, кластеризации, выявления поведенческих паттернов и отклонений от них, сентимент-анализ и т.д.

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

Текущий инструментальный стек платформы:
• Python-скрипты, Java
• Kafka, AirFlow
• MS SQL, PostgreSQL, InfluxDB, OneTick
• Grafana, Qlik Sense
• Python ML/DL libraries, PySpark, TensorFlow

Responsibilities


    Мы ищем Ведущего разработчика, имеющего как опыт управления командой, так и опыт (либо готового активно заниматься) с обработкой потоковых данных большого объёма и требующих вычислений в реальном времени (aka BigData)

    Присоединившись к нашей команде, вы бы помогли выстроить green-field решение по поставке рыночных данных (котировок) в режиме реального времени. В рамках решения потребуется создавать инструменты, позволяющие анализировать входные данные и генерить интеллектуальные сигналы-подсказки трэйдеру (интеллектуальные помощники), а также автоматизированным торговым алгоритмам

    Вас может заинтересовать наше предложение, если у вас за спиной есть опыт... :

    1) профессиональной, на реально высоком уровне, работы с С++.

    2) построения BigData решений или интересно прокачать себя в системах, занимающихся потоковой обработки финансовых данных с торговых площадок, видиостримминг, данных IoT устройств

    3) работы с продуктами, которые в основе своей используют time-series таких как InfluxDB, kdb+, OneTick;

    4) работы с реляционными базами данных, знаете SQL

    5) управления хотя бы небольшой командой и желание расширять навык лидерства

    C технической стороны, что мы ждем от кандидата :
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    - Linux: знание системных вызовов, функций и IPC. Знание ABI.
    - опыт написания сетевых, многопоточных приложений.
    - отличное понимание сетевой модели OSI.
    - SIMD.
    - понимание OOP/GoF/SOLID.
    - UML, практический опыт создания диаграмм.
    - практический опыт code review на двух и более проектах
    - отличное знание C++17 (advanced c++ topics)
    - опыт работы с системами контроля версий (git/svn/cvs).
    - опыт сборки проектов при помощи сmake или make
    - опыт разработки с boost
    - желательно иметь опыт использования conan или vcpkg.
    - использование компиляторов (clang/g++)
    - практический опыт отладки приложений (lldb/gdb)
    - практический опыт оптимизации приложений (perf/vtune)
    - практический опыт использования статических и динамических анализаторов
    - практический опыт тестирования написанного (google test + google mock, libfuzzer или afl, boost test/catch)
    - способность посчитать покрытие кода тестами.
    - практический опыт использования google benchmark
    - практический опыт работ с TSDB или RDBMS базами данных: написание запросов, создание схемы, администрирование.
    - опыт работы с jira/confluence.
    - готовность разбираться с TSDB в целом и спецификой OneTick

Skills


Must have

    1. Программирование
    a. Уверенный опыт разработки в С++ от 5 лет, включая работу по стандарту С++ 17
    b. Опыт в многопоточной (multi-threaded) разработке и/или потоковых (streaming) технологиях. Опыт использования стандартных очередей сообщений или потоковых данных - IBM MQ, Apache Qpid, Kafka
    2. Работа с сетью
    3. Базовый уровень владения и/или опыт работы с Базами данных (СУБД) (Microsoft SQL, Oracle, PostgreSQL и т.п. ).
    4. Базовый опыт владения ОС Linux, необходимо знать основные команды. Быть на уровне «уверенный пользователь».
    5. Базовый опыт (как минимум, явное стремление) управления командой

Nice to have

    1. Стандартные протоколы передачи финансовых данных FAST/FIX, etc
    2. Процессы сбора данных streaming и batch режимы загрузки данных - назначение и особенности использования
    3. СУБД и модели данных
    • Нормализованные и денормализованные модели данных назначение и принципиальные отличия
    • Индексы, партиционирование - какие бывают, примеры использования
    • Планы запросов, типы join-ов: nested loops, merge join, hash join. Чем отличаются
    • Опыт работы с нереляционной базой данных (а именно колоночной БД).
    4. DevOps
    • Фреймворки для ведения распределенной коллективной разработки - практика использования конкретных фреймворков - GitHub, BitBucket
    • Тестирование кода, регрессионное тестирование - что конкретно делается и как именно
    • Практика использования фреймворков для контроля за ходом проектных работ - Jira, Confluence

Languages


Russian: C2 Proficient

Seniority


Senior

Relocation package


If needed, we can help you with relocation process. Click here for more information.

Work Type


C/C++

Ref Number


VR-50421

Explore More

LoGeek Magazine
icon Logeek Luxoft
Learn more
Events
icon Events Luxoft
Learn more
Relocation Program
icon Relocation Luxoft
Learn more
Referral
Platform
icon Referral Luxoft
Learn more
Students
and Grads
icon Students Luxoft
Learn more

More job opportunities in
C/C++

Specialization Position / Title Location Seniority Send to a friend
C/C++ Senior C++ Developer Remote Russia, RU Senior
C/C++ Team Lead Remote Russia, RU Regular
C/C++ Software developer Remote Russia, RU Regular