We're finally moving offices, tomorrow. When you bid out a construction job, there's always one guy who comes in with a bid that's way less than the other guys. It's almost always a bad idea to accept this bid. Anyone whose bid is that far off either doesn't know what he's doing, or is cutting corners in some scary way, or will go bankrupt in the middle of the job. Or they're lowballing to get the work, and they plan to make up the profit by overcharging you for the inevitable changes. But it can be incredibly tempting. “You can buy an awful lot of aspirin for $35,000,” you tell yourself. As a client, the best way to use a lowball bid is to get the contractor you really want to lower their bid.
In the software industry we're always saying things like, "scheduling software is inherently difficult because it has never been written before, so it's science. It's not like the building industry, where everyone involved has done the same thing 100 times before and it's possible to make good reliable schedules. The software industry needs to become more like the mature trades with predictable schedules and budgets."
Well, what I've learned from my first large construction project is that this is hogwash. The building industry doesn't know how to do anything on schedule or on budget, either.
The Good News
The good news is that our architect has done an incredible job designing what I consider to be the ultimate programmer's workspace. I'll write up a full report after we move in.
You’re reading Joel on Software, stuffed with years and years of completely raving mad articles about software development, managing software teams, designing user interfaces, running successful software companies, and rubber duckies.