Reflection — An Honest Take 8 min

Honest Take — Before You Begin

Zig is the most niche language in this curriculum. The community is small, the ecosystem is immature, and finding a Zig job is nearly impossible today. If you're doing this for career ROI, Zig is a terrible investment. So why is it here?

Because Zig teaches you things Go and Rust hide. Go hides memory management behind a garbage collector. Rust hides unsafe operations behind safe abstractions and a type system that proves correctness at compile time. Zig hides nothing. Every allocation is explicit. Every error path is visible. Every system call is yours to make and yours to clean up after.

After Rust's borrow checker, Zig's manual memory management will feel liberating -- and terrifying. You'll reach for RAII patterns that don't exist. You'll forget to free an allocator. You'll write a use-after-free bug that Rust would have caught at compile time. And that's the point. Zig forces you to understand what Rust was protecting you from.

There is only one core Zig book (Learning Zig by Karl Seguin), but the supplementary resources are excellent. Ziglings (exercises in the style of Rustlings) will get you writing code immediately. zig.guide is a solid reference. Andrew Kelley's talks explain the "why" behind every design decision -- and unlike most language creators, he's brutally honest about tradeoffs.

Be prepared for Zig to feel like a step backward after Rust. It is, deliberately. Zig trades safety guarantees for explicitness and simplicity. Where Rust says "I won't let you make this mistake," Zig says "I trust you to handle this correctly." That's a fundamentally different philosophy, and experiencing both will make you a better systems programmer regardless of which you end up using.

The fact that Bun (the JavaScript runtime that's genuinely fast) and Ghostty (Mitchell Hashimoto's terminal emulator) chose Zig over Rust is a statement. Not that Zig is better -- but that some very talented systems programmers value explicitness and simplicity over compile-time safety guarantees. Understanding why is more valuable than any syntax you'll learn in this module.

For a Rails developer, Zig is the furthest possible journey from your comfort zone. Ruby hides everything. Zig hides nothing. That contrast alone justifies the module.

Learning resources 7

That's the free preview. Sign in to continue this course.

Sign in to continue

New here? Make a desk →