programming is a culture


You might or might not have heard about the 501 manifesto. A 501 programmer is the one that runs out of the office at 5:01, regardless of any importance of him staying and keep his responsibilities aligned.

While I do believe in family values and socializing, I think that part of the manifesto is pretty generic, and the addendum of pitying open source or programmers who love what they're doing is pretty insulting. We (programmers) are a culture now, and usually the passionate ones are the ones that are being mocked.

We're all n00bs

Often, the industry and academia tries to push it into familiar engineering industry; carpentry, architecture, construction.

Experienced programmers know that in software, there is no material waste like in carpentry.

And unlike the unexpected nature and world-changing-beneath-your-feet dynamicity of software -- using Gantt charts in construction relies on the fact that each step is known and predictable, measurable.

In addition, seasoned programmers know that architectural design patterns are not completely the same as software design patterns, and although being derived from the seminal works of Christofer Alexander, software design patterns must be used with care.

We're in a young profession, relative to other traditional professions, such as carpentry. Its an engineering trade but its also a craft, its also creative; its a prose. As an engineer, to me, when I try to frame it into something academically correct I choose to go with undefined.

I'm happy that it takes all those forms together for me. Software is now omnipresent, it is consumed everywhere and hosted anywhere, its powering everything.

It cultivates.

On 501s

Before the 501 manifesto was even out, over lunch, I mentioned that when I leave work, it's not over for me.

Mostly, I will continue sitting in front a computer and be productive (read: code) as long as I can keep my eyelids open.

I love what I'm doing, hell, I'm passionate about it; and I love being part of a culture of the same kind of people.

That I manage myself and I keep myself efficient and productive after work hours is a mantra for me. I choose to not watch cable-TV, not do Facebook, and not do instant-messaging.

On most occasions I don't do phones. I choose to communicate and work asynchronously. I see the person on the other side of the phone call, or IM demanding my attention immediately as rude. You've got SMS, you've got EMail, and I'll be pretty quick at that - so use them.

Over lunch, the response from the developer was to mock my culture. "Pfft. I could never even look at a screen after work hours". To which I replied that he should be certain he's in the correct profession.

It's a Culture

Well, 501'ers, programming is a culture.

The first bullet points of the manifesto are pretty generic. There isn't anything special about software as a profession in them. I could apply them to fishing if I wanted to.

My blood started jittering when it got to this part:

If you: Write a technical blog Contribute to open source projects Attend user groups in your spare time Mostly only read books about coding and productivity Push to GitHub while sitting on the toilet Are committed to maximum awesomeness at all times, or would have us believe it ...we respect you for it. There's probably some pity in there too, but honestly, it's mostly respect.

The pitying part is supposed to be attenuated by "respect", but I think including that part cancels all respect, and there is a slight hint of cynicism at "have us believe it". Doesn't matter if you're "honest" about it or not.

Programming is a culture of problem solvers, efficient and creative people, who want to make a change in the world because they realize that nowadays, software is omnipresent and that from this property alone, change CAN happen.

And when I'll have a kid I'll feel so urgently to return to, I'll probably be busy programming his/her toys.

If my job is inspiring me, I'll stay late at work. If I want to make good use of my life, I'll stay up late coding, and I'll make sure I contribute something for others to use. Stamp it "open source", I don't care. I just like this culture.

So I pity you for participating in my culture and trying to call me out of it.

Oh, and I would fix that crappy HTML.