Core data C++ dev
We are seeking a highly skilled and experienced Windows C++ Developer to join our team and work on critical projects within a financial trading environment. The role focuses on enhancing existing core modules, with fast iterative development, and delivering changes to meet evolving business needs. The ideal candidate will demonstrate a pragmatic approach to C++ programming and design, prioritizing performance, reliability, and business value over overly complex or unnecessarily sophisticated implementations.
The project deals with converting high frequency tick data to lower resolution prices for a number of assets and asset classes.
This conversion is based on a number of rules which go through change over time. Rules can be added, amended and sometimes
removed. The amount of tick data is huge so it is very important to keep code performance optimization foremost.
The current price generator program is a multi-threaded Windows based C++ back-end program that reads, for each asset, for each day, high frequency tick data (bid/ask/trades) and applies the rules to generate a smaller number of prices.
Key Responsibilities:
* A solid understanding of how the current price generation works and fits into the entire business workflow.
This requires looking at the data and trying to understand what is right or wrong with it.
There is lots of data so you will spend a lot of time looking at it, trying to improve (aka clean) it.
* Implement and provide support for changes to price generation rules as required.
You will need to know how the existing rules work and ideally propose changes yourself.
We want to avoid lots of 'if do this else do that' branches in the code and prefer generalization wherever possible.
* Create and maintain detailed technical documentation for codebases and design decisions.
Required Skills and Experience:
* Solid experience developing multi-threaded Windows applications or services using native C++ and Win32 APIs.
* Strong debugging and performance optimization skills (these are key).
* Willingness to frequently engage in pair programming and provide sufficient time overlap with Eastern Time Zone.
* Availability to work a minimum of 50+ hours per week and handle major issues over the weekend if needed.
* Reliable, fast internet connection with good audio and video quality for Skype/Slack communication.
* Familiarity or exposure to messaging frameworks such as Kafka.
* Familiarity of database systems (SQL Server)
* Knowledge of Math\Statistics to at least high school level.
* Experience with large and high frequency financial trading data (such as bid\ask ticks) is a significant plus.
Personal Attributes:
* Good verbal and written communication skills in English.
* Highly motivated, self-driven, and able to work independently with minimal supervision.
* Strong attention to detail because mistakes can be very costly.
* Flexible and adaptable to changing business requirements - rules may change back n forth because we just cant see the whole data.
* Ability to focus exclusively on this role without distractions from other contracts or engagements.
Location:
Your home.
Additional Information:
You will be provided VPN access to work on a virtual machine (VM) within our secure intranet (which has no internet).
This setup ensures a secure and controlled development environment.
Looking to hire someone quick.
Thanks for reading.