C++ Developer - Trade Ideas (Contract)
Posted Sep 12, 2019 - Requisition No. 78007
The Trade Ideas team manages networks that allow different research institutions and investment funds to exchange research in the form of Trade Ideas. Our system allows them to accurately specify when a given stock should be bought or sold. It keeps track of the performance of the different ideas by looking at real-time events that are happening in financial markets. Based on these events, the overall performance of individuals is calculated which directly affects their compensation. The better the ideas of an individual are, the more they will get paid by the consumers of the ideas. This makes the accuracy of the performance calculations a very important focus for the team and does not leave room for error in our software in general!
Clients use our software to find interesting trading opportunities in the sea of information that are the different financial markets. They access our data through the Bloomberg terminal or a web service and they expect it to be accurate, always available and delivered quickly.
Some parts of our system have been around for some time and are in need of some maintenance. In order to continue delivering a high level of service, we are looking to migrate our diverse back-end applications from large big-endian AIX/SPARC UNIX servers to more modern little-endian x86 Linux clusters. By joining our team, you will help make our software more performant and reliable. You will also contribute to reducing our maintenance and improve quality by raising test coverage and re-writing difficult to maintain C/C++(98) using modern C++14. You will need to deal efficiently with legacy code and re-architecture part of it to make it more testable and easier to internalize. You will be working closely with a mentor who will help you identify the biggest issues and discuss possible solutions and would be expected to participate in team discussions and provide ideas to raise software quality.
The Trade Ideas team in London is looking for a contractor to work on their back-end systems, including migration from UNIX to Linux.
We'll trust you to:
- Re-write modules using more modern coding practices and C++ 11 where applicable.
- Test ported applications and handle communication with various teams across the company to resolve diverse software dependencies.
- Master the variety of development tools in use at Bloomberg and be prepared for a challenging learning curve
- Take ownership of issues and suggest ways to improve things
You should have:
- Strong knowledge of C and C++ (98/11)
- Strong knowledge of UNIX and Linux. You should be familiar with both platforms and be able to port software across them/
- Strong knowledge of concurrency programming techniques, and how to solve problems in a distributed micro-service context.
- Relevant Experience with legacy systems- Experience with big-endian and little-endian machine architecture
- Good communication skills
We'd love to see:
- Experience in dealing with large distributed systems
- Experience working in an Agile/Scrum environment
- That you're comfortable with your code being peer reviewed and reviewing other peoples code.
- Familiarity with Test Driven Development
- A strong background in successful project delivery
- Experience with cross team projects
- Experience with solving problems with several different debugging tools on different platforms
- Familiarity with other languages such as Python