In today’s sports (baseball, football, basketball, hockey), a team signs a contract with a player for a specific period of time (3 years, 5 years, etc.), and at the end of the contract, they are completely free to part ways. In some cases, if the player did well during his contract, his current team might offer him a contract extension. However, if the player did REALLY well, he might opt to test out the “free agent” market. (Really well is relation to a specific set of requirements that are laid out in the contract. All-star game appearances, batting average, touchdowns scored, goals made, etc.)
In the free agent scenario, the player declares that he is willing to offer his services to what basically boils down to the highest bidder. At the end of the day, however, he gets to see what the market determines his value to be.
Imagine this scenario in your current job, even if you’re not in software. When you start a job, you know that you’ve committed to be there for 3 years. That’s an absolute. Perhaps there’s even financial penalties if you choose to leave before the end of the contract. And if the company decides to terminate your contract? They still owe you the balance of the contract’s financial obligation.
(This entire article revolves around the idea of honest, hardworking employees, so let’s skip the “trying to get fired” argument for now.)
At every place I’ve worked, there have been all-stars, and there have been everyone else. But when you look across the financial landscape of the company, there’s almost no significant difference between the high performers and the rest of the crew. Why is that? If someone is putting in significantly more effort, why shouldn’t they be compensated accordingly? If they are driving significantly more business value, why not pay them more?
There’s the challenge though. Can you sincerely tell me that you know exactly what you’re measured on annually, and what percentage of your goals are completed? I don’t think that most companies give that much consideration to their employees. And for you, how can you expect to get any kind of raise/promotion/bonus if you can’t show your performance vs. goals?
I’m sure there are tremendous downsides to contractually-based employment. Many of you will bring those to my attention in the comments.
I’m just suggesting that there be a more open market in our industries. A free agent athlete declares that he is a free agent, and all of the other teams begin a bidding process for his services. In our industry, you have to secretly meet with each individual "team", and negotiate a possible deal in each case, all while hoping your current team doesn’t find out you’re looking at all.
To close, no, I’m not looking for a job. I actually love mine. But as I look at my friends & family trying to play this silly game of hide & seek, it really frustrates me.