Job Description
Summary
Join our Build Engineering team supporting all C++ engineers in the company in delivering fast, reliable, distributed builds for console, desktop, mobile, and VR.
As a Build Systems Engineer, you will work on developing a brand new next-gen build system for C++ development at Roblox that is optimized for building in the cloud.
Distributed builds for C++ have been around for some time and have grown in popularity in recent years but Roblox faces novel challenges. We support consoles, desktops, mobile, and VR platforms, at least some of which are closed and unsupported by any open source or publicly available build system. We are also aiming for distributed and hermetic builds by construction, even for these platforms that don't make this easy.
You Will:
- Help migrate Roblox's existing build system to the new next-gen build system
- Work with other teams of engineers internally at the company to understand their workflows and design and develop solutions that meet their needs.
- Find, diagnose and fix issues related to the efficiency and correctness of our C++ builds from top to bottom
- Find and fix bugs and add features to the core runtime of our chosen build system.
- Work to leverage our distributed build farm for tasks beyond just compilation (e.g. test execution)
You Have:
- Experience: You have worked in both C++ and Rust using multiple build systems such as CMake, Bazel, Meson, Gradle, MSBuild, or others.
- Domain Knowledge: You have deep knowledge of C++ compilers, linkers, libraries, and toolchains. You understand the concept of reproducible builds and the kinds of issues that can arise in achieving them.
- Versatility: You can work on multiple platforms (MacOS, Windows, Linux) and can apply your knowledge and experience to platforms and toolchains you may never have worked with before (for example, Consoles or VR Devices)
- Creativity: You take a creative and strategic approach to solving hard problems. Supporting hundreds (if not thousands) of engineers who all have different ideas about how things ought to work should get you thinking about new ways to scale your solutions.
- Pragmatism: You understand the balance between complexity and simplicity and can choose solutions that enable the impossible, while still being simple enough that the solutions are bulletproof.
Bonus Points:
- Familiarity with functional programming paradigms
- Experience building distributed systems
- Knowledge of the Bazel Remote Execution API
- Experiencing contributing to Open Source projects
For roles that are based at our headquarters in San Mateo, CA: The starting base pay for this position is as shown below. The actual base pay is dependent upon a variety of job-related factors such as professional background, training, work experience, location, business needs and market demand. Therefore, in some circumstances, the actual salary could fall outside of this expected range. This pay range is subject to change and may be modified in the future. All full-time employees are also eligible for equity compensation and for benefits.
Annual Salary Range
$238,520—$289,460 USD
Skills
- C++
- Development
- Rust
- Software Engineering
- Strategic Thinking