The Two Types of Programmers

来源:互联网 发布:三星scx3401扫描软件 编辑:程序博客网 时间:2024/05/21 13:23


Coding Horror: The Two Types of Programmers

Contrary to myth, there aren't fourteen types of programmers. There are really only two, as Ben Collins-Sussman reminds us.

There are two "classes" of programmers in the world of software development: I'm going to call them the 20% and the 80%.

The 20% folks are what many would call "alpha" programmers — theleaders, trailblazers, trendsetters, the kind of folks that places likeGoogle and Fog Creek software are obsessed with hiring. These folkswere the first ones to install Linux at home in the 90's; the peoplewho write lisp compilers and learn Haskell on weekends "just for fun";they actively participate in open source projects; they're always awareof the latest, coolest new trends in programming and tools.

The 80% folks make up the bulk of the software developmentindustry. They're not stupid; they're merely vocational. They went toschool, learned just enough Java/C#/C++, then got a job writinginternal apps for banks, governments, travel firms, law firms, etc. Theworld usually never sees their software. They use whatever toolsMicrosoft hands down to them -- usally VS.NET if they’re doing C++, ormaybe a GUI IDE like Eclipse or IntelliJ for Java development. They'venever used Linux, and aren't very interested in it anyway. Many havenever even used version control. If they have, it’s only whatever toolshipped in the Microsoft box (like SourceSafe), or some ancient thinghanded down to them. They know exactly enough to get their job done,then go home on the weekend and forget about computers.

As I work with teams of programmers in the field, I'm consistentlystruck by the yawning abyss between that 20% and the rest of the world.It makes the divide between the open-source and Microsoft camps look like a shallow ditch.

Shocking statement #1: Most of the software industry is made up of 80% programmers.Yes, most of the world is small Windows development shops, or smallfirms hiring internal programmers. Most companies have a few 20% folks,and they're usually the ones lobbying against pointy-haired bosses tochange policies, or upgrade tools, or to use a sane version-controlsystem.

Shocking statement #2: Most alpha-geeks forget about shocking statement #1.People who work on open source software, participate in passionatecryptography arguments on Slashdot, and download the latest GITreleases are extremely likely to lose sight of the fact that "the 80%"exists at all. They get all excited about the latest Linux distro orAJAX toolkit or distributed SCM system, spend all weekend on it, blogabout it… and then are confounded about why they can’t get their officeto start using it.

Perhaps not shocking to me, but an excellent and important reminder for everyone, nonetheless.

I often think we're wasting our time writing blogs which arelargely read by the same 20%. In my experience, there's precious littletrickle-down effect from the alpha programmers to everyone else. And ifthere is, it takes decades. If you really want to change the software development status quo, if you want to make a difference this year, you have to help us reach outside our insular little group of alpha programmers and effect change in the other 80% of the world. And that is far, far more difficult than preaching to the converted 20%. It's why I admire people like Scott Mitchell so much, because he understands the importance of reaching out to the other 80%:

I like programming and really enjoy ASP.NET. I think it's neat and funand interesting and cool how you can go from literally nothing tohaving a data-driven web application that can be used by people aroundthe world in an amazingly fast amount of time. Furthermore, I want tospread that enthusiasm to folks. I want to say to those who may havenever programmed, or to those who are using competing technologies, orto those who are just starting out - "Come over here and try out thisASP.NET stuff. Here, let me show you what it can do!" That's why Iteach (which pays pennies compared to consulting). That's why I write(which pays better than teaching, but still is not anywhere near aslucrative as consulting). That's why I give free talks at local usergroups and community-sponsored conferences here in Southern California.To get the word out!

To me, saying that titles like Teach Yourself X in 24 Hours cheapen the craftis tantamount to saying, "Our club is full. Go away." It's not saying,"Let's welcome the newbies and get them excited about this technology."Rather, it's saying, "Newbies are ok, but they must first realize howhard this is, how hard we've worked, and how much more we know thanthem." I worry that such sentiment from the community will come acrossas pompousness to those very people whom we should be welcoming.

I wish this was easier for me, because I agree with Scott. I'mterrible at the things he's describing. I think the true measure ofsuccess isn't how many alpha geeks you can get to pay attention to you.It's how many typical, average programmers you've reached out to,if only in some small way. If you really care about the craft ofsoftware development, you'll help us build that bridge between the 20%and the 80%, too.

[advertisement] TransferBigFiles.comallows you to send huge files (up to 1GB) to anyone without worryingabout email attachment limits. Send via the Web site or download theDropZone utility for even more functionality. It’s fast, easy, andtotally free! Transfer big files now.
原创粉丝点击