Work at Help reimagine the entire compute stack

Drag to turn, click a layer to enter.

Apply now What we work on Who we need

What we work on

Our work runs from compiling down to machine code all the way up to a globally distributed cloud, and we solve many hard problems along the way.

Sandboxing

WebAssembly can't express a system call, so a module acts through imports, and WASIX exposes only what you granted. A miscompile or a bad host call is a sandbox bug.

VMs and containers

All three run untrusted code, and costs follow from where the boundary sits.

Virtual machines

Every guest stores and boots its own kernel, drivers and userland.

Containers

Programs make real system calls into a kernel shared by every container.

Wasmer

Software has to be compiled for WASIX, and then one file runs on x86-64, ARM and browsers with no guest kernel.

Runtime

Wasmer compiles WebAssembly with three backends. Singlepass walks each function once with no IR, so compile time stays linear. Cranelift and LLVM take longer and emit faster code.

WASIX

WASIX adds processes, threads, sockets and signals to WASI. fork unwinds the stack into linear memory with asyncify, copies it into a new instance and rewinds both. Try it at wasmer.sh. The next ABI, wasixv2, mirrors the Linux syscall table.

Ecosystem

  • wasix-libc extends wasi-libc with fork and dlopen.
  • wasixcc wraps clang, and our Rust fork adds WASIX targets.
  • Wasinix builds software in bulk with Nix.
  • Edge.js runs Node apps, and PHPix serves PHP.
  • Anybuild detects and builds projects.

Registry

WebC, our package format, is inspired by language package managers and Docker images. An index at the front records each file's byte range and SHA-256, so Wasmer mounts volumes without unpacking. Browse the registry

Wasmer Edge

Edge is our cloud, with the same Rust binary on every node. Nodes share only the package store, so a partitioned node keeps serving. InstaBoot restores warm-up snapshots on cold starts. Edge docs

Why work at Wasmer

When CPython misbehaves, the cause might be our port, the libc, a host call or a backend, and we can fix any of them.

If you know kernels you'll recognize most of WASIX, except the kernel here is a Rust library.

What you could work on

Compiler backends

Keeping Singlepass linear and LLVM fast on huge modules.

Processes and threads

Fork, exec and signals without a copyable stack.

Dynamic linking

Updating every thread's function table on dlopen.

Journaling and snapshots

Capturing every thread's stack, memory, files and sockets.

Linux compatibility

Futexes, epoll and mmap against the Linux Test Project.

Toolchain and ports

LLVM, Rust and Go forks, and crates like tokio.

Language runtimes

Porting Node onto N-API and running Django and WordPress.

The browser

WASIX host code in a tab, TCP through WISP.

Package format and registry

WebC's manifest, dependency resolution and the Rust backend.

Wasmer Edge

Snapshot distribution, private networking, volumes and databases.

Much of this is open source, with the runtime and WASIX in wasmerio/wasmer (start with proc_fork.rs), the toolchain in wasix-org and Edge.js in wasmerio/edgejs.

Apply now

Who we need

We're a small startup, so we look for these six things in everyone we hire.

High agency
You see what needs doing and start on it without being asked.
Passion for building something new
You get excited about software that doesn't exist yet, and you want to be the one who builds it.
Ownership of the whole problem
You take a piece of work from idea to production, and you stay with it once people depend on it.
Quick learning in unfamiliar areas
Much of this work has you reading specs and source code in an area you haven't worked in before.
Directness and honesty
You say what you think, take blunt code review well, and are upfront about what you don't know.
Embracing AI in every workflow
You use AI in all parts of how you work, and you keep looking for more places it helps.

Compile once for WASIX, and the package runs on your laptop, in a browser or on Edge.

Apply now

Apply through Y Combinator

Or email hiring@wasmer.io with what you've built.