MAX Platform Tooling Engineer
Company | Modular |
---|---|
Location | Mountain View, CA, USA, Remote in Canada |
Salary | $198000 – $273000 |
Type | Full-Time |
Degrees | Bachelor’s |
Experience Level | Senior, Expert or higher |
Requirements
- Typically 7+ years of experience in systems programming, debugging infrastructure, compilers, or related low-level tools.
- Hands-on experience with modern debugger internals (like GDB or LLDB) and a strong understanding of the DWARF debugging format.
- Familiarity with LLVM, and MLIR particularly in systems or compiler-related contexts.
- Excellent programming skills in C++, or other relevant systems programming focused languages.
- Strong understanding of computer architecture and operating systems.
- A collaborative mindset, intellectual curiosity, and a drive to solve complex technical challenges as part of a high-performing team.
- Clear and effective communication skills, both written and verbal.
- Strong alignment with Modular’s cultural values and a desire to help build a thoughtful, inclusive engineering culture.
- Deep knowledge of OS internals that matter for debugging — including process layout, threading models, and signal handling on Linux and macOS.
Responsibilities
- Design, build, and maintain key technologies that support the Mojo compiler, such as the REPL, CPU/GPU debuggers, language servers (LSPs), and tracing tools.
- Collaborate closely with compiler and kernel teams to create innovative debugging workflows that significantly improve developer productivity.
- Ensure seamless integration of these technologies with our compiler and other parts of our platform.
- Participate in design discussions and code reviews to uphold high engineering standards.
- Engage with the external Modular community and open source community to support high-quality contributions and foster a welcoming, inclusive environment.
- Mentor junior engineers and support their growth.
Preferred Qualifications
- Experience working with Nvidia (CUDA-gdb) or AMD (ROCgdb) debugging tools.
- Prior experience with Mojo, especially with an accepted contribution to the Mojo open source repository.
- Background in integrating debuggers like LLDB or GDB into IDEs, especially if you’ve worked with Debug Adapter Protocol (DAP) or LSP workflows.
- In-depth understanding of GDB/LLDB features, including remote debugging setups using gdbserver or LLDB’s remote platform support.
- Experience with LLVM’s JIT infrastructure (e.g., MCJIT, ORCJIT), particularly in interactive environments like REPLs.
- Familiarity with writing or extending compiler grammars or parsers, especially in REPL-friendly languages.
- Hands-on experience with GPU or AI kernel development, especially for high-performance compute workloads.
- Proficiency in Python, especially if you’ve worked on Python debuggers, mixed-language debugging (C++/Python), or introspection tools that bridge dynamic and compiled code.
- Experience building or extending developer tooling in VSCode, especially through custom extensions.
- A bachelors degree in Computer Science or a related field or equivalent experience.