Skip to main content

How To Insenstively File People Into Two Types

The development sub-blogosphere is abuzz with responses and responses to responses on the debate over splitting up developers into two camps. The core idea is that 20% of us care about software development and 80% of us just do our job and go home. We all like to think we're in the 20% and we probably are, because the 80% doesn't care enough to recognize the distinction. They might recognize those few geeks at the office who don't seem to have a life, of course. Is the debate centering around who is what group and what it means or that we are grouping so bluntly in the first place? Well, we are a binary loving people, after all.

For the 20% This Means...

We love to self comment. We're a relatively small slice of the populace spending an unusual amount of time talking about ourselves and this whole deal just exposes that. Who reads about the split between the developers that care and the developers that just pay the bills? Not the bill payers. Even if this all centers around what Mort can accomplish and what motivates him, he'll never read a word of it. Not much about this affects the 20% directly, so it leaves you wondering in this debate: what the hell is the point?

For the 80% This Means...

It means nothing to those who don't pay attention to what we're saying, and that is a defining characteristic of the people this whole thing centers around. We might be an inwardly reflecting collective of people, but this is the beginnings of the most important realization of our industry: that we are not our industry. Democratically speaking, we just want to do the job and go home. If we want all the improvements to process and quality we strive for, we need to make it for those of us, most of us, who don't give a damn about those very things.

I have friends doing this job because they "know about computers" so it seemed like a good fit or simply heard that "programmers make a lot of money." They do not read blogs and they refuse to stop using Notepad. I'm finally seeing a small interest in running Linux, but that's only because it might be getting to be an easier alternative, not a more powerful one. I can't get them to read books, talk about software, or understand why version control is better than tossing the code into a zip file every now and then, if they even do that.

What this means for the Morts is only what we make it for them. None of the things we're saying matter in their world, so the only differences are going to be what we actively decide to do about it. If we really care about the end result of quality in the work we produce, then we're going to need to stop talking and start walking. Put policies in place, work your way into management, and plaster the bathrooms with Google Testing material. Witness in the name of giving a crap about the software you write!

In the End it all Means...

In the end it should teach us to be less self reflective. We can't keep debating inward. We need outreach programs. Inner city schools are taught the dangers of guns and drugs, but the code pushers of the world need us to push all the things on them we don't realize isn't known.

Worse Than Failure has all of its material because the 20 and the 80 never talk.

Comments

Anonymous said…
Great post. I'm forwarding it to all the 80% developers I know.
Anonymous said…
What about the third group:
The ones that "learned to stop worrying and love the crappy code". No longer denying, not angry all the time, bargaining less, not getting depressed forever, but learned to be more accepting. :-)

I still enjoy good code, articles, books and posts like this one though.
Anonymous said…
I wish I have the luxury to forget about paying the bills.

"Science is a wonderful thing if one does not have to earn one's living at it." ~ Albert Einsten
Jeremy Cantrell said…
As much as the base-2 number system is a large part of my life, I find it sad that people feel the need to classify others in the same fashion. You're either "in" or "out"... 1 or 0.
That being said, if we're lumping ourselves into groups, I would consider myself to be in the "20%". I care about my craft, enjoy learning new stuff, and know how to recognize a good piece of code. Do I care about paying my bills? Of course! If only so I can continue doing what I love.

Popular posts from this blog

CARDIAC: The Cardboard Computer

I am just so excited about this. CARDIAC. The Cardboard Computer. How cool is that? This piece of history is amazing and better than that: it is extremely accessible. This fantastic design was built in 1969 by David Hagelbarger at Bell Labs to explain what computers were to those who would otherwise have no exposure to them. Miraculously, the CARDIAC (CARDboard Interactive Aid to Computation) was able to actually function as a slow and rudimentary computer.  One of the most fascinating aspects of this gem is that at the time of its publication the scope it was able to demonstrate was actually useful in explaining what a computer was. Could you imagine trying to explain computers today with anything close to the CARDIAC? It had 100 memory locations and only ten instructions. The memory held signed 3-digit numbers (-999 through 999) and instructions could be encoded such that the first digit was the instruction and the second two digits were the address of memory to operate on

Statement Functions

At a small suggestion in #python, I wrote up a simple module that allows the use of many python statements in places requiring statements. This post serves as the announcement and documentation. You can find the release here . The pattern is the statement's keyword appended with a single underscore, so the first, of course, is print_. The example writes 'some+text' to an IOString for a URL query string. This mostly follows what it seems the print function will be in py3k. print_("some", "text", outfile=query_iostring, sep="+", end="") An obvious second choice was to wrap if statements. They take a condition value, and expect a truth value or callback an an optional else value or callback. Values and callbacks are named if_true, cb_true, if_false, and cb_false. if_(raw_input("Continue?")=="Y", cb_true=play_game, cb_false=quit) Of course, often your else might be an error case, so raising an exception could be useful

How To Teach Software Development

How To Teach Software Development Introduction Developers Quality Control Motivation Execution Businesses Students Schools Education is broken. Education about software development is even more broken. It is a sad observation of the industry from my eyes. I come to see good developers from what should be great educations as survivors, more than anything. Do they get a headstart from their education or do they overcome it? This is the first part in a series on software education. I want to open a discussion here. Please comment if you have thoughts. Blog about it, yourself. Write about how you disagree with me. Write more if you don't. We have a troubled industry. We care enough to do something about it. We hark on the bad developers the way people used to point at freak shows, but we only hurt ourselves but not improving the situation. We have to deal with their bad code. We are the twenty percent and we can't talk to the eighty percent, by definition, so we need to impro