Bernie Cook's Blog

Azure, C#, .NET, Architecture & Related Tech News

Leave a comment

Book Review: “97 Things Every Programmer Should Know”

97 Things Every Programmer Should Know
There’s a lot of things I enjoy about being involved in the software industry, one which falls into the top 10 is talking shop with other software folk. This reason, and the fact that I’m always looking to improve my own skill set, is why I recently purchased “97 Things Every Programmer Should Know” and “97 Things Every Software Architect Should Know“. This post is a bite-size review of the programming edition of the “97 Things…” texts and I would encourage anyone who is hands-on with code, regardless of the language, framework, or their level of experience, to take the time to read it.

The book was edited by Kevlin Henney who, you guessed it, collated 97 tips from a variety of industry experts – “collective wisdom from the experts” as the byline reads. The topics all center around programming and range from topics on agile thinking, and pair programming to encapsulation and API design.

Continue reading


1 Comment

What Is “Technical Debt”?

If you’ve ever had to maintain a piece of existing then you will have had some experience with technical debt. If not by name then you’ll certainly know of it if you’ve spent longer than you should refactoring or extending a system’s code base.

So what is technical debt? Well, imagine its Friday Afternoon, and it’s Check in Time. You cant go home until you’ve checked in your code, and you cant check it in until the last test passes. To get that test to pass you know you should re-architect the object hierarchy slightly, but you know that’s going to take a long time and there’s a cold beer waiting for you at home. So what do you do? You apply a quick fix, knowing you’re going to come back on Monday morning and fix it. We’ve all been there right? But how many of us remember to make that fix on the Monday morning? And that, dear reader, is technical debt. A little bit of code, just sitting there in the code base, gathering interest in the form of every subsequent piece of code that is build on top of it, or with which it has a dependency, just waiting for the day that debt has to be paid off.” – Gary Short, UK MSDN Flash eBook: Best Technical Articles # 2

Gary Short’s Blog does a great job of defining technical debt in his post:

Technical Debt – Don’t Let it Kill Your Projects
Gary’s Blog, Aug 2010
Continue reading