Senior C++ Developer - Worksheets (Contract)
Posted Aug 7, 2019 - Requisition No. 76532
The Worksheets team provides client facing real-time applications aimed at analyzing equity markets as a whole. These functions are very highly hit and critical to Bloomberg; and can be used to get an overview of the current world or to analyse an equity index in detail. Our 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 and they expect it to be accurate, always available and delivered quickly. Most of our application have been at the forefront of the terminal for many years and are also often displayed on Bloomberg TV.
In order to continue delivering a high level of service, we are looking to migrate our diverse backend 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.
We'll trust you to:
- Re-write modules using more modern coding practices and C++ 14 where applicable.
- Convert systems to use the latest available database technologies available at Bloomberg
- 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/14)
- 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 microservice 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
- You are comfortable with your code being peer reviewed and reviewing other peoples code
- Familiarity with Test Driven Development
- Solid background in successful project delivery
- Experience with cross team projects
- Experience solving problems with several different debugging tools on different platforms
- Familiarity with other languages such as Python
If this sounds like you:
Apply if you think we're a good match! We'll get in touch with you to let you know what the next steps are. In the meantime, check us out at http://www.techatbloomberg.com/