Bloomberg's application teams face challenges of large-scale data storage, low-latency retrievals, high-volume requests and high availability over a distributed environment. We are creating standardized solutions to these problems by building core services and technology frameworks for enterprise-wide use.
Who we are:
Data Snapshot is an initiative to provide an enterprise-wide standardized view of Bloomberg’s financial data sets. This high-performance, low-latency, and scalable platform will enable cross domain analytics across data sets and aid the discoverability of new data sets. It will also significantly reduce the operational complexity and scalability requirements of many platforms and products that require financial data across the enterprise. In short, the platform will revolutionize the way Bloomberg manages and applies complex analytics on disparate financial data sets.
Our small agile-driven team works extensively with technologies in the Hadoop ecosystem including HBase and Hadoop to provide a distributed acquisition, storage and retrieval solution with a focus on high availability, stability and performance. We envision upcoming features to expose a scalable streaming platform to react faster to data updates, ensure data integrity under tight SLAs and support new functionality currently constrained by existing technology.
We are looking for an experienced Java developer who has maintained or developed solutions within a medium to large-scale distributed system environment in order to accept ownership and help drive our challenging vision: Provide dependable, reliable and comprehensive access to Bloomberg’s financial data sets enterprise-wide.
We’ll trust you to:
- Research, design, prototype and eventually advocate for innovative solutions to our complex challenges of a multi-datacenter distributed acquisition, storage and retrieval platform.
- Investigate, incorporate and adapt multiple technologies, internal to Bloomberg, open-sourced or third party, to help reach our goals of enterprise-wide usage and support for data-in-motion.
- Understand and enforce the right balance between innovation, experimentation, and delivering completed features to production in a timely manner.
- Interact with development teams across Bloomberg in order to understand their application requirements and access patterns so that they can be incorporated in our solutions.
- Participate in meetings to help influence architectural and/or implementation decisions.
- Work effectively in a small, adaptable, agile team focused on client success while adhering to our SDLC guidelines as well as our CD/CI requirements.
You must have:
- 5+ years of experience programming in Java with Java 8 a plus.
- Excellent understanding of algorithms, data structures and object-oriented design with a good working knowledge of building multi-threaded solutions.
- Stellar problem solving and communication skills as well as the ability to thrive in a highly collaborative and dynamic work environment.
- Extensive experience with low-latency, high-volume, and high-availability distributed systems including maintaining, monitoring and managing them in a fast-paced environment.
We’d love to see:
- Deep knowledge of Hadoop MapReduce, HBase, and/or other No-SQL ecosystem technologies.
- Experience working in an agile and test-driven development environment.
- Familiar with production-quality software deployment within a Business Continuity framework.
- Working knowledge of Spring, Spring Boot.