Recommended Reading I

Posted by: Clarity Blogs: ASP.NET, on 25 Feb 2009 | View original | NEW Bookmarked: 0 time(s)

Lately I've been discussing blogs a bit more than usual, and a few coworkers have asked me what programming-related blogs I typically read. I can export all my feeds from Google Reader, but I'm finding that there are really just four blogs that have withstood the test of time and become my all-time favorites. Since these are blogs that I think any programmer should check out at least once, I thought I'd share them with you all, in the hopes that you'll find something new and enjoyable. Consider it the first installment of my "recommended reading" list for developers. Along the way, I'll try to give a good starter post for each one to give you a feel for each writer's style.

Joel Spolsky - Joel on Software

Joel on Software was the first programming blog I ever read regularly, and it's a testament to its consistent quality that it's still in my top four. I can't remember how I initially found it, but it was sometime in the middle of college, and after that, it became a large factor in my education. While we were learning algoritms, data structures, and other more code-focused topics in class, Joel wrote about almost everything else in software development: the roles of developers and managers on a team, the tools every development team needs in their environment, how to process bugs, interviewing developers, and much more. And not only is it informative, it's entertaining, too. Joel usually has some sort of personal anecdote or fictional story to help illustrate his point, and they're usually pretty funny.

Throughout the remainder of my college career, I scoured the Joel on Software archives, reading many of his best articles and learning a ton about the world of software development. When I went into a couple of internships and then started at Clarity, I could tell Joel had definitely prepared me. That's why I say that only half of my software development education came from my classes: the other half was Joel on Software.

As far as a representative post goes, Joel's made it easy on me. After a recent redesign of his site, many of his best works are listed right on the front page, separated into categories. If you still want a single post to start off with, though, I recommend The Development Abstraction Layer. I think it covers all the important points: an entertaining story, an explanation of the problem, and a point about software development that perhaps you hadn't heard before.

Jeff Atwood - Coding Horror

Coding Horror is a blog that I kept seeing pop up over and over again among the top articles on the programming reddit, and eventually I decided I'd just go ahead and subscribe to the feed. Jeff tends to focus a bit more on developer-centered topics: code organization, some hardware tips, etc. His posts are short, but he usually has a few each week, so there's still a lot to read - probably more than any of my other three favorites. To me, very few of his posts stand out as a great "Aha!" moment, but each one makes you view the topic in a slightly different light than you did before. You could almost think of it like a programmer's thought-of-the-day calendar. Chances are, no one post is going to change your career, but over time they build up and have a significant impact on the way you think about software development.

I don't know that there's any one great starter post for Coding Horror, but try Spartan Programming, then just cruise around the archives a bit. Put it in your RSS feeds for a week or two, and see how it goes.

Michael Lopp, a.k.a. Rands - Rands in Repose

Rands also writes about software development, but focuses more on the managerial aspects, as well as how he generally keeps himself and his work organized. If anything, I'd say his distinguishing trait is that he loves Naming Things. He'll talk about the roles people have in meetings, such as Sally Synthesizer or The Anchor, describe his Morning Scrub and Parking Lot as parts of how he manages his day, and tell you about his affliction with Nerd Attention Deficit Disorder. It's silly, but it puts a name on a concept that was only vaguely-defined before, making it easier to discuss and reason about. In general, I think Rands helps you recognize patterns in your day and in your own thinking that you weren't quite aware of before, and helps you encourage or discourage them as appropriate. That really doesn't do his blog justice, and it's only a part of what he writes about, but primarily, that's how I think of Rands.

My favorite Rands post is easily Free Electron, and I think it makes a good intro to his writing, as well. To someone who's been reading about software development for any significant amount of time, it covers some familiar territory along the lines of "some programmers are orders of magnitude better than others", but it's fleshed out in a great example, and is taken to more of an extreme than I've seen elsewhere. It's even inspiring in a "that's the kind of programmer I want to be" kind of way. Check it out.

Steve Yegge - Stevey's (Drunken) Blog Rants

Unlike the other three, I remember exactly when I found Steve Yegge: I was actually referred to him by one of Joel Spolsky's posts. I started reading some of his "best of" posts, and I was hooked. His posts are typically more far-reaching and philosophical (much more so than the other three bloggers mentioned here), and put into words a lot of the problems I had thought about but was never quite able to express. He focuses a lot on programming languages, and being a bit of a language geek myself, it was a great fit for me. He's very blunt and in-your-face about a lot of his opinions, but he does it in a comical way, and he has some great insight. Also, his Effective Emacs post, along with one or two others, was the reason I started using emacs. So if you're ever one of those people that comes over to my desk and asks "You use emacs? Really?", or the bewildered "Why the heck would you swap the Control and the Caps Lock keys?", that's why. Oh, and that's also why I'm writing this post in emacs right now.

There are actually two separate blogs: The one he started while at Amazon, which I linked to above, and the new one since he started at Google. I think his best writing is on the old Amazon one, but you be the judge; there's good material on both. For a starter, read The Five Essential Phone-Screen Questions. It's one of his more well-known posts, and it came up in a debate at lunch the other day, so I think it's a good read whether you agree with the idea or not. And one last note: some (or most) of his entries are really long, so caveat emptor.

Some Thoughts

Having never thought in depth about these four blogs much before, I realize that they have more in common than I first thought. They're all practical to some degree, but each one has at least a bit of philosophy in it as well. Plus each of them is just a fun, enjoyable read, especially on their best days. Maybe that's just my taste, or maybe that's just what makes for great writing about programming.

So now that I've shared my favorites with you, what did you think? Did you enjoy these? Any important ones that I missed and should be reading? Let me know in the comments, and I hope I've given you at least a little bit of new enjoyable reading that you didn't have before.

Advertisement
Category: Software | Other Posts: View all posts by this blogger | Report as irrelevant | View bloggers stats | Views: 1 | Hits: 0

Similar Posts

  • And Get Rid Of Those Pesky Programmers more
  • Using Request inside Actions: why it is a bad idea more
  • The code for my blog site is now available on codeplex.com more
  • Developing an ASP.NET AJAX Server Centric Based Mini Blog System - Part 3 more
  • Predictably Irrational more
  • Using an ORM? Think Objects! more
  • What Do You Use to Read / Consume Blogs, News Sites, and Other RSS Feeds? more
  • Silverlight 2 Beta 1 Assemblies and Namespaces Part 2 the v2.0 subset more
  • Book: Working Effectively With Legacy Code more
  • Mocks, Stubs and Fakes: it's a continuum more

News Categories

.NET | Agile | Ajax | Architecture | ASP.NET | BizTalk | C# | Certification | Data | DataGrid | DataSet | Debugger | DotNetNuke | Events | GridView | IIS | Indigo | JavaScript | Mobile | Mono | Patterns and Practices | Performance | Podcast | Refactor | Regex | Security | Sharepoint | Silverlight | Smart Client Applications | Software | SQL | VB.NET | Visual Studio | W3 | WCF | WinFx | WPF | WSE | XAML | XLinq | XML | XSD