Systems Software Engineer
QuadricJob Title
Systems Software Engineer
Role Summary
Join the Systems Team to build and maintain the low-level software stack for a General-Purpose Neural Processing Unit (GPNPU). You will implement and own components such as the instruction-set simulator, loader/assembler, debugger backends, and C++ host/device APIs that connect SDKs to custom hardware.
Experience Level
Mid-level (5+ years of relevant systems software experience).
Responsibilities
Primary responsibilities focus on developing and maintaining foundational toolchain, simulator, debugger, and host API components that enable software and hardware co-design.
- Maintain and optimize the instruction-set simulator used for architecture validation and software development.
- Design and implement loader and assembler functionality, including binary formats (e.g., ELF) and efficient code loading.
- Develop and extend remote debugger backends, breakpoints, and memory inspection facilities.
- Design, implement, and document clean C++ host and core device APIs for SDK and customer use.
- Collaborate with hardware and SDK teams to identify execution trade-offs and influence hardware and software specifications.
- Deliver production-ready, low-latency abstractions and debugging utilities used by internal and external developers.
Requirements
Must-have technical skills and domain experience; preferred items listed separately.
- Minimum 5 years building systems software such as simulators, toolchains, debuggers, drivers, or performance-critical C++ libraries.
- Strong modern C++ (C++17/20) skills and systems-level programming practices.
- Deep understanding of RAII, manual memory management, object lifetimes, ownership models, and memory access optimization.
- Experience designing and maintaining clean abstraction layers and public APIs.
- Proven ability to work at the hardware/software boundary (e.g., architectural simulation, debugger internals, low-level toolchains, or bare-metal performance code).
- Experience with ELF/binary formats, loaders, assemblers, or linkers where applicable.
Preferred:
- Familiarity with CPU/NPU pipelines, registers, caches, and silicon constraints.
- Experience with GPU/acceleration programming (CUDA, OpenCL, Vulkan) and host-to-device memory transfers.
- Linux driver development and CMake-based build systems.
- Exposure to Rust for systems safety, and experience reasoning about concurrency and synchronization.
- Knowledge of functional programming concepts applied in low-level environments.
Education Requirements
Not specified.
About the Company
Company: Quadric
Headquarters: Burlingame, California, United States
Quadric is building the world’s first supercomputer designed for the real-time needs of edge devices. Founded in 2016, the company empowers developers across industries with innovative general-purpose neural processing unit (GPNPU) architecture for neural network workloads. Co-founded by technologists from MIT and Carnegie Mellon, Quadric aims to enable groundbreaking technology development.
