The New York Times ran a lengthy article on basketball player Shane Battier. I had never heard of this player. That is probably because he is not a superstar. However analysis shows that Battier makes his team win. The raw statistics do not do him justice. His team’s management keyed in on it though. They just can’t put their finger on what it is that Shane does to inspire the wins. But the numbers do show his presence drastically increases the probability of a win.
I found the article stimulating. In my own mind, I wanted to apply this phenomenon to software development. Personally I want to increase my own skills. This goal may be in direct opposition to my team or company’s goals. How can I reconcile these competing forces? The company might not even know the value of my actions for the team.
If the company does not know that I am responsible for some wins, how can they begin to compensate me for it? It is almost as if it does not make sense to do what is best for the company if my actions provide no benefit to myself. This does not even consider the fact that many developers only stay at one place for a year or two.
This all probably boils down to the source of my own motivation. Or in general, what is it that motivates a developer to do good work? I would hope that it would be something greater than a big paycheck. Don’t get me wrong. I am not in this profession for charity purposes. But you need to have that desire to do development deep down inside to be able to stick it out.
The other half of the equation is how does a company reward its technical staff. Or more accurately, how does a company reward its technical staff so that it leads to people doing what is best for the company. Is it too simple to ask for a rewards policy that encourages individual and company goals at the same time? Yeah I guess that is not going to happen.
Learning from Copy Protection - Just read a sweet article on how someone got past Math Blaster disk copy protection. Math Blaster apparently was some game or educational software for App...