At some point, reading stopped being a school requirement and became something I actively sought out — algorithms, communication, leadership, in roughly that order of how naturally they connected to what I was already doing.
Algorithms: Filling the Gaps Real Projects Don't
Client and school projects teach you what's needed to ship — which is a narrower slice of computer science than a book covers. Reading about algorithms filled in the reasoning underneath the code I was already writing: why one approach scales and another doesn't, why some solutions that "work" are quietly wrong at a larger size. It made me a more deliberate developer, not just a faster one.
Communication: The Skill Projects Don't Explicitly Teach
Leading teams and freelancing both exposed the same gap — knowing how to build something isn't the same as knowing how to explain it, negotiate a deadline, or deliver bad news about scope. Reading about communication gave me language for instincts I'd been developing on the job by trial and error.
Leadership: Closing the Loop
The leadership course had already shown me that code isn't the whole job. Reading extended that lesson past a single course into a habit — understanding how good leaders make decisions, handle disagreement, and keep a team moving. It's also where a smaller habit started: I began gifting books to people on their birthdays, because the ones that shaped me felt worth passing on.