Skip to main content

The Systems Programmer's Moat

5 min read
Low Level

Low Level

AI writes high-level code well. It struggles with correctness at the metal. That's your edge.


The Systems Programmer's Moat

TL;DR

  • AI is great at high-level, well-documented, common patterns. It's weaker at low-level, correctness-critical, and hardware-adjacent work.
  • Your edge: understanding the machine, guaranteeing correctness, and debugging when things go wrong at the metal.
  • The systems programmer who can both use AI and verify its output is highly valuable. Don't resist — augment.

Systems programming — kernels, drivers, compilers, embedded, performance-critical paths — has a different calculus than app development. The code runs close to the metal. Bugs can be subtle, security-critical, or hardware-specific. AI has less training data here. The bar for "correct" is higher. That's your moat.

Why Low-Level Is Harder for AI

Correctness sensitivity:

  • Off-by-one in a web form: annoying. Off-by-one in memory allocation: corrupted heap, possible RCE. AI doesn't "feel" the cost of mistakes. It optimizes for plausibility. You optimize for correctness.
  • Your discipline — testing, fuzzing, formal methods — matters more here.

Hardware and platform diversity:

  • x86, ARM, RISC-V. Linux, BSD, bare metal. Drivers, DMA, interrupts. The space is fragmented. AI trains on popular paths. You know your target.
  • Platform-specific knowledge is scarce. Scarcity = value.

Limited training data:

  • There's less open-source systems code than web apps. Less documentation. AI has fewer examples. Its output is noisier.
  • You fill the gaps. You have context AI doesn't.

How AI Can Still Help You

Boilerplate and glue:

  • Setup code, build configs, bindings. AI can draft. You verify for your platform.
  • Saves time. Don't use for core logic without review.

Documentation and explanation:

  • "What does this instruction do?" "Explain this ABI." AI can summarize. You cross-check.
  • Good for onboarding and learning. Not for security-critical decisions.

Bug hypotheses:

  • "This crash could be caused by X." AI can suggest. You investigate. You confirm or rule out.
  • Use as brainstorming. Don't trust the diagnosis without evidence.

Building and Protecting Your Moat

Deepen correctness discipline:

  • Fuzzing, sanitizers, formal verification. The more you can prove correct, the more valuable you are.
  • AI can't replace "this has been proven safe." You can.

Own the hard debugging:

  • When the kernel panics, when the driver locks up, when the optimizer breaks your code — they call you. That's durable.
  • Build a reputation. Document your wins. Share your methodology.

Bridge to higher-level:

  • You understand both the metal and the abstractions. You can explain to app developers why their code is slow. You can advise on architecture. That's leverage.
  • Don't silo yourself. Communicate. Your knowledge has broad impact.

Career Trajectory

  • Specialist. Deep in one domain: kernels, embedded, graphics, compilers. Hard to replace. High demand for real experts.
  • Performance or reliability lead. You're the person who makes systems fast and correct. Every company with serious infra needs that.
  • Security-focused. Low-level bugs are often security bugs. Your skills translate. Demand is high.

Manual process. Repetitive tasks. Limited scale.

Click "With AI" to see the difference →

Quick Check

What remains human when AI automates more of this role?

Do This Next

  1. Document your "AI can't do this" list — What do you do that AI consistently gets wrong? That's your differentiation. Lean into it.
  2. Add one verification tool — Fuzzer, static analyzer, or formal method. Integrate it. Make it part of your workflow.
  3. Teach one concept — Write a post, give a talk, or mentor. Systems knowledge is scarce. Sharing builds your reputation and helps the next generation.