David Brunton
Tuesday, June 19, 2007
  Cowboy Coder
I am probably the closest thing that you know to a real cowboy. I spent four years working for Dale Thiele on the Lazy TC Ranch outside Goldendale, WA. While I was working there, I learned a valuable lesson about being a "cowboy" (keep in mind that "cowboy" was always meant as an insult in that context):

Always Sit in the Middle

It's what cowboys do. The do it because in a pickup, there are only three choices- one is to drive, another is to open gates, and the third is to sit in the middle. And sleep. Because I was working back-breaking labor for 20-or-so hours a day, I learned quickly that the middle was worth fighting over. And that's why they called me a cowboy.

They, like programmers, considered it an insult.

Well, I'm a cowboy coder, too. Which means that I live for a single design pattern. It's not Object Oriented or Functional or Procedural or Imperative, and it won't be found in the Gang of Four or Chris Alexander. It applies to classes, objects, functions, procedures, routines, methods, accessors, variables, closures, and darn near every other kind of first-class member of a programming language:

Take the Shortcut

The shortcut is the route that gets there first. It doesn't help you if you have to write more code (e.g. drive) or open and close gates (e.g. fix bugs).

What it means in practice is that while there are a large number of ways to implement a function that works (where "works" is defined fitting a spec or fulfilling a contract or doing what it's sposed to), the best one is the one that gets me taking a nap sooner, and woken up with dumb questions later.

I am a cowboy.

So there.
 


Links to this post:

Create a Link



<< Home
A journal covering primarily technical topics.

Name: David Brunton
Location: Washington, DC, United States
Archives
January 2007 / February 2007 / March 2007 / April 2007 / May 2007 / June 2007 / July 2007 / August 2007 / September 2007 / December 2007 / January 2008 / February 2008 / March 2008 /


Powered by Blogger

Subscribe to
Posts [Atom]