Working Off the Clock
Recently, I read Ben Nadel's post of his thoughts stimulated by a book that we both seem to be reading, Drive by Daniel Pink. Ben is thinking about the best way of compensating workers. It's a great read with lots of comments. It reminded me of how I stumbled into something that I had pretty much forgotten about -- and I wonder if it would work in a different context.
Years ago, I was suddenly given the job of foreman in a woodworking company. Having so recently been "just" a worker, and free from any ideas of management theory, I thought I'd try something I thought I would like as a worker. I asked the owner what percent of income went to direct labor. I forget now what it was; let's just say it was 30%. So, on a $50,000 job, $15,000 would typically go to pay wages.
Hmmm..., I thought. I called in Dan, my go-to guy, and said, "Dan, we have this job that needs to be done. What if you pick someone to help you and I'll give you a flat $15,000 to do the job. You'll be off the clock and you can work whenever you want."
Dan was tantalized by the idea of making a lump $15K. He talked with a couple of other employees and chose one, having agreed with him on a fair split. Now, normally, the job would have taken perhaps 2 months to complete. But Dan and his partner did it in 3 weeks.
Now, Sam came up to me. "So, how do I get a contract?" You can guess where this headed. Within a short time, everyone was working purely on contract. Now, the interesting thing (to me) was that not only was the work getting done faster, but the employees were MUCH more creative.
"Hey, we can sub this part of the job to a big shop that has a CNC machine and save ourselves a lot of time." "We can get my sister in here to help with this part of the job and we can finish earlier and get another contract." That sort of thing. Gee, they never thought of that when they were working on the clock!
This happened in the first quarter of the year.By year's end, we had tripled our production -- and all the employees were making more than they ever had. And they were thinking like entrepreneurs.
Software development is different than woodworking. But it makes me wonder whether this approach could be adapted to software. One way to think about business is that the owner/manager is a speculator. Not in corn or cotton, but in labor. I think I can find a way to keep my labor costs low enough to keep on the lights and generate a profit. But what if EVERYONE were a speculator? What if they had skin in the game -- and the better we played the game, the more everyone would benefit?
The way most companies run, developers really get no benefit by thinking outside the box. In fact, they're running a risk. The safest, sanest thing to do is bury yourself in your code. Take the practice of pair programming. In my own experience, pair programming is amazingly productive -- and it produces better code. But many developers hate the idea. Fine, it's more productive, the code's better -- but it's not as enjoyable for many programmers. So they find excuses not to do it.
But what if software development were a game in which, the more productive the company is, the higher I score? Might I not be willing to create some tools that might speed up production -- if I "scored" higher? Would I be more interested in trying new things -- if, by so doing, I advanced in the game? And if the score happens to be real money that I can actually buy stuff with, or save for retirement, or give to charity, or invest -- wouldn't that be the coolest way of keeping score?
I'm going to start thinking how to implement something like this. The biggest thing I learned from my woodworking experiment was the power of turning work into play. Not just for an individual developer, but for the entire team. To do that, the player has to know where they are in the game. There must be a measurement system -- perhaps several -- that tell the player how they're doing.
There are some aspects of all work that are drudgery. But the tedium associated with that work is happily undertaken by game players for the benefit of advancement in the game. Can we figure out a way to make software development that fun?


I would love to hear any ideas you come up with or bounce ideas around as this is something I have put quite a bit of thought into.
I don't know enough about employment laws etc., but maybe you could hire somebody on a minimal retainer such that they would get benefits of traditional employment, but the bulk of their income would come on a per project contract basis. That is probably not possible, otherwise somebody would have been doing it by now.
ie I developed some features into a report that a prior boss was doing manually each month. At first it didn't take him long, but as the reports grew with data it became very cumbersome and would take him 3 or 4 days to get it done. It took me about 10 hours to implement and test the solution and was well worth it as my boss was not as busy which meant less stress for him which meant a better environment for everyone under him.
So I think even salary people can have this entrepreneurial mindset, but most choose not to and think they are entitled to the check even if they do little work to deserve it.
Granted, I still got paid the same salary, but I had a more relaxing atmosphere and time to go research and play with new technologies.
However, my worry would be robustness. To the client, all they see is the look: a form here, a grid there. I can wack out something fast that has that look, or I can build a robust, secure solution. Which one takes longer?
I'm still solidly in the ColdFusion world, so I know that it enables me to build a lot faster with the same result. Hal, if time was an issue, would you still stick with RoR?
I actually come at this from a slightly different perspective.
When I am on an hourly project, I have to decide if an extra bit of robustness or polish that I might add to a project is worth the extra cost to my client. If it isn't something that I thought of during estimation then I might need to get their approval for an improvement that they might not easily understand.
When I am on a fixed bid project, however, I can decide if I am willing to get an effectively reduced hourly rate in order to produce a better project. I am motivated to produce a better product (even if it slightly reduces my effective hourly rate) because it will help ensure that I get more business from that client (as well as, of course, greatly increase my own satisfaction with the project).
This is a common misconception. Bonuses are taxed no differently (at least in the US) than hourly or salaried wages. Depending upon your pay structure more (or less...) may be 'withheld' by your employer, but the are most certainly not taxed differently at all.
Andy
If you make $30,000 and have $30,000 in write-offs, then you pay no tax, but when you make #30,001, you will pay 15% (US Federal income) tax on that next dollar.
If you make $120,000 and have $55,000 in write-offs (lots of kids, high mortgage interest, etc), then you pay a scale of taxes on every dollar over $55,000, 15% in the first bracket, 18% in the next, and so on. Your last dollar may get taxed by 28% if you earn enough ... but your payroll taxes don't increase all year long, they get spread out. That bonus, though, is already above and beyond the last dollar you were expected to earn when they computed your payroll deduction, so you will pay the full marginal rate on it (Fed, State, and Local all included to boot). Andy's point is that next April 15, you are still taxed on the actual total earnings you had in the year, not separately for payroll vs bonus income.
Was just thinking about your initial comment:
"maybe you could hire somebody on a minimal retainer such that they would get benefits of traditional employment, but the bulk of their income would come on a per project contract basis"
Waitresses and bartenders are usually paid this way, and on a different scale. Many years ago when I tended at a bar that also had a few tables separate from the restaurant, the waitresses always wanted to wait my tables for me. They got paid only $2.15 / hour and then they had to pool and split all the tips. I got paid $5.00 / hour and got all my own tips AND a portion of their tips (since some of their tippage was for drinks that I poured for their customers). I hated waiting tables, so it was fine for me, and they got a lot more business by getting the extra tables.
So, yeah, it's a lousy system in that example, but it does go to show that such an arrangement is certainly possible in legal terms. Also, it shows that a team will find its own balance of value vs potential earnings, much as Hal found in the woodworking shop.
Just recently was asked if there were financial incentives that could be offered to change work patterns to increase the rate we're getting through some of our projects. I may just come up with a contract structure like Hal outlines here as a possible offer to some folks.
Thanks!