Go to content Go to menu


28 days ago

When in difficult country, do not encamp. In country where high roads intersect, join hands with your allies. Do not linger in dangerously isolated positions. In hemmed-in situations, you must resort to stratagem. In desperate position, you must fight.
—VIII. Variation in Tactics, Sun-Tzu.

As Sun Tzu says “when in difficult country…” , he addressed to real country for sure. However I believe we can apply this to software development.

Programming is a craft. At its simplest, it comes down to getting a computer to do what you want it to do (or what your user wants it to do). As a programmer, you are part listener, part advisor, part interpreter, and part dictator. You try to capture elusive requirements and find a way of expressing them so that a mere machine can do them justice. You try to document your work so that others can understand it, and you try to engineer your work so that others can build on it. What’s more, you try to do all this against the relentless ticking of the project clock. You work small miracles every day.

It’s a difficult job.
Pragmatic Programmer

Do not encamp

I brought ATLAS CTP back home in my exile last month. Toying with it for some time, starting a new project on it (being an early adopter is cool yet scary). But will I be using it in five years? Unlikely.

We have to constantly upgrade our knowledge at fast pace. The demand of learning new techs is increasing. But as we grow old, our capacity to chew new information declines. In other words, we have to run twice as fast just to find ourselves in the same place.

In such country, knowledge rapidly becomes obsolete. Sun Tzu was right when he said “do not encamp”.

Join hands with your allies

Or enemies.

Once, I had an opportunity to sleep (literally) in some big companies’ server room. I saw IBM Server farms, Windows 2000 Servers family, Linux (Debian and Fedora), Oracle database, HP/Compaq workstation, CISCO router, and others which I can’t recall whatever they are.

Take a good look at it. Strip all ‘servers’ or ‘workstations’ or ‘OSes’. Leave only the vendor names only.
Then again, take a good look at them.

No, seriously. Looooooooook at them.

Surely, there are people sitting behind the desk of those vendors who understand the importance of ‘join hands’. If they can, then why can’t we?

Do not linger

Staying with our current best practices and/or success-proven strategy is fine, as long as we keep looking new opportunity to make our code faster, better, cheaper.

Alvin Toffler, my favorite writer, said about it perfectly :

The illiterate of the 21st century will not be those who cannot read and write, but those who cannot learn, unlearn, and relearn.

Just don’t be afraid to unlearn old things ;)

Resort vs. Fight

You may call me Textpattern evangelist, but ask me what blogging tool you should pick. My answers may vary, depends on your motivation, technical skills (basic HTML and CSS, at least), and your “target audiences”. There is no silver bullet, they say.

On the other hand, it’s fine if you put excessive fluffs on your blogs. You may need them for your audiences. I’m alright with that.

But if you have table-based layout and a lot of <FONT EMBED> everywhere, I will pick a fight. Web Standards ain’t religion, but I believe we can build a faster, better, and cheaper web page upon web standards (the only cost is expensive designers).

Know when to fight. If we left only an option to fight, make sure you have your own Blitzkrieg. Bring your data, reasons, alternate solutions with trade-offs, and lightning saber.

If we must loose, make sure they gonna pay.
In the end, your enemies will understand that you wear Darth Vader mask for their own good. Moment later, you’ll find your enemies converted into allies.

Resort vs. Fight is truly essential skills for us, programmers. We negotiate machine language with human’s need. I love when I walk in balance between them, I call it the “art of negotiation”.

Focus On People. Not Machine.

What happen if lightning saber (and even Dark Star) fails?

My mantra is, just focus on people. The Force is strong among the people.

I always remember, that evangelism doesn’t make money. Businessman does. And a savvy businessman, is one who use all available resources for his/her cause. (Creating free evangelists is including).

I know some of us, nerdy geeks, assuming technologies/tools/vendors are basically same with religions and beliefs. In that case, Hericz was right about my very low Spritual Quotient. I’m an atheist.

What do you believe?