4 months ago
Senior Software Engineer - C++ (Contractor)
Posted Mar 19, 2018 - Requisition No. 66073
Trade Ideas specializes in the delivery of equity trade ideas on market data. We develop advanced, distributed software that provide trading signals for equity markets around the world. We rank contributor’s ideas on stocks against each other, compare their current performance with their historical behaviour and aggregate similar traded ideas together to reflect trends in performance.
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.
Some of these have been around for a long 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 backend applications from large big-endian AIX/SPARC UNIX servers to more modern little-endian x86 Linux clusters.By joining our team and taking on this role, you would help make our software more performant and reliable. You would also help us reduce our maintenance and improve quality by raising test coverage and re-writing difficult to maintain C/C++(98) using modern C++11. You would need to be able to deal efficiently with legacy code and re-architecture part of the code to make it more testable and easier to internalize. You would be working closely with a mentor who would 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 backend 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.
* 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/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 microservice context.
* Relevant Experience with legacy systems- Experience with big-endian and little-endian machine architecture
* Good communication skills
We'd love to see:
* That you have experience in dealing with large distributed systems
* That you have experience working in an Agile/Scrum environment
* That you're comfortable with your code being peer reviewed and reviewing other peoples code.
* That you are familiar with Test Driven Development
* That you have a strong background in successful project delivery
* That you have experience with cross team projects
* That you have experience solving problems with several different debugging tools on different platforms
* Familiarity with other languages such as python.
If this sounds like you:
Apply and we'll get in touch to let you know the next steps.
Bloomberg is an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, colour, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.
Bloomberg is a disability inclusive employer. Please let us know if you require any reasonable adjustments to be made for the recruitment process.