The app for independent voices

๐—ง๐—ต๐—ฒ ๐˜€๐—ผ๐—ณ๐˜๐˜„๐—ฎ๐—ฟ๐—ฒ ๐—ฒ๐˜€๐˜€๐—ฎ๐˜†๐˜€ ๐˜๐—ต๐—ฎ๐˜ ๐˜€๐—ต๐—ฎ๐—ฝ๐—ฒ๐—ฑ ๐—บ๐—ฒ

I've spent 23 years writing code across 9 languages. Along the way, certain essays changed how I think about software.

Not the ones everyone lists. The ones that hit at the right moment.

๐Ÿญ. ๐—–๐—ต๐—ผ๐—ผ๐˜€๐—ฒ ๐—•๐—ผ๐—ฟ๐—ถ๐—ป๐—ด ๐—ง๐—ฒ๐—ฐ๐—ต๐—ป๐—ผ๐—น๐—ผ๐—ด๐˜† (2015) by Dan McKinley gave me permission to ignore the hype cycle. You have a limited innovation budget. Spend it where it matters. Use proven tools for everything else. I stopped chasing new frameworks and started shipping faster.

mcfunley.com/choose-borโ€ฆ

๐Ÿฎ. ๐—ฃ๐—ฎ๐—ฟ๐˜€๐—ฒ, ๐——๐—ผ๐—ป'๐˜ ๐—ฉ๐—ฎ๐—น๐—ถ๐—ฑ๐—ฎ๐˜๐—ฒ (2019) by Alexis King changed how I handle data at system boundaries. Stop checking if data is valid. Make invalid states unrepresentable. Use types to enforce correctness at compile time, not runtime. This moved me from defensive programming to confident programming.

lexi-lambda.github.io/bโ€ฆ

๐Ÿฏ. ๐—ง๐—ต๐—ถ๐—ป๐—ด๐˜€ ๐—ฌ๐—ผ๐˜‚ ๐—ฆ๐—ต๐—ผ๐˜‚๐—น๐—ฑ ๐—ก๐—ฒ๐˜ƒ๐—ฒ๐—ฟ ๐——๐—ผ, ๐—ฃ๐—ฎ๐—ฟ๐˜ ๐—œ (2000) by Joel Spolsky stopped me from rewriting working code more than once. The old code contains thousands of fixes for problems you forgot existing. Throwing it away means learning every lesson again. Refactor instead. Improve gradually.

joelonsoftware.com/2000โ€ฆ

๐Ÿฐ. ๐—ง๐—ต๐—ฒ ๐— ๐—ฎ๐—ท๐—ฒ๐˜€๐˜๐—ถ๐—ฐ ๐— ๐—ผ๐—ป๐—ผ๐—น๐—ถ๐˜๐—ต (2016) by DHH arrived when microservices mania was at its peak. Sometimes a well-structured monolith beats a distributed mess. Not every system needs to be Netflix scale. Most don't.

signalvnoise.com/svn3/tโ€ฆ

๐Ÿฑ. ๐—ช๐—ต๐˜† ๐—ฌ๐—ผ๐˜‚ ๐—ฆ๐—ต๐—ผ๐˜‚๐—น๐—ฑ ๐—ก๐—ฒ๐˜ƒ๐—ฒ๐—ฟ ๐—จ๐˜€๐—ฒ ๐— ๐—ผ๐—ป๐—ด๐—ผ๐——๐—• (2013) by Sarah Mei wasn't really about MongoDB. It was about understanding trade-offs and questioning vendor promises. Every technology choice has costs. Make them explicit.

sarahmei.com/blog/2013/โ€ฆ

๐Ÿฒ. ๐—ง๐—ต๐—ฒ ๐—๐—ผ๐—ฒ๐—น ๐—ง๐—ฒ๐˜€๐˜ (2000) gave me a simple way to evaluate teams and processes. Twelve questions with clear answers. I've used this to diagnose problems in every team I've joined. It cuts through complexity and identifies gaps fast.

joelonsoftware.com/2000โ€ฆ

๐Ÿณ. ๐—›๐—ผ๐˜„ ๐˜๐—ผ ๐——๐—ฒ๐˜€๐—ถ๐—ด๐—ป ๐—ฎ ๐—š๐—ผ๐—ผ๐—ฑ ๐—”๐—ฃ๐—œ ๐—ฎ๐—ป๐—ฑ ๐—ช๐—ต๐˜† ๐—ถ๐˜ ๐— ๐—ฎ๐˜๐˜๐—ฒ๐—ฟ๐˜€(2007) by Joshua Bloch changed how I design interfaces. APIs are forever. Get them right the first time. Make them hard to misuse. Provide clear contracts. I review every public method against these principles now.

static.googleusercontenโ€ฆ

8. ๐—ง๐—ต๐—ฒ ๐—ฅ๐—ถ๐˜€๐—ฒ ๐—ผ๐—ณ ๐—ช๐—ผ๐—ฟ๐˜€๐—ฒ ๐—ถ๐˜€ ๐—•๐—ฒ๐˜๐˜๐—ฒ๐—ฟ (1989) by Richard Gabriel explained why simple systems often win over perfect ones. Simplicity beats completeness. Working code today beats perfect code someday. This shaped how I approach architecture. I aim for systems that work and can evolve. Perfect is the enemy of shipped.

dreamsongs.com/RiseOfWoโ€ฆ

Each essay challenged conventional wisdom at the time it appeared. Each came from someone who had shipped real systems and learned from actual failures.

They shaped how I write code, design systems, and lead teams. Not because they're comprehensive or definitive, but because they addressed specific problems I was facing when I found them.

The best essays do that. They arrive at the right moment and change how you see your work.

What shaped you?

Dec 2
at
8:06 AM
Relevant people

Log in or sign up

Join the most interesting and insightful discussions.