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 operat...

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...

Announcing Feet, a Python Runner

I've been working on a problem that's bugged me for about as long as I've used Python and I want to announce my stab at a solution, finally! I've been working on the problem of "How do i get this little thing I made to my friend so they can try it out?" Python is great. Python is especially a great language to get started in, when you don't know a lot about software development, and probably don't even know a lot about computers in general. Yes, Python has a lot of options for tackling some of these distribution problems for games and apps. Py2EXE was an early option, PyInstaller is very popular now, and PyOxide is an interesting recent entry. These can be great options, but they didn't fit the kind of use case and experience that made sense to me. I'd never really been about to put my finger on it, until earlier this year: Python needs LÖVE . LÖVE, also known as "Love 2D", is a game engine that makes it super easy to build ...