Технологический центр Deutsche Bank известен своими носителями Java: Руслан Черемин И Алексей Рагозин давно выступаем на конференциях, выбирая темы для докладов далеко не самые доступные, и оба лидируют технический блог .
Deutsche Bank принял участие в Joker 2016, и мы использовали это как возможность задать Черёмину и Рагозину несколько вопросов.
Руслан Черемин (старший разработчик)
— Обычно о вас знают просто как «он из Deutsche» — но можете ли вы рассказать нам о том, чем именно вы там занимаетесь и как именно (например, какими инструментами пользуетесь)? — Мы занимаемся валютным рынком.
В частности, команда, в которой я работаю, занимается формированием цен на валютные инструменты — мы собираем информацию со многих рынков, применяем к ней особую магию и решаем, по какой цене Deutsche Bank теперь готов торговать именно этой валютой со своими клиентами.
.
Ничего особенного среди инструментов у нас здесь нет: у Deutsche Bank есть лицензия на IDEA, хотя некоторые специалисты по привычке до сих пор занимаются разработкой в Eclipse. Для сборки мы используем Maven и Ant, соседние команды используют Gradle. — В «Без слайдов» вы говорили «оказалось, что Дойче Банку просто нужен такой специалист, как я» — что именно означало «кто-то вроде тебя», в чем конкретно заключалась актуальность роли? — В тот момент моя нынешняя команда собиралась переписать сервер ценообразования с нуля — с Disruptor и прочими ухищрениями.
У них была вакансия человека, который будет основным разработчиком этого нового сервера и с его помощью добьется новых красивых цифр латентности.
И вот я с отчет по поводу Disruptor, а я как раз собираюсь уйти из Яндекса и меня очень интересует возможность работать в домене с низкой задержкой.
В процессе подготовки к конференции мы познакомились с Володей Долженко, благодаря которому я в итоге и попал в Deutsche. — Расскажите для тех, кто далек от банковской сферы: какая специфика разработки Java в таком месте, как Техцентр Дойче Банка, отличает ее от Java-разработки в целом? Повышенные требования к надежности? — Конечно, требования к надежности у нас, конечно, выше, чем у среднего предприятия, но все же мы здесь не шаттлы запускаем — ничего заоблачного нет. Надежность в основном обеспечивается избыточностью: например, из двух десятков источников данных, которые прослушивает наш сервер, в каждый конкретный момент реально используются только пять — очевидно, самого высокого качества.
Остальные просто есть в наличии на замену; если вдруг замолчит качественный источник, то перед нами менее качественный, но все равно рабочий.
И это избыточность на многих уровнях.
Особенностью банковского сектора является то, что он строго регулируется и проверяется.
Поэтому большая часть требований бизнеса направлена на удовлетворение потребностей аудиторов.
Например: мы сохраняем много информации о том, что происходит в наших системах, и храним ее практически вечно.
Например: значительная часть требований к надежности исходит не напрямую от нашего бизнеса, а исходит изначально от аудиторов/регуляторов (иногда эти требования выглядят довольно странно в контексте конкретного применения).
— На JPoint 2016 вы сказал по поводу эскейп-анализа - можете ли вы привести какой-то конкретный пример из своего опыта работы, как его знание помогло справиться с конкретной рабочей задачей? — Нет, не могу :) Это довольно недавнее исследование, и оно пока не нашло сколько-нибудь заметного применения в моей работе.
Наши наиболее критичные к производительности приложения были написаны еще во времена довольно старых версий Java и в них использовались гораздо более примитивные методы оптимизации.
А переписать то, что просто и надежно, во что-то модное и молодежное только потому, что это модно и молодежно.
Жду новых проектов - возможно, там оно будет полезнее.
- Ладно, это слишком недавно - и в случае с такой темой, как Модель памяти Java, которая обсуждалась отчет в 2013 году есть конкретные случаи «вот тут помогло»? - Да, те самые слабые кэши Мы используем их во многих местах нашего кода и помогаем снизить нагрузку на GC. В горячих точках у нас есть параллельные карты или буферы, специализированные для конкретного сценария.
В целом знание JMM — вспомогательный навык; его основное предназначение — отфильтровывать заведомо неправильные решения.
В большинстве случаев я ищу решение, подходящее с точки зрения функциональности, дизайна, производительности — а модель памяти выступает в роли фильтра, отсеивающего идеи, трудно реализуемые в многопоточных условиях, и наоборот, предлагающего проверенные временем решения.
многопоточные шаблоны.
Есть очень мало трюков, подобных безобидной гонке.
Б О Большая часть практического применения JMM заключается в том, чтобы не делать ничего глупого и сохранять простоту.
Алексей Рагозин (архитектор решений)
— Вы достаточно «хардкорный» специалист. Подходит ли вам Дойче Банк, потому что там много подходящих задач? — По его меркам я не претендую на «хардкор».
В RTC есть команды, которые решают задачи в категории сверхмалых задержек, вот где «хардкор».
Но Deutsche меня действительно привлекает тем, что очень часто мне приходится решать проблемы, для которых еще нет «стандартных» решений в отрасли.
Я бы сказал, что если вы заинтересованы в работе над определенными технологиями (например, сеткой данных в памяти), Техцентр Дойче Банка — чуть ли не единственное место.
— У вас достаточно активная общественная деятельность: вы много раз выступали на конференциях, владеете английским языком.
блог .
Какова ваша основная мотивация сделать это? — Помимо блога и конференций, я долгое время преподавал курсы второго высшего образования в МГТУ.
Баумана, и сейчас веду два курса в Java-школа наш технологический центр.
Но возвращаясь к вопросу, главная цель – расширить круг общения и обмен мнениями.
Выступления и статьи в блогах вызывают отклик у читателей/слушателей, и очень часто я узнаю что-то новое.
— Меня интересует школа Java: какие там два курса? — Один посвящен профилированию Java-приложений, другой — сбору мусора.
Аналогично двум моим отчетам о JPoint. — Иногда считается, что самообразования достаточно: мол, на StackOverflow можно найти любой ответ. Почему школа Java? Что это дает вам такого, чего вы не можете найти в Google? — Школа дает очень многое.
Грубо говоря, пока человек не поймет проблему, он не сможет правильно задать вопрос.
И соответственно, он не может найти ответ на StackOverflow. Это порочный круг.
Поэтому многие инженерные проблемы требуют некоторой «академической» подготовки, прежде чем человек сможет самостоятельно искать решение конкретной проблемы, используя общедоступные ресурсы.
И это справедливо не только для узких технических тем вроде настройки JVM, но и для совсем других.
Никакой StackOverflow не научит вас правильно использовать сложный фреймворк или проектировать архитектуру приложения.
Напоследок вот доклады, которые Черемин и Рагозин выступали в последние годы на конференциях JUG.ru Group: Теги: #java #банковское дело #Руслан Черемин #Технологический центр Дойче Банка #Алексей Рагозин
-
Кодовое Имя Visual Studio Orcas
19 Oct, 24 -
Маркетинг В Telegram На Узбекском Языке
19 Oct, 24 -
Top4Top – Новая Стратегия?
19 Oct, 24 -
Набор Сниппетов Для Работы С Jquery.
19 Oct, 24 -
История Создания Fermer.mobi
19 Oct, 24