Paradox of a Programmer's Worth
Everyone loves to create. To build. I'm sure its as valid in the construction industry as in software. The joy of the chase, towards making of a useful thing. Nobody likes maintenance because cleaning up is a shit-job.
Between the two.. that's where you get people with the most envious job scope - Abstract Artists. Create, never finished, not supposed to maintain.
At the start of a project, the programmer is only a commodity - any Tom, Dick, or Harry (no offence!) starts with a clean slate, armed with the default weapons (of Java/.Net/Perl/whatever programming skills). However, he is a willing worker because his job is to create.
After a while, the programmer has gathered project-specific knowledge that isn't documented or even document-able. His value subtly increases day by day, meeting after meeting, as he bangs on his keyboard churning out his KLOCs.
As the project nears its end point - the testing and trial phase - testers and users requests for change, change, change.. "Change! Maintenance!" irks the programmer. But this is when the project values him most - experience to gauge the feasibility of each change request, understand the implicit changes required, raise dependency warnings. But, his mind has been lost. The programmer has no more interested in making that textbox larger, the list box sort in another way, add a new field for input, blah blah blah.. It is a shit job now.
Finance department, however, loves the supposed shit-job phase because changes potentially means money. The user has invested and has the shorter end of the stick to bargain. Who else are they going to turn to implement a change? Surely nobody else can do it more cost-effective that the current team!
But to keep the programmer in the same project and milking the client for all they're worth will be a sure way of driving the programmer to leave the company. On the other hand, taking him out of the project would mean change requests can only be done in a less cost effective that it could've. Profit margin suffer.
Is there a ever a win-win between the suits and the sneakers?
I'd a brief discussion with my poor been-in-project-for-too-long friend. We were discussing how a person's mindset can be / should be changed in order to maintain a good post-project morale. And since Warcraft, MMORPGs are so very popular now.. we wondered why can't corporates use the stickiness of MMORPG and apply to the HR dept.
In RPG your avatar has a life and his own worth. He has riches. Some games gives such real and tangible sense of value that players will indeed spend real money to purchase virtual items.
I'm not suggesting companies start putting up virtual-stores and sell make-believe items to the employees. But rather, implement a system whereby riches can be distributed to the employees in forms of company golds. Much like the golds your avatar possess in the game.. or more closely, like CPF in the real world. The money (dollar for dollar) is yours but you can't have them liquidated. You can only purchase things with it - anything.
When you decide to quit the game (forever), your character is deleted and all the wealth and value is gone. When you leave the company, all is void. Sounds like stock options? No. Stock options is wait-and-see. Gold is use-it-now.
Being able to think of crazy things is a blessing.