Description & Requirements
About Platform Services
Platform Services as a group provides common infrastructure, managed services, and product development and release services to support Bloomberg's application development. The group has about a thousand team members spread across all of Bloomberg's global offices focused on Application and Middleware Frameworks, Database Solutions, Connectivity, Security, Cloud Native Compute and Storage Services. Our mission is to provide Bloomberg developers with a standard, scalable, managed and compliant platform experience.
About the Teams
DataLayer Platform
DataLayer is the high-performance library used to build reactive transformations of data in the Bloomberg Terminal. From simple sorting and filtering, to complex multi-level aggregations and the Excel-like expression evaluation engine, Datalayer is the engine that powers almost every grid or table of data in the Bloomberg Terminal.
The newly created DataLayer Platform team in Pune will take ownership of embedding the DataLayer into Bloomberg runtimes, providing seamless integration with the Bloomberg Terminal and backend services. This will require the team to work closely with other DataLayer teams as well as multiple infrastructure teams to ensure that DataLayer works as efficiently and performant as possible in those runtimes.
Service Mesh Framework - Schema and Lifecycle Management
Bloomberg Application Services (BAS) is the core service mesh infrastructure powering the backend of virtually all Bloomberg products and services, responsible for reliably handling billions of dollars of transactions daily. The BAS network services over 6 million requests per second across thousands of applications and tens of thousands of machines on our global network. We provide a stable, fault-tolerant, scalable architecture with flexible routing rules and support for enterprise security and monitoring capabilities used by over 9,000 Bloomberg software engineers.
The team in Pune works closely with teams in New York and London on developing solutions and tools for service schema and lifecycle management. The focus is on streamlining and automating various aspects of the lifecycle of a service - its creation, contract definition, configuration, deployment and retirement - enforcing safeguards and best practices for overall system stability.
We’ll trust you to
- Have an eye for detail and an interest in working on the complex challenges of large-scale distributed systems.
- Bring a strong understanding of working with highly multi-threaded and asynchronous programming environments
- Understand how to make changes to a live production system safely and responsibly, without causing any impact to our users
- Communicate clearly and effectively and share our values toward software development and professional collaboration.
You'll need to have
- 5+ years of total software developer experience in C++
- A Degree in Computer Science, Engineering, Mathematics, similar field of study or equivalent work experience
- Strong understanding of object-oriented design, data structures, multi-threading, and algorithms
- Experience with designing, developing and managing large-scale service-oriented systems
- Excellent communication and collaboration skills
- A self-starter approach with a strong sense of ownership
We'd love to see
- Experience working on complex infrastructure systems under continuous use
- Experience in performance optimizations, passion to write performance-critical code
- Experience in Python or JavaScript/TypeScript
- Experience in multithreading
- Exposure to multiple phases of the software development life-cycle
What’s in it for you
The platform services teams are associated with many of Bloomberg's collaborative efforts, with a lot of us involved in both internal and external technical communities, conferences and organizations. We also have relationships with many other infrastructure teams across Bloomberg and numerous open-source projects used at all levels of our software development and deployment stack.