Skip to content

Programmer Resources

Published: at 10:50 PM

A friend recently asked me what I’ve used to improve as a software engineer. I mentioned a bunch of resources. When he later asked me for a list, I realized I didn’t have one yet. In this post, I’ll share resources that have helped me grow.

A quick word of advice before I go into the list. I think the key to improvement boils down to two things:

  1. Regular, purposeful practice
  2. Research

For the first point, make practice a habit and a regular part of your schedule. I usually schedule about 30 minutes to an hour each weeknight for programming-related activities. I’ve done that for a few years and I’ve noticed improvement.

For the second point, even a small amount of research can help you improve. As obvious as it sounds to Google how to do something, we often don’t think to do it. As an example, I didn’t think to look for how to ask good questions.

Okay! Let’s talk resources.

Blogs

I usually read stories and articles when they appear on Hacker News. A few authors show up with consistently good posts:

Books

I have a hard time sitting down and powering through a programming book, unless I’m on an airplane where I have nothing more interesting to do. If a book feels immediately practical and / or uses exercises, I have an easier time with it. Of the software books I’ve read, I recommend:

Talks

Listening to software-related talks is one of my favorite tricks to improve as an engineer. I wrote a post a few years ago about a few of my favorite talks.

I have a few sources that I check for programming-related videos:

Courses

Massively Online Open Courses (MOOCs) offer an amazing way to for growing as an engineer. I’ve used MOOCs since 2011, when Stanford offered three courses online for free and completed something like 15 MOOCs so far. This is what I’d recommend:

That’s all I have for now! I’m still learning too so I’ll update this post as I encounter new resources to recommend.


Previous Post
More Code Review Best Practices
Next Post
Dangerous Python Functions, Part 3