A running list of things I currently believe. Some will age badly. Updating as I learn more.
- 01The fundamentals compound. A deep understanding of algorithms, data structures, and math is worth more over a 10-year career than knowing five more frameworks. Frameworks are temporary. Thinking skills stay.
- 02AI will not replace engineers who understand why systems work. It will replace engineers who only know how to use specific tools. The gap between those two types is widening fast.
- 03Boring technology wins. Postgres beats whatever new database is trending this month. The excitement around new tools tends to evaporate when you're debugging them in production at 2am.
- 04Having a hardware background makes you a better software engineer. Most CS graduates have never touched embedded systems or networked hardware. That context matters more than people admit.
- 05Learning in public is underrated. Writing about what you're building forces clarity. The act of explaining something reveals gaps you didn't know existed. This blog exists for that reason.
- 06Teaching is the best way to learn. If you're a student and you get the chance to TA, take it without hesitation. You'll learn more in one semester than you did studying for the exam.
- 07Most software is over-engineered. Simple code that does one thing well is harder to write than complex code that tries to do everything. Simplicity is a skill, not a shortcut.
- 08Your GitHub matters more than your GPA to most employers. Both matter, but the projects you ship are more concrete evidence of ability than any transcript.
- 09Open source is the most important institution in software. The fact that anyone can read and contribute to the code powering modern infrastructure is extraordinary and worth protecting.
last updated: dec 2025 · opinions subject to revision.