This job has expired, please see additional jobs below
Software Infrastructure Developer (C++)
Bloomberg
London, , United Kingdom
Job Details - this job has expired, please see similar jobs below
Every single day, over 4000 developers (and counting) rely on us to build the core foundation required for their applications. We build libraries that touch a wide range of technologies. This includes programmable real-time data-processing pipelines, crypto services and development tools. We are technologists who live and breathe high-performance, well-factored, scalable, testable code which can mould quickly to new business initiatives.
We sit right at the heart of all of our real-time software for high impact systems that are the core of the Bloomberg infrastructure. We process market data from around the world, driving the majority of downstream Bloomberg applications. We address the market demand for low-latency solutions by delivering the world's most reliable, timely and accurate financial data.
As an engineer within Software Infrastructure, you're valued as technical expert and a go-to resource throughout the company. Our users, as well as our leaders, are highly technical people. It's both interesting and stimulating to have other engineers as your customers.
We'll trust you to:
• Take responsibility for the full software development life-cycle, from understanding the needs of the business through to coding to deployment and maintenance. Your work will be highly visible, making you highly accountable
• Enjoy solving highly complex problems while understanding the scope and impact of your work
• Design, architect and develop libraries and software systems
• Write well-tested, robust, performant code in a cross-platform environment
You'll need to have:
• Strong C++
• Deep understanding of object-oriented design, data structures and algorithms
• An aptitude for analytical problem solving
• Exposure to all phases of the software development lifecycle
We'd love to see:
• You can work seamlessly across Linux/UNIX
• You are familiar with the nuances of building high volume, high availability distributed systems
• You have good knowledge of operating system fundamentals
• You are familiar with network-layer protocols (TCP/IP, PGM, etc.)
Teams that you can apply to:
Application Frameworks
As a member of the Application Frameworks team, you will be designing and enhancing the programmable high-performance data-processing pipeline that forms the backbone to all real-time market data analytic functionality in the Bloomberg Terminal - a framework used by our colleagues across the entire Engineering Department to write responsive, sophisticated applications. You will extend our libraries to support more varied, complex and scalable solutions and come up with visualization tools that help developers understand data flow, analyse performance and optimize their pipelines. You will know when it makes sense to write tight, bullet-proof C++ and when it is better to use the higher-level paradigms of a managed JavaScript environment, and you will care about CPU cycles, memory usage patterns and the complexities of combining script with native code.
Developer Experience
We are a team of technologists, engineers, evangelists and trainers charged with helping our developers deliver their best work. We are not afraid to make large investments to build our own tools to outpace the competition. At the moment we work with Phabricator, Jenkins, DPKG, GitHub Enterprise, Coverity, Jira and anything that fills gaps and joins them together. Join us and you will help thousands of developers, both inside the company and out as we love open source.
Market Data & News Feeds
Our feed handlers process market data from hundreds of exchanges and financial institutions around the world. We deliver a normalized stream of data in real-time for use by the rest of the company and ultimately by our clients. Performance and reliability are key features of our software. Our team collaborates with business units and other development teams to drive projects dealing with data across all asset classes. The code we write makes an immediate impact to the whole company and our clients.
You will join us in our goal to be the most comprehensive and reliable source of financial data in the world. You'll be working on exciting business driven projects and on an ambitious initiative to build state-of-the-art processes and tools for our team. Join us to make a difference.
Enterprise Technology
Our team is responsible for financial and news based data services. Our rapidly expanding event driven feed business provides real-time news and analytics to trading desks of major financial institutions. Performance and resilience is critical. We need your skills in developing scalable and robust software to address growing demand for this data. You will be joining a team with expertise in real-time distribution and strong financial domain knowledge. You will develop software using the open Bloomberg BLPAPI and gain experience using open source projects to manage big data sets. We are looking for a developer who embraces modern programming practices. Come work in our agile and forward thinking team to develop interesting and effective products.
Feeds Infrastructure
We provide the framework that is used by the 1000+ feed-handler applications for the company's real-time market data. Our components need to be robust, of high quality and re-usable and we leverage solid development practices and principles to achieve this. We need a keen attention to detail, design and quality. Join a high-calibre team of innovative thinkers striving to provide a quality feed-handler infrastructure for the company.
Middleware & Core Services
In Middleware & Core Services, we are responsible for a variety of internal and client-facing middleware frameworks, supporting both request-response and publisher-subscriber mode communication. Internally, all the other company developers use the technology maintained by our group to build applications for the Bloomberg Professional service.
Bloomberg Open API (http://www.bloomberglabs.com/api/) allows our users to connect to the externally facing Bloomberg's data distribution infrastructure, which is the largest in the world providing low-latency market-data and value added Bloomberg data. We support scalable, distributed, high-performance software that provides mission-critical data delivery to all Bloomberg desktop customers and a large number of enterprise-level applications. We do most of our work in C++, using other languages (Python, JavaScript, shell scripts, Perl etc) as needed.
Systems Infrastructure
Systems Data Distribution - Our software is responsible for distributing both all the data from every exchange around the world and a slew of derived data generated internally, to hundreds of high performance applications running across thousands of servers in Bloomberg's datacenters. Finding ever more efficient and scalable ways to distribute this 6-8Gbps multicast data stream within our datacenters is our team's main focus. The challenges range from the low level details of UDP packets, to the higher level design of splitting the market data into scalable streams, to providing hosted open source message queuing solutions (Kafka, RabbitMQ etc.) where applicable.
Security Infrastructure - We're a small team of developers with a big mission: build services and libraries that make it really easy for people to add crypto-based security to their apps. Wherever possible, we use open standards and open source for this. Things we work on include X.509-based PKI, secure deployment of private key material, and high-level crypto APIs that help developers not shoot themselves in the foot. We don't have to tell you how important it is to get this stuff exactly right. If you're an awesome C++ developer with previous exposure to crypto-related programming, we would love to hear from you.
If this sounds like you:
Apply if you think you're a good match! We'll get in touch with you to let you know the next steps.
We are 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.