Category Archives: Programming

Software Development and the Gig Economy

These days it is common to hear arguments that software development is becoming gig based. In other words, companies will not hire programmers for permanent positions. Instead, they will put together temporary teams of independent contractors from anywhere in the world to complete projects.

This is no doubt true for some software development tasks. However, for companies whose core product is software, this model makes very little sense.dsc_0244 Continue reading

Book Review: The Effective Engineer

Last month we finished reading “The Effective Engineer” by Edmond Lau in the book club at work. It is a great book full of practical advice on how to get more done as a software developer. In fact, it is one of the three books I think all programmers would benefit from reading (the other two are Code Complete and The Pragmatic Programmer).

dsc_2507

Continue reading

Things Programmers Say

Recently @ThePracticalDev asked people on Twitter for typical things programmers say:

There were a lot of great answers. Here are my favorites: Continue reading

Book Review: Release It!

In the book club at work, we recently finished reading Release It! by Michael T. Nygard. It is a book I have been meaning to read for a long time, but somehow I never got around to it until now. It was written in 2007, and it is starting to show its age in several respects.  Despite this, there is still a lot of relevant advice on how to make software work well in production.

dsc_1578

Continue reading

18 Lessons From 13 Years of Tricky Bugs

In Learning From Your Bugs, I wrote about how I have been keeping track of the most interesting bugs I have come across. I recently reviewed all 194 entries (going back 13 years), to see what lessons I have learned from them. Here are the most important lessons, split into the categories of coding, testing and debugging:

DSC_1104

Continue reading

Learning From Your Bugs

DSC_0663Bugs are great learning opportunities. So how do we make sure we learn as much as possible from the bugs we fix? A method I have used for more than 13 years now is to write down a short description of the bug, the fix, and the lessons I learned.

Way back in 2002, I came across a blog post (that I unfortunately can’t find again) that described this method. I have used it ever since, and I believe it has helped me become a better software developer.

Every time I fix a particularly tricky or interesting bug, I take a few minutes to write down some facts about it. Here is an example of a typical entry: Continue reading

More Good Programming Quotes

In my previous post, The Wisdom of Programming Quotes, I called out some quotes that look good on the surface, but turn out to promote the wrong ideas about software development. I have also posted some of my favorite programming qoutes in the past. But I thought I would list a few more good ones. Continue reading