After hearing This American Life's Lists!!! this week, I felt inspired to make one of my own. I reflected on how I build software and wrote down ten rules that guide me. I hope some of these connect with you too.
- Though Shalt Demand Clarity: Never accept vague answers or sloppy reasoning. If you can't state a problem, you can't find a solution. Chase clarity until it's nailed down.
- Though Shalt Iterate Relentlessly: Draft, refine, debug, polish, repeat. Code, comedy, recipes, prose, nothing is finished until it's been sharpened through iteration.
- Though Shalt Seek Simplicity: When things feel messy, zoom out. Draw diagrams, state problems clearly, break challenges into pieces. The best complex systems are built from simple parts.
- Though Shalt Question Everything: Don't be afraid to ask questions. If you don't understand something, chances are others don't too.
- Though Shalt Never Stop Learning: Wether it's game design, LLMs, web development, or functional programming, stay hungry. Sometimes the old ways must change. Be bold enough to start fresh. Every challenge is a chance to learn.
- Though Shalt Build for Individuals: Create things that make individual lives better. When in doubt, start by building something for yourself. Chances are, if you need it someone else does too.
- Though Shalt Balance Humor and Rigor: Absurd stories about skibidi toliets and savage roasts belong beside precise explanations of codebases. Life can be ridiculous and precise. Embrace both sides.
- Though Shalt Embrace Constraints: Small teams, legacy codebases, and tight timelines are creative challenges. Let constraints sharpen innovation.
- Though Shalt Say No: Time is precious. Prioritize what moves the needle. Say no when needed to cut distractions.
- Though Shalt Collaborate Generously: Progress comes faster when shared. Teach, mentor, and empower others to build alongside you. Build ten things with others rather than leading one alone.