Allie Codes

Back to home

November 10th, 2025

Invest in your knowledge portfolio

I was flipping through an old notebook the other day and came across these handwritten notes from a section in the Pragmatic Programmer. I had completely forgotten that the section affected me so much that I had to write down the contents. The lessons stayed with me for years and changed how I approach learning.

I’m going to start with copying the notes here. Partially to preserve them for myself, but also to share this lesson with anyone who might be interested in the art of learning.


Learning Goals/Your Knowledge Portfolio

Invest regularly in your knowledge portfolio

Knowledge Portfolio

  • Serious investors invest regularly as a habit
  • Diversification is the key to long term success
  • Smart investors balance their portfolio between conservative and high risk, high reward investments
  • Investors try to buy low and sell high
  • Portfolios should be reviewed and rebalanced regularly

The habit is just as important as the sums

Learning Goals:

  • Learn a new language every year
  • Read a technical book every quarter
  • Read non-tech books, too!
  • Take classes
  • Participate in user groups
  • Experiment with different environments
  • Stay current
  • Stay connected

Always have something to read in an otherwise dead moment

Takeaways:

  • It’s easy to get caught up in the day-to-day and feel like learning is secondary to the current piece of work. This is not true. They are equally as important. There must be a balance of working on the present and investing in the future.
  • Failure to invest is throwing away future potential

Notes inspired by The Pragmatic Programmer, chapter 1.5


Don’t worry, I’ll start tomorrow

I’m not perfect, and I have not consistently invested in my knowledge portfolio as much as I should. However, reading this chapter made me realize how much of a “start tomorrow” person I was. I would go into my day with some learning goals, like reading a chapter in a tech book or working on a side project.

But once I got up for the day, I would check Slack and find that other developers were talking about a bug that I might know something about. Or I would just spend a few minutes working on that ticket and get to the “extra” learning stuff later.

This was detrimental to my learning goals!

Before I knew it, working on that quick bug would get followed by a coworker asking for help. Then a meeting would pop up. Then half of the day would be gone and I really need to make some progress on my ticket before the next meeting. Then the day is almost over, my brain feels a little fried, and it’s time for me to cook dinner.

When did I give myself any time to invest in my professional development? It’s easy to justify it, because I wasn’t slacking off. I was working! All of the things I did today were important for my job and reflecting on the day made me feel like there was nothing I could have done differently, but I will do better tomorrow.

Tomorrow. Tomorrow…

Until it’s been over a year, and I never actually cracked open that tech book.


Want to read more?

Stop Telling Juniors AI Can Do Their Job

Jan 04, 2026 · 11 min read

As you may have heard, the end is near. AI will do all of the software engineering and we will be redundant. Except, that’s just not quite true, is it?

Typing your interfaces beyond the feature

Nov 24, 2025 · 15 min read

Best practices of typing your code. Type for the resource and not the feature

Effective Pull Request Reviews

Nov 15, 2025 · 10 min read

Strategies on being more effective on PR reviews. Stop nitpicking and start having value