Overview
What this challenge is about.
Compile a C-Like Subset to WebAssembly for a Game Runtime. Advanced challenge in code. Writing production code that solves real engineering problems, earn a ...
The Brief
What you'll do, and what you'll demonstrate.
Build a working compiler that translates a documented C-like subset into valid WebAssembly 1.0 binaries that load and run unchanged inside the studio's existing runtime host.
This is not a coding exercise. It is the work a software engineer does between a Jira ticket and a merged PR. That distinction matters to every hiring manager who has seen candidates solve LeetCode problems and none who have shipped production code under real constraints.
When you finish, you will have something most graduates do not: a real-world deliverable, verified by Ewance, that you can show to a hiring manager and say "I did this. Here is the proof."
Earning criteria — what you'll demonstrate
- Design a minimal, safe language subset scoped to a concrete embedding use case.
- Lower an abstract syntax tree through an intermediate representation into WebAssembly instructions.
- Emit a well-formed WebAssembly 1.0 binary module by hand, including type, function, code, and export sections.
- Structure a compiler into front-end and back-end passes with a shared, stable AST contract.
- Validate generated binaries and verify runtime behavior against an embedding host.
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Aligned coursework coming soon.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
- Code Generation
Apply code generation to solve real industry problems and demonstrate production-level capability.
- Webassembly
Apply webassembly to solve real industry problems and demonstrate production-level capability.
- Intermediate Representation
Apply intermediate representation to solve real industry problems and demonstrate production-level capability.
- Abstract Syntax Trees
Apply abstract syntax trees to solve real industry problems and demonstrate production-level capability.
- Binary Formats
Apply binary formats to solve real industry problems and demonstrate production-level capability.
- Compiler Passes
Apply compiler passes to solve real industry problems and demonstrate production-level capability.
Careers
Career paths this challenge builds toward
Completing this challenge demonstrates skills that transfer directly to these roles:
Compiler / Language Tools Engineer
This challenge builds the core loop of compiler work: turning a parsed program into a stable intermediate representation and lowering it into machine-targetable output, then proving correctness against real examples. It maps directly to building production compilers and language tooling.
This challenge sharpens
- intermediate-representation
- abstract-syntax-trees
- compiler-passes
WebAssembly Platform Engineer
Hand-emitting valid WebAssembly 1.0 binaries and running them in an embedding host mirrors the work of building WASM toolchains and sandboxed runtimes for browsers, edge platforms, and game engines, where binary-format fluency is essential.
This challenge sharpens
- webassembly
- binary-formats
- code-generation
Game Runtime / Tools Engineer
Delivering a designer-facing scripting compiler that runs in an existing runtime is exactly the kind of internal-tooling work game studios depend on to unblock content teams, combining code generation with pragmatic subset design.
This challenge sharpens
- code-generation
- webassembly
- abstract-syntax-trees