About the Position
We are looking to hire an Engineer with experience in both software and hardware design to help us build our FPGA-based applications.
We’re big believers in the ability of tools to make programming faster, more pleasant, and more reliable. We apply these same principles to our FPGA Engineering work, and we’re looking for people who are interested in using programming language technology to improve the process of designing, testing, and validating hardware designs. We use Hardcaml, an OCaml library for succinctly describing hardware in RTL. Hardcaml is tightly integrated into our development environment, so you’ll also gain lots of exposure to the libraries and tools that are foundational to our internal systems. No previous knowledge of Hardcaml is required.
In this role, you’ll work on the ground-up design and implementation of new FPGA applications, and help extend and refine the high-level synthesis and testing tools that we use internally. Your day-to-day work will predominantly involve OCaml & Hardcaml, for both RTL design and testing/integration, but you can also expect to work with some Verilog and C. While you don’t need to have worked with OCaml specifically, a good background in some typed functional language is a plus.
We don’t expect you to have a background in OCaml, finance, or any other specific field—we’re looking for smart programmers who will approach hardware design with a software engineering mindset. We’re more interested in how you think and learn than what you currently know. You should be:
- A top-notch programmer with a love for technology
- Comfortable with a software programming language
- Intellectually curious, collaborative, and eager to learn
- Humble and unafraid to ask questions and admit mistakes
- Experienced with a Hardware Description (or Construction) language (VHDL, Verilog, Chisel, Pymtl, or other), for both writing and testing hardware designs
- Experienced working with FPGA vendor tools (Vivado or Quartus)
- Experienced with building a working FPGA project through an academic, professional, or personal project
- Interested in learning how to use FPGAs in the context of networking
- Fluent in English