Senior Software Engineer - Build Tools
Posted Jun 19, 2020 - Requisition No. 83545
Developer Experience (DevX) is dedicated to making Bloomberg’s Engineers productive, efficient and agile using state-of-the-art development and deployment tooling. Our teams bring together the talent we need to build the best tools, and we are constantly working to improve on the overall developer experience: from writing code, building, linking, linting, and testing all the way to deployment.
The Build Solutions London team within DevX is developing the next generation of build tooling and infrastructure at Bloomberg. Currently, we are focused on providing a consistent experience when building software on a developer’s laptop or a production build cluster. Our aim is that any developer should be able to pick up any new project, and start being productive as quickly as possible, without worrying about how to set up a build environment.
What we’re working on:
At present, we are primarily focused on delivering a new workflow tool called - Berg. We want Berg to be THE user-facing tool for building software at Bloomberg. The aim of Berg is to gradually move Bloomberg projects towards declarative build configuration, and provide a uniform way of building software, whether you are building on a laptop, a CI server or a remote build farm. As part of Berg, we want to offer high performance, correct and repeatable builds to all our developers.
Our team is amongst the leaders of open source projects like BuildStream (https://buildstream.build/), and regularly participate in related meetups and conferences. Working with such open source projects is a core part of our work. So, we are very proud to say that our work not only improves the developer experience for Bloomberg, but also for the wider community.
Our primary motivation with projects like BuildStream and Berg is to ensure that all software in the company can be built and depended upon in a reliable manner.
Besides our core projects, every member of our team gets 20% X-time to work on projects that may not be a part of our sprint work otherwise. You can use this time to learn about new technologies, create a new prototype, collaborate with inner source projects, or start a new one!
Who are you?
An engineer who is excited by the challenge of creating a build system for over 5,000 developers. You are someone who is interested in build workflows, build systems and the performance of both. You’re passionate about working with the open source community and using the right tool for the job.
We’ll trust you to:
- Design and improve tools and workflows that help our engineers build and test code
- Collaborate with engineers across Bloomberg and the tech community to ensure our build system meets their various needs
- Work with other DevX teams in order to deliver a consistent experience to our users
- Research and prototype new build platforms and keep up to date with industry trends
You’ll need to have:
- Experience with or interest in Python
- Experience designing and developing large distributed systems
- Experience using Linux/Unix
- Experience collaborating with stakeholders from multiple teams
- A team-player attitude
- Good communication skills
We’d love to see:
- Familiarity with some of the different build and integration systems, such as dpkg, autotools, cmake, bazel etc.
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