Virtual Machine Engineer

Mountain View, California | Software Development

Role

We are looking for an engineer well-versed in computer programming languages and compilers, preferably with experience in WebAssembly, to join our team in Mountain View, California. As a member of the core ledger team you will be able to help shape the design and implementation of the core Taraxa codebase. You will be working on a fast-paced and rapidly-growing project with global impact.

Responsibilities

  • Take ownership of critical modules of the virtual machine, work with the team to define inter-module interfaces
  • Work on concurrency conflict detection, conflict minimization, ledger runtime libraries
  • Work to define secure yet flexible smart contract logic and structures
  • Help with application developers to design easy to use smart contract templates
  • Design, implement, and maintain efficient, reusable, and reliable code (current code base is in TypeScript and C++)
  • Design and implement module-level tests and benchmarks
  • Participate in team-wide code reviews
  • Proactively identify and remedy performance bottlenecks and security vulnerabilities
  • Help coordinate the efforts of part-time and open-source contributors

Qualifications

  • 3+ years of experience in an environment where latency, reliability, and security are critical success factors
  • Strong proficiency in C or C++ (v11 or newer)
  • Proficiency in TypeScript / JavasScript
  • Expertise in programming language, formal verification, and logic
  • Degree in computer science or related field
  • Highly independent and self-directed, able to work with minimal supervision
  • Authorized to work in the US (we provide visa sponsorships as needed)

Bonus

  • Experience working with WebAssembly toolchains (e.g., Emscripten) and interpreters (e.g., WAVM, node.js)
  • Experience with compiler optimizations and LLVM infrastructure
  • Experience with large-scale server infrastructure and distributed systems
  • Experience with open source software development
  • Experience with blockchain smart contracts and contract languages (e.g., Solidity)
  • Ability to write clear and concise technical documentation