hero

A world of opportunity

Discover the next chapter of your career at CoinFund or a CoinFund portfolio company.
65
companies
246
Jobs

Senior Compiler/Language Engineer [Rust/LLVM]

Fuel

Fuel

Software Engineering
Remote
Posted on Friday, June 30, 2023

Fuel Labs is building the fastest modular execution layer in the world. You will be working at the bleeding edge of blockchain scalability R&D. The Fuel Network features a brand new virtual machine, the FuelVM with multiple testnets already released and live.

To go with this new VM, a new high-level language is needed; one that avoids the many shortcomings of current smart contract languages, and that offers additional functionality and performance. You'll be designing new language features and implementing and maintaining a compiler targeting the FuelVM.

The compiler and toolchain are available here: https://github.com/FuelLabs/sway

Responsibilities

  • Design and specify Sway language features
  • Implement and maintain new Sway language features in the Sway compiler written in Rust.
  • Implement optimization passes using Sway Intermediate Representation (IR) which is inspired by LLVM.
  • Implement and maintain the Sway backend targeting the FuelVM and potentially other backends targeting other blockchain VMs such as the Ethereum Virtual Machine (EVM).
  • Integrate the compiler with additional tooling: package manager, debugger, language server, IDE plugin, etc.

What we look for in you:

  • Experience with compiler/toolchain development in one or more of the following areas:
  • Compiler frontends: parsing, semantic analysis, type checking and type theory, etc.
  • Compiler middle-ends: experience in writing optimization passes in an iIntermediate Representation (IR) framework such as LLVM.
  • Compiler backends: experience in writing compiler backends, codegen, register allocators, stack allocators (for stack VMs such as the EVM), backend optimizations, etc.
  • Fluency in Rust or C++.
  • Good understanding of computer architecture and machine-level representation of a program.
  • Deep understanding of software engineering best-practices