Publication Date: 9/25/2009 6:19:44 AM
Unless you are a programmer, you probably don’t read Joel on Software since, well, he writes about software development. It is too bad, because he actually writes about the business of software development, and not complicated coding techniques.
This week he wrote about The Duct Tape Programmer. HIs post describes a type of programmer who isn’t fascinated by the most cool, complicated programming solution, and instead focuses on building applications and shipping software. He compares this programmer to architecture astronauts who have really great ideas about building software, but their ideas require people smarter than most of us.
I think Joel is dead on right about the usefulness of Duct Tape Programmers. There are too many programmers who want to make the process more complicated than it needs to be. Shipping is definitely a feature. And my goal is to be confident enough to tell those architecture astronauts to stuff it.
One problem with Duct Tape Programmers that Joel doesn’t cover (much) is that they often look like another kind of programmer. I’ll call these other programmers Band-Aid Programmers. These dudes are so focused on shipping, they’ll apply patches and band-aids to problems, one on top of another, without really fully understanding the problem. They build applications that come flying apart if one tiny change is made, because they are being held together with band-aids and spit.
Frankly, they suck. And their applications suck too.
Duct Tape Programmers know that even if you have to use duct tape occasionally to solve a problem, your whole creation probably won’t do as well if that’s all it is made with (duct tape prom dresses not withstanding).
Here’s how I would break the two types out:
…care about new tools and technologies that will help them ship faster, but look upon them with a skeptical eye until they are proven to be useful.
…understand that code has to be maintained, and so it needs to be as clear and understandable as possible.
…use known best practices for software development, such as source code control.
…can work individually or in a group.
…don’t care about new tools and technologies that might help them ship faster, because in the short term they will take effort to learn and master, and they are too busy writing code.
…don’t care about code maintenance, either because they are hoping they won’t have to maintain the code, or because they are just not that forward thinking.
…think best practices are for architecture astronauts, and they can’t be bothered by them. They have their own “process” that works.
…can only work individually, either because those other programmers aren’t “good” enough, or because no one can stand to be around them.
Joel says Duct Tape Programmers are the pretty boys of the programming world, but I think he’s wrong here. Calling them pretty boys makes it sounds like they are easy to spot. But that’s not true. I think at first glance it is difficult to tell if a programmer is a duct tape programmer or a band-aid programmer. One thing is for sure: you’ll want to figure it out before you hire them.
Think like a geek
Your URL (optional):
Type the code shown
Top 5 Programmers to Avoid
What everyone should know about bugs
How to tell if an estimate sucks
The Secret to Building a Crappy User Interface
The Problem with Selecting the Lowest Bidder
5 Ways to Control Software Development Costs
Avonelle is an incredibly talented software developer. She works fast, is economical, and offers great insights into the project at hand. She is also not afraid to speak up when she has concerns about a decision or approach. We’ve utilized her talents on many of our software development projects over the years.
Carrie Rocha, Chief Operating Officer @ HousingLink
Copyright © 2013 Avonelle Lovhaug. All Rights Reserved.
Sitefinity ASP.NET CMS