You can autocomplete a career.
Or you can understand one.
A field guide for young engineers who grew up with an autocomplete that writes whole functions. The tools are incredible. The risk is handing off the one thing that made you an engineer: thinking.
./dependence --show
What it looks like
In the moment it only feels fast. The dependence shows up later, the day the tool is down and the work stops with it.
git diff your-habits
The house rules
Use AI. Just use it the way a senior engineer uses a junior dev: hand off the grunt work, then actually read what comes back. If you couldn't defend a line in review, it doesn't ship.
01 Read the error before you paste it
02 Never merge what you can't explain
03 Struggle first, prompt second
04 Learn the layer below
05 Type it at least once
06 Measure, then improve
ls field_notes/ | head -3
Build it to understand it
The fastest way to understand a tool is to build a small one yourself. A few worth your weekend.
Build your own database from scratch
A key-value store and a relational database in Go: persistence, B-trees, and transactions, with no framework hiding the hard parts.
// systems · networkingBuild your own Redis in C/C++
Clone Redis to learn network programming, data structures, and low-level systems work from the socket up.
// compilersFrom source code to machine code
Write a compiler that turns a statically-typed language into real x64 ELF executables. The end of "compiler magic."