Saturday, July 29, 2006

On Coding

It's 2AM. The western world is asleep. Bats flit and chatter outside my urban Minnesota home, chasing mosquitos. My available television channels (only broadcast; I don't have cable) have been reduced to dating shows, infomercials, and evangelical fundraisers.

I'm up coding. Why?

Perhaps it's because I eat, sleep and breathe code. I'm usually up until 2 or 3AM hacking or studying code. I wake up around 7, head to work, and crack open my laptop on the bus to do more coding. I code all day on Java EE apps with occasional JRuby breaks. I come home, sit down in my home office and code on JRuby. I go to bed at 2 or 3AM and the process repeats.

I blog about coding.

I go to user groups focused on coding.

I feel uncomfortable at parties unless I can talk about coding (although I do have other hobbies; mathematical/logical puzzles, pool, go, movies, console video games, and beer among them).

When I get drunk, I go on long-winded rants about coding and code-related topics. When I sober up, my first worry is whether I've damaged part of my code-brain.

My touch-typing method has my right-hand home row permanently set at KL;', since I'm one step closer to ;, ", ', |, \, and Enter (and no, Dvorak doesn't work for coding; I've tried *really* hard).

The nonfiction books in my bookshelf are all books on coding or remnants of my CS undergrad studies.

I am a coder.

Passion

I want to know where the other passionate coders are. I know they're out there, juggling bits and optimizing algorithms at all hours of the night. I know they share many of my characteristics. I know they love doing what they do, and perhaps they--like me--have always wanted to spend their lives coding.

How do we find them?

Google seems to know how. Give the coders what they want: let them work when the sun is asleep, let them eat when they want to eat, dress like they want to dress, play like they want to play; let them follow their creativity to whatever end, and reward that creativity both monetarily and politically; let them be.

Is this approach feasible? Google's bottom line seems to say so, boom-inflated numbers notwithstanding. And Google's approach is really just the current in a long line of attempts to appease the coder ethos. The dot-commers tried to figure it out, but rewarded breathing and loud talking as much as true inspiration and hard work. Other companies are now learning from those mistakes; Google is just the most prominent.

What is it that we want? What makes me say "this is the job for me"?

Reread that list of characteristics above. What theme shines through?

Perhaps coders just want the freedom to think, to learn, to create in their own ways. Perhaps it's not about timelines and budgets and marketability. Perhaps coding--really hardcore, 4AM, 24-hours-awake coding--is the passionate, compelling, empowering art form of our time.

Artists are mocked. Artists are ridiculed. Artists are persecuted. Artists are sought out. Artists are revered.

So are coders.

Artists are frequently unsolvable, incomprehensible, unmanageable, intractable.

So are coders.

Artists create their best work when left to their own devices, isolated from the terrible triviums of modern living.

So do coders.

Artists go on long-winded, oft-maligned midnight rants about what it means to be an artist, man, and what it means to create art.

So do coders.

Perhaps what we've always hoped is true. Perhaps we're not misfits or malcontents. Perhaps we're the latest result of that indescribable human spark that moves mountains and shoots the moon. Perhaps it's no longer presumptuous to say it:

Code is the new art.

9 comments:

Anonymous said...

Quite interesting!

IMHO: Code might be an art form, but it definitly is neither new (greek mathematics anyone) nor 'the' (only) art.

Cheers,
Jan Prill

dylanb@digitalvalence.com said...

You're not the only one up late this evening; although I as often as not get sucked into tangential issues such as task/time management or reading about starting businesses (vs actually starting them) as coding. It really depends on what I start doing first.

This reminds me of 'Hackers and Painters' and Semel's 'The Seven Day Weekend'. Semco applies these concepts of worker freedom to all of their jobs, not just knowledge worker positions.

I've been wondering lately about the possiblity of creating an organization that operates similar to a tuesday hackfest but more business oriented like Semco. Those with ideas and abilities to contribute give what they want/can and get paid in proportion from any successful projects or divisions. Too utopian to be feasible ?

Anonymous said...

Were you coding or writing this blog??? ;)

btguthrie@gmail.com said...

For what it's worth, you might want to read Maciej Ceglowski's critique of Graham's Hackers and Painters,
Dabblers and Blowhards
.

It's an entertaining read, and a good argument for why the parallels between the computer world and the art world aren't as strong as maybe we programmers would like them to be.

Thanks for all of your hard work on JRuby!

Brian Guthrie

Nick said...

Right there with ya dude!

I've always thought code is art, at least through my own eyes. I agonize over the formatting, word/naming, the size of it (LOC)...I'm not ashamed to admit I code like a girl.

You ever go back several times to look at an especially well-crafted piece of code?

I should hunt down the prettiest piece of code and frame it...

a web surfer said...

Do you know of any good forums for coders to hang out in?

Preferably something that isn't linked to finding a job... yanno for people who already have their bases covered. plz e-mail me.

Doug @ Straw Dogs said...

That's an immense posting. I've often felt compelled to write similar. I can fully empathise with your coder characteristics. Right down to the worrying if I've damaged a bit of coding knowledge after a drink!

I often go off into rants about coding, philosophy, art, martial arts and psychology. Trying to piece and pull them together finding the common thread in them all. However, when I come to my computer to type it all out - to crystalise my thoughts - I can't. All I can and want to do is code.

Brian Ehmann said...

Sounds like I am not the only one who wakes up in the middle of the night knowing the answer to a piece of code I could not get working during the day.

Great post Headius.

mcstar@freemail.hu said...

hi.

im no coder.
im working, to be a physicist.
coding is little compared to understanding real problems.
but nevertheless i like it.
i am half drunk now.
so i speak the truth.

i think being up, early in the morning, doing physics, solving pdes, muckering with linux(sorry, if im wrong, im mean bothering with...) is quite common.

i think i forgot what i wanted to say.

yeah. i like your manifesto.

but, you probably dont know of others, because youre not a hacker...

by the way, i found your site google-ing: "im am drunk and want to eat mosquitos"
, because that popped into my fron
(fron==head) evaluates TRUE in SG1