Systems Software Engineer
Job Description
Quadric is hiring a Systems Software Engineer (onsite) to build foundational systems layers that connect its GPNPU hardware with a high-level SDK.
Responsibilities
- Maintain and optimize the architecture validation and software development simulator
- Lead design of a low-level toolchain that translates code, supports binary execution (including ELF), and loads code
- Build and iterate debugging tools and backends for deep, low-level visibility into core GPNPU execution
- Design, maintain, and document clean abstraction layers and public C++ APIs for users and SDKs to interact with hardware with minimal friction
- Independently own and expand one or more systems stack components (Simulator, Loader/Assembler, Debugger, or C++ Host APIs)
- Analyze execution trade-offs using the Instruction Set Simulator to influence next-generation GPNPU hardware and software specifications
- Deliver production-ready, low-latency API abstractions and debugging utilities used by internal SDK developers and external customers
Requirements
- 5 years+ systems software experience: simulators, toolchains, debuggers, drivers, or performance-critical C++ libraries
- Strong working knowledge of modern C++ (C++17/20) and systems-level programming paradigms
- Advanced comfort with RAII, manual memory management, object lifetimes, ownership models, and memory access optimization
- Ability to identify, design, and maintain clean abstraction layers that improve readability, maintainability, and scalability
- Proactive, adaptable approach to problems arising from a brand-new processor architecture
- Demonstrated experience working at the hardware and software boundary, including one or more of:
- Building/extending cycle-accurate or functional simulators (e.g., Gem5, QEMU, or proprietary tools)
- Working on debugger internals such as breakpoints, memory inspection, and GDB stubs/remote protocols
- Shipping C++ SDKs/libraries balancing “zero-cost” abstractions with intuitive user experiences
- Writing or maintaining assemblers, linkers, or loaders with deep knowledge of binary formats (ELF) and memory layouts
- Writing performance-critical code where every byte and cycle counts (e.g., drivers, embedded firmware)
- Low-level hardware concepts: understanding of CPU/NPU pipelines, registers, caches, and silicon-level constraints
- Experience with CUDA, OpenCL, or Vulkan plus SIMD/SIMT architectures and host-to-device memory transfers
- Experience with Linux driver development and CMake project configuration best practices
- Familiarity with Rust for systems safety and reasoning through multi-threaded logic and complex synchronization issues
- Knowledge of integrating functional programming concepts in non-garbage-collected environments
Technologies
- C++, C++17, C++20
- RAII
- ELF, ELF formats
- Gem5, QEMU
- GDB, GDB stubs
- CUDA, OpenCL, Vulkan
- SIMD, SIMT
- Linux driver development, CMake
- Rust
- Caltrain
Benefits
- Medical, dental, and vision insurance from day one, with premiums covered at 99% for employees
- Company-paid life insurance
- Voluntary supplemental life insurance
- STD + LTD insurance
- Commuter support including parking or Caltrain reimbursement (office is within walking distance of the Caltrain station)
- FSA + HSA
- Equity with the business
- Paid parental leave
- 401(k) retirement plan
- Flexible PTO
- Winter holiday shutdown
- Catered lunch each day in the office
- Downtown Burlingame office location near shops, cafes, and local amenities
- Collaborative, low-ego culture with significant ownership and impact
- Work culture focused on innovative disruption
Location: Burlingame, CA (onsite) | Salary: USD 150,000 - 220,000 per year | Experience: 5+ years