Mort, Elvis, Einstein, and You

I couldn’t agree more with Jeff and the comments here. When I took my first job I was amazed that only a few of the developers actually programmed outside of their job. Those were the few programmers that like myself had blogs, read blogs, after work had interesting conversations about the best programming language to use for a certain problem and talk about compilers and web development stuff for fun.

I used to think that all computer people were like me - I LIKE computers. All of it. Even learning the quirks of Vista. Then I got a job doing it and met the other 80%. People who got into programming because it pays well - they don’t have a computer at home, and don’t even like computers. We talk, but they don’t understand me, and I don’t understand them. They think I need to get out more (I’m actually quite busy with other stuff - I have two kids) and I think they need to realize this isn’t McProgramming for me, it’s ME.

And thanks - my bookshelf has added Code Complete, Pragmatic Programmer and The Mythical Man-Month since I started reading your blog.

“The problem isn’t the other 80%. The problem is that we’re stuck inside our own insular little 20% world, and we forget that there’s a very large group of programmers we have almost no influence over. Very little we do will make any difference outside our relatively small group. The problem, as I obviously failed to make clear in the post, is figuring out how to reach the unreachable. That’s how you make lasting and permanent changes in the craft of software development.”

Does it ultimately matter what a bunch of people who are not interested think or do? By definition, those 80% are not trend setters, they are followers. They are so disinterested, they’ll continue to use the same stuff they have been no matter what they are introduced to: that’s what puts them in the 80%. They may write software that is useful or does something innovative within its area, but they aren’t writing the meaningful advancing the state of the art stuff. They can’t because advancing the state of the art has to come from a dedication to the task that the 80% doesn’t want, or is unable, to put in. It seems like it would be a waste of time to try to bring more of the 80% into the 20% fold: it would be wasted breath, they aren’t interested: if they were, they’d be in the 20% already.

Has the art of cooking stagnated because a major portion of the population is merely interested in “eating to live” not “living to eat”? Has the popularity of fast food (in terms of “X billions served”) kept chefs from innovating in the kitchen and pushing the limits of their craft? Are chefs meeting in kitchens around the world wondering how to get their message of better food out to the masses?

The number of people who work on the Linux kernel, or the various BSD maintainers, is some small portion of the 20%, and yet they wield significant influence over the direction of the industry. How much output of Microsoft, for example, has been a direct response to where open source goes? Of those 80% who use Microsoft are then indirectly influenced to use the tools they are provided.

But perhaps the goal is not get more of the 80% interested, but to use the 80% as another user type, another target demographic. Really, when the 20% push the state of the art, they are most likely going the classic hacker route of creating-tools-to-create-tools. Those tools then have applicability to what the 80% is doing. It’s going to be difficult to engage the 80%, to make them realize that they should be passionate, but that doesn’t mean they shouldn’t have an influence. Part of the 20%'s passion is to make useful things, and the 80% can help determine what is useful.

The problem with trying to help other folks along is that the so-called teachers don’t master their area either. The knowledge that’s usually taught is a too ordinary one, which once mastered just makes you another so-called teacher at best. There’s nothing wrong with that, which is the case for a safe course of action. It’s not like you are going to find something super-duper at the end of the rainbow though, and that’s my point.

Personally, I don’t understand the need to bring the other 80% along. There are many areas of life and business where the 80/20 rule applies and the important thing is to reward the 20% and, from a management perspective, get the absolutely most you can out of them.

There will always be a chasm between the 80% and the 20%, its not the 20%'s job to close that gap - its their job to stay in the 20%. With the internet, though, the absolutely beauty is the tools and information to move from the 80% - 20% can be accessed when/where you have time for very little - and for that I would like to give a great big thank you for the 20%-ers that came before me. All I needed was the desire to get there.

If someone in the 80% can’t even muster the desire to read a blog or a couple pages of a book once a week, well, then…I’m sorry.

Nice conclusion. However, I can’t help but conclude there’s a wide gap of capabilities between both edges of that 20% range…

I really wish that 40 hours a week would be enough to maintain a respectable level of programming skills, but since technology is growing faster than any one’s skills, it appears only too normal to sacrifice balance for employability and peer respect. Sometimes, when I read technical blogs and I see all that work that has gone into them, I can only hope they’re written on company hours by casually inspired developers.

Our time shouldn’t have to be split between lousy professional work and great hobbies.

Telling the Morts of the world to “Get better, dammit,” is not going to be very productive. And it’s not because the Morts out there are a bunch of lazy programmers who are itching for Friday to roll around so they can stop this stupid programming thing.

The majority of businesses in the US have less than 100 employees and have, over the years, turned to computers to streamline their business processes and workflow. Many of these smaller businesses cannot afford to hire a full time developer, so they ‘promote’ Johnny over there who took a VB programming class at Fallbrook High and who, last year, created a brochure-ware website for his Aunt’s scrapbooking supply store. So Johnny’s spending 10 hours a week doing some VB programming, basically creating a simple data-driven application to track sales, or writing a script that converts the data saved by QuickBooks into more flexible reports that they can view through Access. Whatever.

The point is, Johnny doesn’t have the time and his company doesn’t have the resources to invest in his continuing education. He’s a salesman for the company first, and just does these odd programming jobs on the side in his spare time. His passion is selling, not code, but his company has come to rely on the internal programs he’s created.

Here we are, the 20% whose passion IS programming, who take the time to learn and foster our trade, our art. We expect that Johnny over there should have the same interest, the same drive to master this stuff, to “leave the state of programming better than where he found it.” Try telling that to his boss who would rather have Johnny selling 40 hours a week.

No, programmers like Johnny should never be working on applications that have multi-million dollar budgets. And these types of programmers shouldn’t be working on exterior-facing websites that store sensitive data. But the fact of the matter remains that there are many small companies that have these types of part-time developers, especially in smaller towns where the nearest “real” programmers might not be found. So give Johnny a break, and let him program in a crappy style. Make Microsoft work harder to develop products that Johnny can use to create programs that are “good enough,” but don’t demand that Johnny work harder.

“Part of the 20%'s passion is to make useful things, and the 80% can help determine what is useful.”

great stuff, i totally agree. It takes Elvis and Einstein to create great technology, it takes Mort to make it ship.

I feel so validated.

Bless you!

“Here we are, the 20% whose passion IS programming, who take the time to learn and foster our trade, our art. We expect that Johnny over there should have the same interest, the same drive to master this stuff, to “leave the state of programming better than where he found it.” Try telling that to his boss who would rather have Johnny selling 40 hours a week.”

True, there’s no helping the Johnnys who don’t even consider themselves programmers, but what about the 9 to 5 guys who do? Perhaps it is a lost cause. I try to imagine people in other professions trying to reach out to their coworkers and inspire them to try to excel at their job, and I can’t conceive a single scenario that doesn’t make me laugh.

But perhaps, just perhaps, there’s a small segment of the 80% that want to be better programmers, but don’t know how. I’m sure most of us arrived where we are because we were driven to learn all we could about our craft, but those with less natural aptitude in this area might need a little guidance, someone telling them “This is what the developers who excel do. This is the difference between a programmer and a developer. This is the difference between a developer and an architect.” etc. Then maybe we raise the bar for the 80% a little. Perhaps it’s part of the developer psyche but I can’t just leave well enough alone: I have to think “What can I do to help this get better?” It drives everybody I work with insane.

By the way, love your site, Scott.

Side note: why is my captcha always the same? Is it supposed to do that?

The Mort/Elvis/Einstein classification presumably encompasses valuable employees (as Microsoft has strong hiring practices), how about the rest of us who have to deal with Joe, who produces 100 LOC per minute along with 500 bugs, or Jane (let’s not be sexist to exclude the females) who is not capable of transforming a slightly complicated flowgraph into code, or Jack, who thinks he’s Einstein and writes amazingly complex code which can be replaced with something much simpler.

I think the three types are modes of working rather than stereotypes, and it’s important that you get people who are good at whatever their role requires.

Regarding the 20/80 split, the 80% crows consists of a lot of people who are in IT for the money, but if the industry needs them it probably means that they are useful. Personally, I’m a bit of a perfectionist and if one day I have my own company I won’t be relying on them. Looking objectively though, if they have a 9-5 job they’d have much smaller chances of having health and relationship issues.

Also, I find that the “passionate” 20% crowd often consist of people who almost always have too much passion and too little reason. The IT industry is built on a lot of fads. The real leaders are not the 20% crowd, but some of the big commercial players who ultimately care very little about anything else but their own profits. I wound claim that instead of raw passion, it would be much more beneficial if the 20% of the real geeks were more educated when it comes to real computer science and theory - they should be much more skeptical and critical of the new fashionable programming paradigms and tools.

If you have no idea what I’m talking about, you can read some articles from the late Dijkstra (e.g. the classic gem http://www.cs.utexas.edu/users/EWD/ewd12xx/EWD1209.PDF ) or Fabian Pascal.

Hi all.
I understand an idea of helping and improving the programmer community. It is really great thing.

I remember when I started with programming. It was 1992 and I was pushing to the edge my C64 coding in assembler.
There was no internet, there was no books, there was only one newspaper about C64.

To learn assembler we (bunch of people) had only a c64 memory map which the language keywords book brought by someone from Germany which we shared between us.
I don’t speak german. I used this book… because I didn’t have tu much choice.

Baci in 1992 I wouldn’t even imagine that in 2007 will be just enough to WILL to learn. There is loads of different books, there is internet, there are forums and blogs.

What I am trying to say is that if somebody is in ‘80%’ it is their personal choice… That’s all.

Of coz it is good to do a step forward and try to “build the bridge”.

Greets
Mariusz

To be honest, I read codinghorror and joelonsoftware mostly to be entertained. Kind of like news sites such as engadget and slashdot, but with a programming focus.

My opinion, the 20%, 80% thing no longer exists. It used to exist in the days of MS-DOS, when there were really some elite magicians who used clever techniques to conserve memory or write directly to the video buffer, while the rest of us just did conventional coding.

I think nowadays, the idea is more important than the code. Conceptualizing and creating the first youtube, or craigslist, or skype is far more impactful and rewarding than moving bits and bytes around. It’s only code, so I don’t get too worked up over it like before.

Jeff,

I have to say, your previous post got to me too. But for me, and seemingly a number of your other readers, that was because of your buried assertion that 20% = Linux, 80% - Windows.

Now obviously that’s a small part of the issue, and not enough of an issue to actually make me want to comment before, but I think that you could simply have described the division in terms of passion and motivation.

Then, you could easily have mentioned that this is exactly the same as most other industries. There’s nothing special about having some people who care and others who are just in it for the paycheck, and although your point was about communication between the two groups, since you never really justified the choice of 20/80 we couldn’t tell if you thought there was something special about that choice.

First, I have concluded Mort exists because the market demands it.

Second, “There will always be a chasm between the 80% and the 20%…” I completley agree. I would restate Jeff’s call slightly. we need to help those who are really 20%ers realize that they are and get them out of the 80%. the ratio still stays the same as new people come in at the bottom.

I know I have personally impacted at least two people to start reading blogs and thinking much more critically about this wonderful profession of producing software. Thank you Jeff and others (Phil, Hanselman). You are helping to find the true 20%ers. And thank you Er4tor for introducing me to codinghorror.

Finally, “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.” I truly believe the field will mature eventually to such a point that there is nothing uninteresting about building applications and systems. And I’m not saying it will be easy or dumbed down. Instead, that eventually we will be able to express to the computer what it is that we want done in a much more efficient manner. I think there are some small agile consulting firms are starting to acheive this. I want to be there.

Thank you Jeff!

“I’m not a programmer, but I do create very messy badly written VB macros for Excel”

Rocketboy, I also know a guy who writes VBA macros, but unfortunately he is of the impression that he is a programmer. The fact that you are willing to say that you write bad code leans you away from the Mort category. Why don’t you do some learnin and further you abilities? You sound like you have the makings of a good programmer.

Jeff, It’s great reading your posts!

Isn’t it ironic that the people who complained suffered exactly from the problem described in the (original) article; being that they were unaware of the fact that they are in the upper 20% and that there is a giant group of people much more … let’s say, unsophisticated.

Jeff,

you clearly broke the first rule.

The first rule of the 20% programmers is you don’t talk about the 20%.

Thx for the great blog, code bless you.

“Don’t worry guys, if you can read this, you aren’t one of THEM… My readership would never be like that… you’re all visionaries, geniuses, just like me! And good looking, might I add! So there’s no reason to think that the categorization is bunk, since you’re all on the ‘good’ side of it anyway! No need to be offended by the geniuses/slugs distinction, because anyone who would read this is surely not a slug…”