Tetrate’s WebAssembly core team needs a compiler developer with expertise in Go and compilers. We need a strong candidate to help build, maintain and optimize both guest and host side compilers supporting upcoming feature proposals on multiple architectures. In all cases, the high level language is Go even though this position deals more often with backend concerns such as intermediate representations, optimization passes and machine code generation. For example, our open source wazero project’s backend compiles WebAssembly binaries into machine code at runtime. Implications of this architecture make this position unique and challenging: it has to act like Just-In-Time compiler as opposed to the normal compiler backends targeting normal executables (e.g. ELF).
How we work is also notable. In open source, our pull requests rarely live more than a few days. The ideal candidate is energized by rigorous open source work supported by tight feedback cycles. You are comfortable working independently, but not afraid to ask for help if blocked. You seek out the best solution while still delivering iterations quickly, while happy to delete code when it is no longer needed or a better solution is identified. You recognize the value is performing changes completely, so that other teammates have less cleanup and maintenance. Most importantly, you know that end user success is the primary goal of work.
- Written communication in English (verbal communication is rare)
- Existing open source work in Go, assembly, and compiler
- Experience with Makefile and GitHub workflows
- Working knowledge of x86 and/or arm64 instructions, registers and addressing modes
Nice to have
- Asia/Pacific friendly timezone
- Compiler optimization experience
- WebAssembly experience
- Experiencing developing stack machines such as the JVM or WebAssembly
- Familiarity with multi-architecture concerns in go projects
- Public speaking experience
- Led open source projects in this topic space
Location: Worldwide – We are a 100% globally distributed company.