В наши дни, большинство бирж уже давно работают в электронном формате, а сделки совершаются не с помощью выкриков трейдеров из специальной ямы, а в пару кликов через интернет. Для организации торгов и участия в них используется передовой софт, железо, разрабатываются сложнейшие алгоритмы и оригинальные подходы к анализу и обработке данных.
Также в сфере финансов, обычно, весьма неплохие зарплаты. Все это приводит к тому, что эта отрасль стала привлекательной для многих IT-специалистов. Поговорим о том, какие специалисты сегодня востребованы, каким багажом знаний нужно обладать, чтобы получить здесь работу, что за проекты вам могут предложить.
Бонус: ссылки на реальные вакансии!
Распространенные языки программирования
Начнем с аспектов, связанных непосредственно с продуктами для биржевой торговли. Большая часть инфраструктуры бирж и брокерских компаний создается с помощью языка C++. Сам создатель языка Бьерн Страуструп (Bjarne Stroustrup) до сих пор работает в инвестбанке Morgan Stanley в должности директора по технологиям.
Созданный им инструмент применяется для создания самого разного софта – от библиотек для расчета ценовых моделей производных инструментов до модулей обработки потоков данных
Помимо C++, широко распространены C# и Java — с их помощью часто реализуют определенные части торговых приложений или фронтенд-сервисы финансовых компаний (например, GUI торговых терминалов).
Для описания торговых стратегий и прототипирования моделей применяют в том числе и скриптовые языки, вроде Python, MATLAB и R. Пользуются популярностью и скриптовые языки, которые могут быть даже встроены в торговые терминалы — как например язык TradeScript, с помощью которого торговых роботов можно писать прямо внутри терминала SMARTx.
Простая стратегия на TradeScript, записанная в окне торгового терминала
Разработчики со знанием этих языков всегда найдут себе интересные проекты в сфере финансов.
Помимо этого, согласно данным опросов, есть спрос на разработчиков Python — этот язык незаменим при создании аналитических инструментов и квантовых моделей. Помимо этого можно встретить проекты, в которых применяются технологии обработки данных вроде Hadoop, Cassandra и Scala.
Протоколы передачи данных
Разработчикам финансовых приложений не удастся обойтись только общеизвестным стеком технологий, придется столкнуться и со спецификой отрасли. Самое основное, что придется освоить – протоколы передачи финансовых данных.
Мы писали про те из них, что используются на российском рынке, цикл статей (один, два, три, четыре). Важно сказать, что часть из этих протоколов – международные стандарты, но есть и проприетарные протоколы, которые используют конкретные биржи и компании. Поэтому если вы планируете в будущем переехать на работу за границу, то там скорее всего придется знакомиться и с новыми протоколами – вроде ITCH и OUCH c американской Nasdaq.
Не только торговые приложения
В каждой компании свои требования, однако можно сформулировать и некоторые тренды в этом направлении. Специалистам по работе с инфраструктурой при переходе в сферу финансов не придется серьезно перестраиваться. Например, разработчикам систем бэк-офиса нужно уметь работать с популярными СУБД – на российском рынке популярна Oracle и, соответственно, язык PL/SQL, также часто используется MS-SQL.
Пример вакансии:
Обязанности:
- Разработка и поддержка интеграционных решений для бэкофисной системы;
- Разработка отчетов для бэкофиса;
- Участие в иных интеграционных проектах ИТ департамента;
- Миграция приложений в среду APEX.
Требования:
- Высшее техническое образование;
- Опыт работы не менее 5 лет;
- Хорошее знание PL/SQL;
- Опыт оптимизации запросов;
- Навыки администрирования Oracle;
- Опыт разработки приложений с использованием Oracle SQL, PL/SQL, Oracle APEX
- Опыт разработки Web Services;
- Знание и опыт разработки в MS-SQL будет плюсом;
- Английский достаточный для чтения документации, разговорный будет плюсом;
- Знание предметной области торговли и учета ценных бумаг будет большим плюсом.
Присылайте письма и резюме на адрес job@iticapital.ru.
Отдельное направление – разработка баз данных, которые активно применяются в финансах. Здесь плюсом будет знание специализированных платформ, например backQORT. Обязательно и знание SQL, T-SQL и умение работать с MS SQL Server. Поскольку на этом продукте «завязано» многое, то обычно плюсом является и знание MS SQL Server Reporting Service, MS SQL Server Integration Services.
Пример вакансии:
Обязанности:
- Разработка и поддержка функционала бэкофисной системы организации;
- Разработка отчетов для бэкофиса;
- Участие в интеграционных проектах ИТ департамента;
- Миграция приложений в среду APEX;
Требования:
- Высшее техническое образование;
- Опыт работы не менее 5 лет;
- Опыт разработки приложений с использованием PL/SQL и хорошее знание PL/SQL;
- Опыт оптимизации запросов;
- Навыки администрирования Oracle;
- Навыки разработки в Oracle APEX;
- Английский достаточный для чтения документации, разговорный будет плюсом;
- Знание предметной области торговли и учета ценных бумаг будет большим плюсом;
Присылайте письма и резюме на адрес job@iticapital.ru.
Отдельный и довольно большой пласт проектов — разработка мобильных приложений для онлайн-трейдинга. В ITI Capital есть собственные мобильные приложения — ранее мы рассказывали об эволюции интерфейсов этих терминалов с начала двухтысячных годов до наших дней.
Над какими проектами можно поработать
Проще всего понять, с какими проектами можно столкнуться в сфере финансов, рассмотрев реальные примеры. Например, мы в ITI Capital разрабатываем собственную торговую систему MATRIX, терминал SMARTx – отдельное направление работы связано с оптимизацией его производительности, – развиваем API к нашей инфраструктуре под названием SMARTcom.
Скриншот документации по API SMARTcom
Заключение
В сфере финансов востребованы специалисты различных направлений. Здесь можно найти работу как на junior-позициях, так и стать ведущим экспертом в каком-то интересном проекте.
Если резюмировать, то разработчикам для работы в финансовых компаниях потребуется знание ООП и стандартных алгоритмов. Разработка клиент-серверных финансовых систем также идет рука об руку с многопоточным программированием. Очень ценятся разработчики, которые знают не только C++, но и более низкоуровневые языки, вплоть до ассемблера.
В основе систем для финансовой сферы лежат базы данных, поэтому востребованы специалисты, хорошо знающие SQL и Oracle. Нужно уметь работать с процедурами хранения, разбираться с индексами, и различными типами блокировок.
Не стоит забывать и о технологических знаниях, применимых именно к финансовой сфере — прежде чем искать работу в финансовой компании (в брокере или на бирже), стоит изучить существующие протоколы передачи данных и связанные с ними технологии.
Бонус: еще IT-вакансии от ITI Capital (только для аудитории Хабра)
Обязанности:
- Организация работа 1 и 2 й линии глобального HelpDesk IT (Лондон и Москва);
- Внедрение системы Service Desk;
- Построение, контроль и автоматизация ключевых ИТ процессов с применением мировых практик ITIL и MoF;
- Руководство отделом Service Desk
- Разработка KPI в рамках сервисной модели
- Разработка SLA в рамках сервисной модели
- Взаимозаменяемость с IT manager Лондонского офиса по поддержке сотрудников офисов в Великобритании
Требования:
- Высшее техническое образование;
- Опыт работы не менее 10 лет;
- Свободное владение английским языком;
- Опыт руководства отделом технической поддержки;
- Опыт работы в международной инвестиционной компании;
- Опыт в управлении проектами;
- Опыт проведения IT треннингов для руководства компании
- Опыт организации IT поддержки во время разного рода мероприятий организуемых компанией ( например конференции для инвесторов, собрание акционеров и так далее).
- Опыт подмены регионального IT менеджера в англоязычном офисе
- Знание ITIL
- Знание Microsoft Windows
- Знание MacOS
- Опыт внедрения систем Service Desk
- Опыт внедрения систем управления IT ресурсами
- Опыт внедрения и поддержки систем корпоротивного портала и систем электронных заявок.
- Review and development of security framework, information security policies, processes/procedures and guidelines on an ongoing basis.
- Administer compliance with these policies/procedures through ongoing security reviews and audits, not limited to log analysis and security assessment of IT systems
- Review and approve PAM (Privilege Access Management) requests
- Develop strategies to respond to and recover from security breaches
- Ensure IT and security compliance with local regulatory requirements and laws
- Identify IT security risks including IT business application and infrastructure projects
- Conduct security assessments for business application and infrastructure projects
- Undertake new security projects to improve the security controls, efficiency and ease of use
- Assist in Conducting periodic network scans, penetration testing, simulating attacks on systems to find exploitable weaknesses
- Investigate security breaches
- Support IT audits at global and branch level.
- Be the point of contact to assist and advise customers for IT security-related matters
Key Competencies & Qualifications
- Ideal candidate profile would be Bachelor's degree in information technology / Computer Engineering / Computer Science or related discipline
- In depth knowledge of Network firewalls, VPN & Security products
- In depth knowledge in anti-virus software, intrusion detection, firewalls and content filtering
- Knowledge of risk assessment tools, technologies and methods
- Experience of vulnerability and penetration testing
- Professional Certifications: CISSP/CISM/CISA/MCSP/CCSK/CCSP is preferred
- Strong analytical and critical thinking skills and meticulous attitude.
- Able to work independently or in a team with minimal supervision
- Extensive experience in working collaboratively across global teams and to lead others through problem solving challenges.
- Strong communication skills, both verbal and written are essential.
- Previous working experience with financial organization in a similar capacity is desirable
Присылайте письма с рассказом о себе на job@iticapital.ru. Спасибо за внимание!
Комментарии (14)
algotrader2013
27.07.2019 18:13Наверное, это и правильно, что в подобных примерах вакансии должны быть демотивирующими, чтобы люди не питали иллюзий, и выбирали эту сферу только, если душа лежит действительно к ней. Тогда хватит терпения писать отчеты на PL SQL на, который типичная вакансия — это поддержка софта, написанного в середине двухтысячных сотней безымянных индусов)
Иначе, если дать ссылку на вакансию туда, где рассчитывают поверхность волатильности в реальном времени, или где при помощи NLP анализируют новости, или хотябы разрабатывают алгоритмы для HFT, то может и интересным показаться)ialexander
27.07.2019 21:30+2Интересно, а действительно кому-то надо считать волатильность в реальном времени? Она вроде не шибко быстро меняется.
voodoo144
27.07.2019 23:06Может и быстро, зависит от того какого рода торговлей занимаетесь, если hft все может меняться быстро. Если занимаетесь алго торговлей то там могут учитываться множество рыночных факторов.
kommie2050
28.07.2019 03:46это альфа и омега спекуляции. Причём смотри в чём фишка — если каждый актор будет реагироать идеально быстро, рынок рухнет. Представь что стопятьсот ботов следят за каким то курсом, с программой, если курс стал подниматься — покупать, опускаться — продавать. Представь, если курс хоть чуть шелохнулся. Происходит самоусиливающееся, тьфу, катастроический подъём или падение. Вообщем ничё продать или купить нельзя
Забавно что рыночное ценообразование держится на том… что спекулянты тормознутые, и имеет своим параметром скорость реакции компов )))nikolayv81
30.07.2019 09:36Всё же если не говорить о сугубо виртуальных инструментах, есть ещё ограниченность ресурсов и реальные владельцы (не спекулянты).
kommie2050
28.07.2019 03:37+1нихрена себе, требования по 5 а то и 10 лет. Даже тому кто только с SQL.
При этом API c 12 параметрами, индусам не сказали что по нормам софтваредизайна где то макс допустимо три, остальное допустимо в специфике низкого уровня, такое API это вообще жесть, что там в какой то функции агрегации этих записей, 50 полей что ли…
agmt
28.07.2019 14:07Надеюсь, double тут — это не число с плавающей точкой?
kommie2050
28.07.2019 14:47оно самое.
кстати важнее:
первые два нормера — int (не uint)
номер торгового счёта string
номер сделки string
номер заявки string
и эти люди требуют, чтобы с этим работал человек с 5 лет опытом работы? Да за такое в вузе неуд должны ставить!!!
webmascon
29.07.2019 10:52Увы есть еще умельцы пытающиеся цену с помощью double выразить. Вылазят просто монструозные косяки при умножениях и делениях
kommie2050
29.07.2019 17:11какие косяки
zxweed
вилка по вакансиям где?
nikolayv81
Вот поэтому лучший ресурс для вакансий по sql одноимённый форум, там вакансии без указания з.п. не разрешены, и их реально удаляют