Hardware Tools Engineer
Develops software tooling for hardware engineers, including compilers, IR transformations, simulation, and automation for AI-native silicon design. Requires strong CS fundamentals, proficiency in Rust/C++/Python, and familiarity with RTL and compilers.
About the job
In this role you will:
- Build and improve the software tooling that makes hardware teams faster: compilation, IR transforms, RTL generation, simulation, debug, and automation.
- Extend and integrate hardware compiler stacks (frontends, IR passes, lowering, scheduling, codegen to Verilog/SystemVerilog) and connect them to real design workflows.
- Improve developer experience and reliability: reproducible builds, better error messages, faster iteration loops, and dependable CI and regression infrastructure.
- Work closely with designers and verification engineers to turn real pain points into durable tools.
- Dive into RTL when needed: read and reason about Verilog/SystemVerilog to debug issues, validate tool output, and improve debuggability.
- Be willing to go all the way down the stack when necessary, including gate-level views, synthesis results, and implementation artifacts.
- Help enable PPA optimization loops by building analysis and automation around area, timing, and power tradeoffs, and by improving tooling that impacts those outcomes.
You might thrive in this role if:
- Demonstrated ability to build and maintain software (projects, internships, research, open source, or equivalent experience).
- Strong CS fundamentals: data structures, algorithms, debugging, and software design.
- Proficiency in at least one of Rust, C++, or Python (and willingness to learn the rest).
- Familiarity with digital design concepts and the ability to read RTL (Verilog/SystemVerilog) or equivalent hardware descriptions.
- Familiarity with compiler or IR-based ideas (representations, passes, transformations, lowering), through coursework or projects.
- Comfort operating in ambiguity and iterating quickly with users of your tools.
Nice to have skills:
- Exposure to compiler and hardware toolchains such as XLS/DSLX, LLVM, Chisel/FIRRTL, CIRCT/MLIR, other novel hardware languages (e.g. HardCaml, SpinalHDL, Spade, PyMTL, Clash, BlueSpec, PyRope).
- Experience with Verilog tooling ecosystems (Yosys/RTLIL, Verilator, Slang) or writing tooling around them.
- Experience with build and test infrastructure (Bazel, CI systems, fuzzing, performance testing).
- Prior work touching synthesis, place and route, static timing analysis, or other PPA-related workflows.
Skills
Rust, C++, Python, Verilog, Systemverilog, Llvm, Chisel, Firrtl, Mlir, Bazel
Similar jobs
Embedded Engineering jobsBuild and harden OS foundations for AI consumer devices, spanning kernel, services, security, performance, and application interfaces. Requires strong systems programming in C/C++, kernel experience, and debugging skills.
Develops real-time perception, sensor-control, and fusion software for heterogeneous autonomous vehicle platforms, integrating ML algorithms across sensors and embedded systems. Requires advanced engineering education or 5+ years of relevant experience, multi-modal sensing expertise, Linux/Docker proficiency, and U.S. security-clearance eligibility.
Develops operating-system platforms, device drivers, and infrastructure for autonomous-vehicle robotics systems. The role requires 4+ years of production software experience, strong Linux internals expertise, and proficiency in C/C++ plus scripting languages.
Develops reliable embedded software and custom device solutions, integrating vendor components, sensors, operating systems, and communication interfaces. Requires a bachelor's degree and at least three years of relevant experience with C/C++, embedded Linux, debugging, and CI/CD tools.
Build the low-level runtime for a custom AI accelerator, including kernel scheduling, device memory management, synchronization, and hardware-software interfaces. The role requires strong systems programming experience and expertise in concurrency, memory semantics, simulation, and performance debugging.