Without being aware of it, I seem to be very concerned about my or (maybe others's?) decision making skills. Several books I've read lately deal with improving decisions.
Nudge takes an interesting approach. Instead of questioning how people decide, it asks how decisions can be organized in a way that helps people make a wise decision. Some might debate what makes one decision wise compared to another, but the authors point out that often people would make a choice except that they are forgetful or find the options too complex.
A simple example: defaulting 401k enrollment instead of forcing people to opt-in. People can opt out if they so desire, but usually don't.
The areas they discuss relate to government and institutional programs -- health insurance, charitable donations, marriage.
The theory applies very directly to software and software management. Much of good management involves getting people to do the right thing -- and in this case, the "right thing" is more easily defined -- without using a heavy hand. Sometimes micromanagement is required, but it should be a last resort.
Test driven development strikes me as a good way to encourage good practices. You encourage testing and more up-front analysis by making the former easier and the latter part of the process. Domain driven design provides tools to express the business more accurately. You also encourage developer involvement in the business by easing the barriers to understanding. Just working to get the developers in front of the users goes along way to this goal, as well.
Many other agile practices are less about software development per se, and more about putting people in the right spot and frame of mind to make the right decisions.
It's great to hire people who self-start and need no guidance. Most of us, however, need a little nudge.
Wednesday, December 16, 2009
Tuesday, December 15, 2009
Lawsuits to rein in bonuses
You know things are a little whacked when your own shareholders sue you over bonuses.
In fact, given the disappearance of the worst month in its history (thanks to the accounting games), these bonuses may indeed be improper. Including December, this is most definitely not a record year and therefore not deserving of record bonuses.
Bonus culture has ended its usefulness.
Goldman Sachs Group Inc is being sued by an institutional investor who claims the firm is preparing to pay out improper bonuses.Naturally, shareholders want more, but in this case, they believe they deserve it. According to an article last month:
Despite record net income and compensation at Goldman as markets rebound and the firm outmuscles weakened rivals for business, analysts expect its 2009 earnings per share to be 22% lower than in 2007 and roughly equal to its 2006 earnings... The decline is caused by issuing more than 100 million shares in the past year to bolster Goldman's financial position and capital.The article raises the question about whether Goldman changed the way it accounts for consultants in order to make the average bonus look lower. The conclusion seems to be that no change occurred, but questions like these will continue when 1) you faced death and survived due to help from the government, wealthy friends, and shareholders, who allowed getting diluted due to the circumstances, and 2) you played accounting games before.
In fact, given the disappearance of the worst month in its history (thanks to the accounting games), these bonuses may indeed be improper. Including December, this is most definitely not a record year and therefore not deserving of record bonuses.
Bonus culture has ended its usefulness.
Monday, December 14, 2009
50% tax on bankers
A short interruption as we barrel toward bonus season here in the financial industry.
A fifty percent tax on bonuses over ~$40k would certainly get bankers' attention. Britain and France both signed up, but other countries, including the U.S., have backed away.
At first, I doubted the wisdom of it, but after some thought, I find myself agreeing with it more. (Needless to say, my banker friends would kill me.)
The common arguments against aren't that strong, frankly:
1. it's politically motivated? Uh, every law that gets passed fails that test.
2. it will drive people to work in other cities? One time events don't have a big impact on behavior.
3. it will drive people to work for other companies? See #2. A couple years from now, this will have zero impact on people's work decisions.
The bottom line is, we can dismiss this one-time tax as an extraordinary event, just as we justified bailing out the events because of the singular nature of the bubble collapse.
The strongest argument against it is that it can be circumvented, through delays or payments of other forms. Very difficult to enforce. But most people aren't making that argument.
As an issue of fairness, I see nothing wrong with it.
A fifty percent tax on bonuses over ~$40k would certainly get bankers' attention. Britain and France both signed up, but other countries, including the U.S., have backed away.
At first, I doubted the wisdom of it, but after some thought, I find myself agreeing with it more. (Needless to say, my banker friends would kill me.)
The common arguments against aren't that strong, frankly:
1. it's politically motivated? Uh, every law that gets passed fails that test.
2. it will drive people to work in other cities? One time events don't have a big impact on behavior.
3. it will drive people to work for other companies? See #2. A couple years from now, this will have zero impact on people's work decisions.
The bottom line is, we can dismiss this one-time tax as an extraordinary event, just as we justified bailing out the events because of the singular nature of the bubble collapse.
The strongest argument against it is that it can be circumvented, through delays or payments of other forms. Very difficult to enforce. But most people aren't making that argument.
As an issue of fairness, I see nothing wrong with it.
Wednesday, December 9, 2009
Better living through software
f.lux dims your monitor brightness during the evening and night. Just like your dashboard lights dim when you turn your headlights on. I would feel blinded when I'd come home and log in, and this really helped. It might help you sleep better, too. (Via Seth Roberts.)
Dropbox automatically syncs files between multiple computers. It also keeps a copy of everything in online storage. So, it solves the problem of storing to an always accessible location, while also keeping a second local copy in case the cloud goes down. While also creating a copy in a different location in case you have a fire. While also eliminating the need to email and thumb drive copies around to yourself. This is a freemium service. (Via Dave Winer.)
Bloomberg embraces baseball via new baseball stats analysis. Seems a little like swatting flies with a brick, but as a baseball fan working in the financial industry, I have to like it. As a side-benefit, it keeps the financial modelers busy and not creating fancy new financial products that no one understands and threaten our economy. Then again, at the end of the article, one man claims that the Bloomberg product will destroy baseball.
Dropbox automatically syncs files between multiple computers. It also keeps a copy of everything in online storage. So, it solves the problem of storing to an always accessible location, while also keeping a second local copy in case the cloud goes down. While also creating a copy in a different location in case you have a fire. While also eliminating the need to email and thumb drive copies around to yourself. This is a freemium service. (Via Dave Winer.)
Bloomberg embraces baseball via new baseball stats analysis. Seems a little like swatting flies with a brick, but as a baseball fan working in the financial industry, I have to like it. As a side-benefit, it keeps the financial modelers busy and not creating fancy new financial products that no one understands and threaten our economy. Then again, at the end of the article, one man claims that the Bloomberg product will destroy baseball.
Indie software games
Indie games are to the game industry what the indie movies are to the movie industry. According to one leading indie game developer:
I hope these guys succeed, because we can only play so many versions of Halo / C&C / AoE / Warhammer / Warcraft. Change way the people look, turn the castle into a spaceship, improve the design, but it's still the same game.
Yet, I'm not convinced that games will join books, movies, and music as high art. (Many argue that mass-appeal movies like The Transformers are no less an art form than other movies anyway.)
First, story lines and characters tend to be very shallow. The old dude in Up had more depth than any video game character I've seen. I'm not saying that, even when you're building your Civilization, there isn't a story being told. There is, and that history creates part of the fun of the game; it's just not a very complex story.
The bigger question is whether games should try to create meaning. They should definitely try to force people to imagine new things. Indie games do a good job of that. Whether or not that's meaningful from an emotional sense may be irrelevant.
In addition to imagination, games should try to involve more of our senses. The breakthrough of the Wii centers on the fact that it brought new senses into the experience. Dance Dance Revolution is really a game revolution that we should appreciate in awe.
Ultimately, the division between games and tools will increasingly blur. While "games" will continue to be a way to pass time, "tools" can make people's lives better, more efficient. What more meaning could there possibly be?
“A realization is dawning that games can be much more than what they are now... They even have the potential to be meaningful in deep, fundamental ways.”You can try some of them for free, so you owe it to yourself to give them a shot. Like indie movies, they tend to have more ambiguity in purpose and focus on aesthetics.
I hope these guys succeed, because we can only play so many versions of Halo / C&C / AoE / Warhammer / Warcraft. Change way the people look, turn the castle into a spaceship, improve the design, but it's still the same game.
Yet, I'm not convinced that games will join books, movies, and music as high art. (Many argue that mass-appeal movies like The Transformers are no less an art form than other movies anyway.)
First, story lines and characters tend to be very shallow. The old dude in Up had more depth than any video game character I've seen. I'm not saying that, even when you're building your Civilization, there isn't a story being told. There is, and that history creates part of the fun of the game; it's just not a very complex story.
The bigger question is whether games should try to create meaning. They should definitely try to force people to imagine new things. Indie games do a good job of that. Whether or not that's meaningful from an emotional sense may be irrelevant.
In addition to imagination, games should try to involve more of our senses. The breakthrough of the Wii centers on the fact that it brought new senses into the experience. Dance Dance Revolution is really a game revolution that we should appreciate in awe.
Ultimately, the division between games and tools will increasingly blur. While "games" will continue to be a way to pass time, "tools" can make people's lives better, more efficient. What more meaning could there possibly be?
Monday, December 7, 2009
Happy holidays coding
Every year, I pull out the holiday lights and always (so far) receive a pleasant surprise. "Wow, look how organized these lines of lights are!" Bundled, neatly folded up, tied in key points.
And that's when I remember that the year before, when I put them away, I took extra time to do it right. Undoubtedly, other needs pressed -- lots of cleanup, snow to be shoveled, an urgent need for more exercise -- which is why, honestly, it never fails to surprise me when I take them out again.
Why don't we treat our code equally well? People shove code in, sometimes with little regard to ever using it again. Bad names, broken formatting, long run-on functions, no design considerations, etc. It's a giant knot of holiday lights the next time someone opens the box.
There are 3 main reasons. The reason you might hear most often -- "I was in a hurry" -- doesn't hold up. Time pressures rarely put a gun to our head. When NYSE goes down -- now those coders have an excuse!
The rest fall into these buckets:
1. Tragedy of the commons. Whether you do your part or not doesn't affect you that much. Rather, it contributes or detracts from the group good. So, you prefer to spend your time on things that will benefit you more directly. In other words, your box of lights goes into a community pile, from which you'll pick a random one next year. The best way to combat this is by cultivating a group culture that values well-written code.
2. Discipline is difficult. The temptation to slide by, just this once, draws you in. You worked hard at it every day this month, you've earned the right to just shove something together and go home early this time. If you're feeling this way, you're probably a bit burned out. Take a break. Take a day off if possible.
3. I just don't care. Often because the gain is too far away. In other words, anyone who shoves their lights in the box without any effort to be organized, knowing they'll be the one pulling it out in a year. This is the hardest one to overcome; the guy is crapping in his own yard, what can you do? Sometimes, appealing to professionalism can help.
Of course, it goes almost without saying that the extra time I spent putting the lights in carefully was easily repaid by the short time it took to get them strung up again this year. And now I can relax.
And that's when I remember that the year before, when I put them away, I took extra time to do it right. Undoubtedly, other needs pressed -- lots of cleanup, snow to be shoveled, an urgent need for more exercise -- which is why, honestly, it never fails to surprise me when I take them out again.
Why don't we treat our code equally well? People shove code in, sometimes with little regard to ever using it again. Bad names, broken formatting, long run-on functions, no design considerations, etc. It's a giant knot of holiday lights the next time someone opens the box.
There are 3 main reasons. The reason you might hear most often -- "I was in a hurry" -- doesn't hold up. Time pressures rarely put a gun to our head. When NYSE goes down -- now those coders have an excuse!
The rest fall into these buckets:
1. Tragedy of the commons. Whether you do your part or not doesn't affect you that much. Rather, it contributes or detracts from the group good. So, you prefer to spend your time on things that will benefit you more directly. In other words, your box of lights goes into a community pile, from which you'll pick a random one next year. The best way to combat this is by cultivating a group culture that values well-written code.
2. Discipline is difficult. The temptation to slide by, just this once, draws you in. You worked hard at it every day this month, you've earned the right to just shove something together and go home early this time. If you're feeling this way, you're probably a bit burned out. Take a break. Take a day off if possible.
3. I just don't care. Often because the gain is too far away. In other words, anyone who shoves their lights in the box without any effort to be organized, knowing they'll be the one pulling it out in a year. This is the hardest one to overcome; the guy is crapping in his own yard, what can you do? Sometimes, appealing to professionalism can help.
Of course, it goes almost without saying that the extra time I spent putting the lights in carefully was easily repaid by the short time it took to get them strung up again this year. And now I can relax.
Thursday, December 3, 2009
Phone industry: the third phase
The remarkable story about Android phones is not the phones.
True, Motorola's Droid is selling well, proving the platform presents a real challenge to iPhone. Not this year, and not by itself, but I'll stand by my earlier prediction that this is the last year iPhone will dominate. Next year, we'll have more new, hot Android phones, and the snowball will continue to roll and grow.
What I find fascinating is how software is revolutionizing phones. Software used to be a few buttons you pressed to find the right contact. Phone hardware concerns dominated: how usable are the buttons (blackberry), how big is the screen, how many megapixels does the camera have, etc.
It seems obviously now, but if you had asked someone a few years ago, "How do you take on the iPhone," they would have replied, "You need better hardware." Remember when everyone speculated that Google would get into the hardware business in order to build a beach head on the phone platform? But Google saw right away that the hardware had developed to the point where it didn't matter as much as the software on the phone.
Think about this: an entire category of phone hardware has been marginalized -- the clam shell phone -- because that form factor can't really run the software. Did "candy bar" vs "flip" used to be a preference decision for you? It was only a couple years ago! Then iPhone's large screen and keyboard phones killed flip.
And then think about this: Google, which doesn't even make phones, is now arguably the second most important company in mobile phone production.
The phone industry has entered a new phase. Software issues will dominate, and that change will be as disruptive as the transition from landlines to mobile phones.
Update: just noticed that Google will in fact have their own phone. So, Google will play both ends, presumably aiming for a completely seamless experience like iPhone.
True, Motorola's Droid is selling well, proving the platform presents a real challenge to iPhone. Not this year, and not by itself, but I'll stand by my earlier prediction that this is the last year iPhone will dominate. Next year, we'll have more new, hot Android phones, and the snowball will continue to roll and grow.
What I find fascinating is how software is revolutionizing phones. Software used to be a few buttons you pressed to find the right contact. Phone hardware concerns dominated: how usable are the buttons (blackberry), how big is the screen, how many megapixels does the camera have, etc.
It seems obviously now, but if you had asked someone a few years ago, "How do you take on the iPhone," they would have replied, "You need better hardware." Remember when everyone speculated that Google would get into the hardware business in order to build a beach head on the phone platform? But Google saw right away that the hardware had developed to the point where it didn't matter as much as the software on the phone.
Think about this: an entire category of phone hardware has been marginalized -- the clam shell phone -- because that form factor can't really run the software. Did "candy bar" vs "flip" used to be a preference decision for you? It was only a couple years ago! Then iPhone's large screen and keyboard phones killed flip.
And then think about this: Google, which doesn't even make phones, is now arguably the second most important company in mobile phone production.
The phone industry has entered a new phase. Software issues will dominate, and that change will be as disruptive as the transition from landlines to mobile phones.
Update: just noticed that Google will in fact have their own phone. So, Google will play both ends, presumably aiming for a completely seamless experience like iPhone.