Senior Java Engineer - Database Infrastructure
New York, NY
Posted Nov 21, 2019 - Requisition No. 79876
Bloomberg is the industry standard for financial data. Bloomberg's software solutions depend on robust data infrastructure to provide clients with this data. Our team is designing the next generation systems for managing this piece of crucial infrastructure. Our ability to provide a DBaaS (DataBase as a Service) platform is critical to our clients ability to retrieve and analyze massive quantities of data. Ensuring our services scale, are robust, secure and reliable is where you come in.
Who we are?
The Database Infrastructure team provides a database-as-a-service (DBaaS) platform that engineers depend on to drive applications throughout Bloomberg. We manage several open source (Postgres, MySQL etc) and commercial (Oracle, SQL Server etc) database options, all of which Bloomberg is heavily invested in. Our platform manages 400K+ databases and growing quickly with no end in sight. To support this scale, we are recreating our industry-leading, robust, resilient and performant database platform. We are heavily investing in automated testing, CI/CD and collaborative design processes. We develop and manage the services and operational toolkits that enable application teams to easily deploy data sets and query across them.
Who are you?
- You are a talented, highly motivated software engineer who understands and enjoys designing and building large-scale systems.
- You know that doing things the right way is harder and takes longer but is (almost) always worth the effort.
- You want to make a big impact and contribute to open source software.
We'll expect you to:
- Design and implement the next generation database control plane at Bloomberg
- Elevate our existing infrastructure to create a modern, industry leading platform
- Champion mature software development practices (code reviews, package management)
- Ability to prioritize stability and performance among multiple competing priorities.
- Apply industry standard security patterns to ensure proper data access
- Leverage and extend Kubernetes to make this possible
You need to have:
- 3+ years of software engineering experience (preferably Java or Python)
- Strong problem solving, communication skills
- Solid understanding of algorithms and data structures, knowledge of object-oriented design
- Working knowledge of modern development methodologies and tools (Jenkins/Maven/Jira)
- Ability to debug and correct production problems
We'd love to see:
- Knowledge of modern database systems
- Experience building infrastructure and managing distributed systems
- Familiarity with Kubernetes and containers
- Exposure to modern security patterns
- Experience working with open-source software/community (upstream accepted contribution, or community presence) is preferred