The entire field of software development moves quickly. While this trait is definitely a part of what attracts me to the field, it can also be a lot of work to improve or keep my skills up to date. All my self-education happens through reading, so I thought it might be useful to share a list of resources that I have found especially useful. You’ll see a variety of software-related topics here, as building software involves much more than just programming.
Software Development Blogs
Coding Horror is one of the most popular software development blogs on the internet, and rightfully so. There’s a ton of great material in the archives that’s worth reading. I don’t read the blog much any more, but it was one of the first great resources I found, some years ago.
A couple samples that are representative of what you’ll find on Coding Horror:
Joel on Software
Joel on Software is another one of the most popular software blogs around. Joel is famous for co-founding StackExchange, which gives him a fair bit of credibility in the industry. Even before that, he was an experienced software professional whose writing is witty, insightful, and practical. Joel doesn’t post much any more, but his blog contains a ridiculous amount of valuable material in the archives. Some of the technical stuff on Joel’s blog is also a little out of date, but the importance of what he has to say isn’t lost because of that.
A few great samples from Joel’s blog:
Kalzumeus Software is the one man show of Patrick McKenzie, who just happens to be a fantastic writer with a lot of useful things to say. This is where I learned just about everything I know about selling SaaS products, as well as a ton of interesting stuff on running a small software business. His focuses are conversion optimization and A/B testing, but he strays from those topics a fair bit.
A few of my favorite pieces of his writing:
Great Not Big
Written by Carl Erickson, the cofounder of Atomic Object, this is a recent find of mine that I’m finding a lot of value in so far. Carl writes about starting, building, and running a small software consulting company, which happens to be the exact same situation I find myself in at the moment. Carl speaks from experience, as he’s been building his company for the last thirteen years. The cool thing about Atomic Object is that they’re semi-local, as they have offices in Ann Arbor and downtown Detroit. I recently saw Carl speak at the 1DevDay conference in Detroit, which is where I heard about his blog.
Atomic Object is a company that is already doing a lot of the things that I want from my own company, so reading about how Carl has been able to build AO is awesome. Here’s a few posts that I’ve found particularly useful so far:
- What’s Your Company Worth
- Where We Work Matters
- Innovation Services and Craftsmanship – A Natural Fit
Hut 8 Labs
While this blog doesn’t have a large archive, it still contains some great stuff, and I’m hoping for more to come from the authors in the future. Hut 8 Labs is a partnership between three software professionals who mostly write on the bigger picture of software development.
A few of their best posts:
Software Development Books
There is a vast array of software books out there, but only so much time for reading. This StackOverflow question lists many of the most important, if you’d like a long list. If I can add my voice to the discussion, here’s a few I’ve read that I feel are required reading for every developer.
Note: maybe someday I’ll do full length reviews of these books, but this isn’t the place. So for now just believe me when I say that if you’re looking to improve, these books will not let you down.
- The Pragmatic Programmer: A look at getting things done, and doing them well. I recommend the entire book, but I suppose you could just read the quick reference if you’d like.
- Code Complete 2: An in-depth look at how to construct software. Must must must read.
- Peopleware: Proposes that the biggest issues in software development are people issues, not technological ones. The exploration of how to productively build software with this in mind is enlightening, and should be read by anyone who has a leadership role in our industry. This will be particularly useful for people who started as developers and eventually moved (partially or fully) into leadership.
- Hacker News: I think I have to mention Hacker News — it’s a good way to keep up to date with news in the tech world, and the startup community is great if you like that sort of thing.
- Netflix Culture: Slide deck on culture at Netflix. They obviously do a lot of things right, so the insight into how they run their company was good reading.
- Commit Strip: And just for fun, my favorite place to go laugh at everything I do! Commit Strip offers a hilarious look at a software developer’s life, and never fails to amuse me.
So what do you think? Did you find some useful reading material here? I know I’m reading only a small fraction of what is out there, so am I missing some of your favorites? If so, you can find me on twitter @willfroese.