Analyzing without a License

This post originally appeared May 16, 2012 on

I’ve posted about him before, but if you’re not reading Jeff Atwood’s Coding Horror blog, you’re really missing out. Today's post is perfect. There are several lines that really stuck with me, here is one of my favorites:
Please don’t advocate learning to code just for the sake of learning how to code. Or worse, because of the fat paychecks.
Over a year ago, in response to one of my posts here on the site, someone told me that if I didn’t like how developers did their jobs, I should go out and write the code myself. The idiocy of the statement just astounded me. Now, here is one of the premier programmers in the world, backing me up.

You see, learning to code is very similar to business analysis or project management. It may sound like something that anyone, given a weekend and a ‘Teach yourself XXXXXX in 24 hours" book can do, but learning a programming language does not make you a developer, nor does learning the concepts behind business analysis or project management make you either one of those professions.

My biggest concern is that most everyone should not learn these skills. To quote the movie Tommy Boy:
Tommy: I can get a good look at a T-bone by sticking my head up a bull’s ass, but I’d rather take a butcher’s word for it. 
Most business people shouldn’t need to know more than the basics about technology and they definitely shouldn’t know enough to try doing project work, at least not beyond being a SME. Its not that these people are dumb, far from it, but their expertise is in running the business. Those of who work on projects, developers, analyst and PMs, have our areas of expertise as well. Some of the skills overlap, but lots more do not.

With my background as an analyst, I do tend to see everything through that lens. When I’m in a meeting to discuss a recently discovered problem or opportunity and the first thing I hear is someone say, “What we need to do is…” I find myself trying to breathe deeply and not lose my temper. Starting at the solution without really getting a firm understanding of the problem is one of the worst mistakes you can make when doing analysis. It is a very easy failure to make, one I see analysts make regularly, but one that you have to train yourself out of in order to be the best at what you do.

Be an expert at the things you’re really good at and leave everything else to the experts in other fields. When we work together as a team of experts in our own field, we do better than a bunch of amateurs who don’t know enough to know they don’t know what they’re doing.