2024 Link to heading

As I approach my 20th year as a professional software engineer—and my 35th year of programming—I’ve been looking back on everything I’ve learned along the way. It’s a natural moment to pause, reflect on my journey, and think about where I’m headed in the coming year.

I started programming with GWBasic on a Tandy 1000. Throughout the years I have learned many programming languages many of which I don’t even remember anymore. Basic, PHP, Python, Perl, Assembly, Java, C++, Visual Basic, JavaScript, Lua C#, and Go.

This year I picked up Go, and have been using it for all of my personal projects. I really like Go and I plan to continue having it be the main language I use. I love Go because it’s both straightforward and powerful. I rewrote an old API and improved its performance over the previous Typescript implementation by over 80%. Moving into 2025 I plan to start learning Rust.

The chart above is interactive, and as of my writing this my number 1 language is currently Go making up 51.36% of my GitHub. Rust currently comes in at number 9 with 0.25%.

I finally read the Pragmatic Programmer this last year and really love their knowledge portfolio concept. I realize that I have been doing many of the things they suggest already. I try to learn a new language every year or two even if I never plan to use them. I also have been trying to read one technical book a month starting last year.

2024 Reading List Link to heading

2025 Link to heading

Goals Link to heading

Coming into the new year I have a new list of goals.

  1. Learn Rust
  2. Read 1 book on system architecture per month
  3. Get my AWS Solutions Architect Associate Certification
  4. Looking into getting my CSSLP
  5. Switching from VSCode to NeoVim. You can check out my config here

Learning Schedule Link to heading

I try to dedicate 90 minutes every single day to continuing education. I used to be a huge fan of the Pomodoro technique. However, as time has moved on I often find 25 minute increments to short to get anything meaningful done in. I adjusted my Pomodoro time to run in 90 minute blocks with 30 minute breaks. During those 90 minutes I will work in 30 minute segments. Usually I will dedicate 1 hour to coding, and 30 minutes to courses such as the AWS Course material. Reading I do in the evening depending on the book. I try to divide each book up into 30 section and then read one section each evening while I am relaxing before bed.

2025 Book List Link to heading

Looking to the future I am excited about the new things I will learn, and excited to use these new things in projects. I encourage anyone who reads this to follow the suggestions in the Pragmatic Programmer and create your own knowledge portfolio. If you are new to software engineering, or even in a different profession completely I highly recommend the Pragmatic Programmer as THE book to read if you only read one. It will introduce you to a variety of concepts and new way to think about software.