Your path
Pick a project, then dig in
This is the order I'd suggest today. It isn't the order I took; that's on my story.
Beginner
- Start bigPick a goal you actually want, then break it down.
- Make it moveDraw to the screen with JavaScript and p5.js.
- When it breaksNothing works the first time. That's the job.
- Make a web pageHTML, CSS and JavaScript in a single file.
- Program your understandingLearn anything by building a tiny program about it.
- Bonus: retro QB64Where I began. Optional, and fun.
Coming soon
Later tracks, outlined so you can see where this is going.
Python coming soon
Python can do almost anything. A rabbit hole worth falling into.
- Scripts that do chores
- Data and plots
- Small web apps
Go coming soon
Sometimes the best design is the simplest one. Go teaches that.
- Types and structs
- Garbage collection, gently
- A small command-line tool
C++ coming soon
Closer to the machine, with memory and speed in your hands.
- Compiling and running
- Pointers and memory
- Data structures from scratch
Interview prep coming soon
LeetCode and NeetCode patterns. The struggle is what makes it stick.
- Arrays and hashing
- Two pointers and sliding window
- Trees, graphs, dynamic programming
- How to study a solution you can't solve
Competitive programming coming soon
Training for ICPC is different from interview prep, and it builds rote skill.
- Contest format and teams
- Fast I/O and templates
- Practice routines
Developer tools coming soon
Building your own libraries, APIs and agent skills teaches trade-offs.
- API design
- Libraries and frameworks
- Simple vs. clever