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.