Senior Build Systems & Software Robustification Engineer
Job description
USA.
About the role
Success requires collaboration across software, robotics, infrastructure, and systems engineering teams.
Software engineers turn product ideas into working code. Engineers work in small teams, review each other's work, and ship in small batches. Most teams follow agile practices such as sprints and daily standups. Engineers also write tests, fix bugs, and improve performance. The field values clear communication as much as technical skill. Engineers spend part of every week on planning, code review, and debugging, not just writing new code. The ability to explain a technical decision in plain words separates strong engineers from the rest.
Key facts
What you'll do
Comprehensive software quality tooling, including static code analysis, Address Sanitizer (ASan), Thread Sanitizer (TSan), Undefined Behavior Sanitizer (UBSan), and automated reporting, is established and managed to enforce traceability.
CI/CD effectiveness is improved by strengthening build reliability, test signal quality, failure diagnostics, and developer feedback loops to accelerate high-quality releases.
Requirements
A Bachelor's or Master's degree in Computer Science, Software Engineering, Electrical Engineering, or a related technical discipline, or equivalent practical experience as stated in the degree requirement.
Extensive experience designing and maintaining C++ build systems using CMake, Bazel, or similar enterprise-scale build frameworks in production environments.
Strong hands-on experience with static analysis tools, ASan, TSan, and UBSan deployment, integration, and troubleshooting within CI pipelines.
Deep understanding of compiler and linker toolchains to diagnose, isolate, and resolve complex build and linkage issues.
Profound knowledge of reproducible and hermetic build methodologies, dependency management, build environment isolation, and software release engineering practices.
Modern CI/CD pipelines are built, maintained, and optimized, including configuration and ongoing maintenance.
Toolchain management, compiler configuration, and cross-compilation environments are handled to support diverse target platforms.
Debugging, automation, and systems-level problem-solving skills investigate failures and improve infrastructure reliability.
Practical notes
This is an on-site position based in North Reading, MA, or Woburn, MA with access to necessary equipment.
Typical interview steps
Hiring for engineering roles usually starts with a recruiter screen, followed by one or two technical rounds. Candidates often solve a coding problem, discuss past projects, and answer system design questions. Some loops include a take-home task. Final rounds typically cover team fit and give candidates a chance to ask questions. Interviewers look for how you break down an unfamiliar problem, not just whether you reach the answer. Practicing a few problems aloud and reviewing your own past projects are the best preparation.
Good to know
Roles in this field focus on infrastructure, automation, and quality within software development.
Commonly used tools include CMake, Bazel, static analysis, sanitizers, and CI/CD platforms.
These positions typically require deep systems knowledge, strong debugging能力, and collaboration across engineering teams.
Work often involves reproducible builds, dependency management, and release engineering practices in regulated or high-assurance environments.
Questions to ask
Worth asking in any interview: how the team measures success, who the role works with daily, what the onboarding looks like, and what the company is trying to achieve this year. Asking what past hires did well is a strong final question. Keep the list short and pick the questions that matter most to you.
Career growth
Engineering careers usually progress from individual contributor to senior, staff, and principal levels. Some engineers move into management and lead teams of five to twenty people. Others stay on the technical track. Growth follows demonstrated impact, not tenure alone. A typical engineering ladder has clear levels with defined expectations for scope, quality, and mentorship. Moving up usually requires owning outcomes end to end rather than completing assigned tickets.