Mort, Elvis, Einstein, and You

Earlier this week I wrote about The Two Types of Programmers. Based on the huge number of comments, it seemed to strike a nerve. Or two. This surprised me, because it was never meant to be the inflammatory, provocative diatribe that many people interpreted it as. It got so out of hand that Ben Collins-Sussman, the original author of the post I quoted, was driven to post a followup clarifiying his original post.

This is a companion discussion topic for the original blog entry at:

Hey Now Jeff,
Leave it better than we found it. Great message.
Coding Horror Fan,

I fear that we are running up against the same wall other specialized professions did. Used to be there were many small electronics shops where you could have your electronics fixed, as they were made up of many independent components. The boards could be fixed, parts swapped, etc. Now consumer electronics are tightly integrated into the cases, with single purpose designs, with huge prices for replacement parts so that we are incentivized to just throw out something that is broken and buy a new one because servicing is too expensive. In the same way each new generation of IDE with more and more wizards and such built into it make it seem that the 20% of us who make like what we do is difficult are just whiners. Somebody with very little experience (sorry to pick on VB) can fire up VB, not have to know squat about why case would have any bearing, nor what a curly brace was for, and drag and drop a quickie application. When I look at the market I see recruiters who just pick and choose based on the alphabet soup of acronyms and plug bodies into seats. When I am recruiting people I ask questions like “what’s the last programming book you read?” or “what development blogs do you read?” I get 90% blank stares. Four out of five go into vapor lock when I drop a fizzbuzz test in front of them. Without the whole IDE in place (80%'ers) they are totally lost. I fear that the days of GENERAL acceptance of the 20%'ers are drawing to a close, where the only work for them will be to build the tools for the code monkeys who slap together throwaway products because that’s all that people want and are willing to pay for.

There is nothing wrong with any of those personas, but they are also very limiting. What about a prophet or evangelist? How about the pure researcher or other persona who is creating what never existed and perhaps publishing at a conference?

Personally I can see myself in of the 3 personas listed depending on context. What are the schedule pressures? How much coffee or Mountain Dew is available? Is there time to be an Einstein, or does the customer only want Mort? What persona does the problem actually call for?

Great article

i have to say it - if you get offended by this stuff, that’s pretty sad. have some confidence in who you are, ffs.

What if you’re a 80%er, and you read blogs like this? Granted, I’m a 80%er because I’m not a programmer, but I do create very messy badly written VB macros for Excel. I’m a bit of a Mort, with some Elvis thrown in.

Jeff, we all want to be in the 20%. However, I am not so sure that by being a reader, or even a regular reader, of programming blogs puts me there. I used to be a programmer in a large company, but for the past six years I have been out on my own. I have to read blogs to keep up, whereas, in the past, I could always ask someone down the hall or in the next cubicle.
It is really hard to keep up with what’s happening in the software world and still have time to deliver stuff to your clients.
I want to be in the 20%. Hell, I want to be the best developer I can be. But sometimes it is all very hard. Lot’s of fun, though.
I suppose the fact that I am in my office on Saturday means I have some passion. I would probably spend around 2 hours a day reading - blogs, software books etc. I read the stuff partly because I enjoy, but also because, if I don’t I will be left behind. And I only program Windows forms, but there is still a lot of new stuff coming out for that. WPF, for example. It looks exciting for the future, but there is a lot to be learned. I have to read just to stay in the 80%.

Along with the two types of programmers, I think that there are also two types of software development, and they correlate with the two types of programmers. I’ve elaborated more on that at

Articles like this keep me from burning out.

“I want to be in the 20%. Hell, I want to be the best developer I can be. But sometimes it is all very hard. Lot’s of fun, though.”

Surely just wanting to be in the 20% puts you there. It’s not about the achievement, it’s about the attitude. Sometimes you’ll be rushed, and have to produce hackwork. That doesn’t automatically mean that you don’t care about your work. It may merely mean you care enough about the client to produce what they need now, rather than what they should need if they had more time/money.

To Quote Bob Kelso, “Nothing in this world that’s worth having comes easy.”

Hugs everybody? :wink:

Really great points about personas being contextual and that intent has a big part of it. If you read blogs and want to be better, you’re pretty much on the right road to improving the craft. Even if you’re not a hot-shot at writing code.

You can only get better if you want to. If you’re indifferent, then it only gets worse.

I want to be in the 20%. Hell, I want to be the best developer I can be. But sometimes it is all very hard. Lot’s of fun, though.

Richard, the fact that you’re trying to improve easily sets you apart from the other 80%.

I wasnt offended by the original post.

Interestingly, though, I think you have, in some way, described the ongoing battle between the open source community and those who develop using primarily Microsoft tools.

How often, in this blog and in others, have I read one calling the other a “Mort”? I dont want to get into fingerpointing, but quite honestly its the one thing that discourages me as a programmer in general. Rather than work to convince the other, we turn to generalizations and name calling.

We all care about our craft (at least, the readers here do). In the words of my man Rodney King, “Can’t we all just get along?”

Well said (and saved). I think error in interpretation of the 20% is solely due to part of the quote:

“leaders, trailblazers, trendsetters, the kind of folks that places like Google and Fog Creek software are obsessed with hiring.”

This makes the 20% sound more like the elite 1%, which most of us know we are not. There’s a large gap between these elite 1% and the rest of the 20%, possibly as much or more than between the 20% and 80% of vocational (which I think is a fitting term) programmers. But I think your explanation sums it up well. Nice save.

Well I don’t mean “solely” really, but it was something that really stuck out at me. There were other things too, but this one was early in the article and helped set the tone.

Well, I read your blog, and I definitely do not feel like I belong in the top 20% of developers. If I do, it is truly a sorry state we are currently experiencing as a group.

In college, I majored in Business Administration and Philosophy. I ended up developing because, like most of the monolithic flagships of capitalism, the large company (~300k employees) where I work is a good twenty years behind the times. I began in MS Access and made my way over to VB .NET and MS SQL eventually.

My programming style amazes me. I am amazed I have pulled it off for so long. Comments? None. Unnecessary redundancy? Oh yeah. Loads of views, stored procedures, and tables I am afraid to delete b/c I am not sure if they are used anywhere? No comment. Backing up and Maintenance? Uh…one day hopefully.

Basically, it is a mess. However, it does have two important characteristics: First, it adds value to the organization. Second, it (slowly) gets better with time.

I am not sure where I rank as a developer, but I do not feel like I am near the top 20%. Still, I like where I am, and business has a real need for people like me performing management, analysis, development, reporting, testing, etc…all for a super-low cost!

Honestly, we need mort. Mort is useful, mort gets things done. When I am managing and building a mid to large sized team, mort does all the stuff that is fundamental, needs to be done, but ultimately isn’t that challenging or interesting.

Pieces of the system that are appropriate to elvis go to elvis, and if I need something difficult and/or wacky it goes to Einstein.

The interesting thing is in my experience (business applications/software as a service, etc) I find I have more need for Mort and Elvis than I do for Einstein. Einstein has to be careful not to slip into overcomplicating the domain and creating something that isn’t maintainable by Mort. Because we all know that someday Mort is going to be responsible for what Elvis and Einstein leave behind when they get bored and move on to new challenges.

Now i’m happy again :stuck_out_tongue:

This is a facinating topic. I’m sorry so many people took it offensively. I briefly wondered if I fit into the 80% myself when reading it, because I tend to work 9 to 5. The difference is, I maintain as close to a 40 hour work week as I can so I have time to get home and code the things I’d rather be working on. Most companies I’ve worked for don’t do anything even remotely interesting to me other than making software. Don’t get me wrong, I learn the business, but cafeteria plan management doesn’t really interest me the way, say, the new features of VS2008 does. I’d like to think I fall somewhere between Elvis and Einstein, but there are times when I have to be a Mort due to schedules.

The problem seems to be in motivating the 80% to strive to be part of the 20%. What might be useful is some tips in that area, since I, like probably most geeks tend to have rather limited social skills. “Go read a blog, loser” is probably not going to have the effect I would hope for. Anybody got some conversation starters?