Monday, May 21, 2007

Lessons from Grandpa (1)

When I was a kid, grandpa is the person to go to when I have questions. One time I went to him while watching some kungfu series.

"Why do they fight for the secret kung fu book? Can they get their own copies?"

A typical "design pattern" of kungfu genre series has story like this: there is this master who keeps a manual of the ultimate powerful set of kungfu and will not teach the bad student but will teach the protagonist student. The bad kid, once a brother of the protagonist got jealous and drug the master and killed him somehow AND stole the manual, and the rest of story is revenge and unleashing the power of the secret manual. A battle of good vs evil. Of course, there needs to be a protagonist's beautiful gf as side story.

Now that's a movie script that will work even today. Heck, what story is not good vs evil? Ok I am digressing here.

Grandpa says "Well if everyone has a own copy, it isn't so secret kungfu anymore. See Chinese culture is greedy. We'd like to keep our own little secrets and won't teach others to keep ourselves special. This is not a good approach. Western education doesn't do that. They encourage opening schools and sharing knowledge. Just when have you seen western guys fighting for books?"

Grandpa is right somewhat. Even to this day I have not seen Americans fighting for secret kung fu manuals or any knowledge manual. I never read people fighting to read Principia Mathematica or Theory of Relativity. I see ...For Dummies book that want to present you knowledge as easy as possible.

Well grandpa didn't know that I would come to "the western world". Yes, education is accessible. But most people's knowledge sharing stops here.

If you are a computer programmer, when do you see nicely documented codes?

When do you see procedures nicely documented to help others ramp up asap?

Does anyone get rewarded for nicely documented stuff? If I run a IT department I'll give you a raise for good code, a bonus for good docs.

Guys with no knowledge of anything else but maintaining old code write ultimate sloppy stuff to stay employed.

I agree with grandpa that's not a good approach. Oh that sloppy code is their ultimate set of secret kungfu.

1 comment:

Alex Mak said...

Most programmers working are just inept. Most never learned how to write anything. They got in the door by staying there long enough by ever trying to be invisible. It takes talent to write good code and good comments.

Most managers are inept too and never have the courage to set things right by firing the parasites.

On another extreme, companies are very harsh at the interview. They have learned their lessons by keeping inept programmers for way too long. Look, I need my reference books OK? I can't write an SQL trigger right here, right now....


---
No one likes to share the secret sauce. Why are there (sometimes free!) books and brochures on investment? Rich people want more rich people around? No. The more people in the markets, the more the prices go up. No one is motivated with no reward. The more you trade, the more commission fees!

Except in software. How could there be so much extremely good free software? (OpenOffice, Linux, gcc, putty) There are people who want to give out the 'wheel' libraries so things like a XML parser will never need to be written again. The fine people who give the world free software because it's time already spent, and the software can be shared. Free software give the authors a feel-good element that money can't buy.

---
The kung fu masters need to preserve the final trick because it's the only thing that can stop the wicked Master Shek next door or the evil apprentice. Write it down, tell your favorite student where to find it, and let him serve the next term as the kung fu master.