The Team: Bloomberg's internal Data Science Platform was established to support development efforts around data-driven compute, machine learning, and business analytics. The proprietary solution aims to provide scalable compute, specialized hardware and first-class support for a variety of workloads such as Spark, PyTorch, and Jupyter. By using containerization, container orchestration and a cloud-native design, Bloomberg created a data science product with portable and composable infrastructure building blocks. This facilitated Bloomberg to rapidly evolve, scale and adapt to new challenges and opportunities in the data science space.
Being one of the most critical stages of machine learning, distributed ETL processing has contributed to the largest compute footprint within Bloomberg's data science so, especially through its Apache Spark offering. To effectively manage Apache Spark on Kubernetes, the Spark Runtimes team uses its inhouse Spark expertise and standard methodologies around infrastructure management, scalability, and security to provide support for a powerful, flexible, and centralized Spark product.
As the needs of distributed compute, machine learning, data exploration and analysis advance, so does the need of the Spark runtime that underpins it. Our runtime is poised for continued growth to accommodate the endless number of products across Bloomberg that rely on a robust ETL offering. Highlights from our upcoming roadmap focus on: enabling pluggable batch scheduling capabilities, increased resiliency when running in a pre-emptive environment, deeper integration with cloud-based Spark environments, and enhanced dynamic allocation support.
The Role: As a member of the Spark Runtimes team, you'll make key technical decisions to keep this solution moving forward. Our team makes extensive use of open source (e.g. Spark, Kubernetes, Buildpacks, Kubeflow, Jupyter etc.) and is deeply involved in a number of upstream communities. We collaborate widely with the industry, contribute back to the open source projects, and present at conferences. While working on the runtime, the backbone for many of Bloomberg's upcoming products, you will have the opportunity to collaborate with engineers and mutually learn about the technology that delivers products from the news to financial instruments.
We'll trust you to:
Design and develop Kubernetes-based products running as a SaaS offering and on customer-managed clusters
Interact with data engineers and Spark experts across the company to understand their workflows and requirements to inform the next set of features for the solution
Design distributed systems and develop solutions for problems such as elastic load distribution, effective resource management, and fair scheduling
Automate operations and improve telemetry in our Kubernetes infrastructure stack
Regularly present and explain your work to peers, senior partners (including our CTO), and clients
You'll need to have:
4+ years of programming experience with an object-oriented programming language (Go, Java, Scala, Python)
A degree in Computer Science, Engineering or similar field of study or equivalent work experience
Have a strong sense of curiosity to tackle new problems and keep learning new technologies
Have a passion for providing reliable and scalable infrastructure
Experience with distributed systems eg. Kubernetes, Spark, Kafka, Zookeeper
Experience building and scaling Docker-based systems using Kubernetes, Swarm or Mesos
We'd love to see:
Experience with Kubebuilder and Kubernetes operator-based frameworks
Experience with Spark infrastructure open source projects such as Delta Lake, Iceberg
Knowledge of authentication & authorization systems such as Spiffe and Spire
Experience with cloud providers such as AWS, GCP, or Azure
Ability to identify and perform OS and hardware-level optimizations
Experience with configuration management systems (Chef, Puppet, Ansible, or Salt)
Experience with continuous integration tools and technologies (Jenkins, Git, Chat-ops)
Experience working with GPU compute software and hardware
Learn more about our work: https://linktr.ee/bloombergdnainfra
Interviewing with us: We believe interviewing is a two way street. It's a way for us to get to know you and your skills, and also a way for you to learn more about the team, our technical challenges, and what you'd be working on. The content of each interview round will be tailored to the role and your background, but the general framework can be found here: https://www.bloomberg.com/careers/technology/engineering/software-engineering-experienced-hire
We want to ensure you can put your best foot forward throughout the process, so if you have any questions or need any accommodations to be successful, please let us know!
We have a lot of opportunities to choose from in Engineering, and it is important to us that your skills and experience aligns best with the team you are interviewing with. To help ensure you are placed on the right team, your application will be considered for all of our current vacancies in Engineering at the first stage of the interview process.
Bloomberg is an equal opportunity employer, and we value diversity at our company. We do not discriminate on the basis of age, ancestry, color, gender identity or expression, genetic predisposition or carrier status, marital status, national or ethnic origin, race, religion or belief, sex, sexual orientation, sexual and other reproductive health decisions, parental or caring status, physical or mental disability, pregnancy or parental leave, protected veteran status, status as a victim of domestic violence, or any other classification protected by applicable law.
Bloomberg is a disability inclusive employer. Please let us know if you require any reasonable adjustments to be made for the recruitment process. If you would prefer to discuss this confidentially, please email firstname.lastname@example.org
Salary Range: 160,000 - 240,000 USD Annually + Benefits + Bonus The referenced salary range is based on the Company's good faith belief at the time of posting. Actual compensation may vary based on factors such as geographic location, work experience, market conditions, education/training and skill level. We offer one of the most comprehensive and generous benefits plans available and offer a range of total rewards that may include merit increases, incentive compensation [Exempt roles only], paid holidays, paid time off, medical, dental, vision, short and long term disability benefits, 401(k) +match, life insurance, and various wellness programs, among others. The Company does not provide benefits directly to contingent workers/contractors and interns.