Paul Graham has recently published an essay about start-ups. As usual there are a lots of goodies in there; but one paragraph I want to post here.
I spent a year working for a software company to pay off my college loans. It was the worst year of my adult life, but I learned, without realizing it at the time, a lot of valuable lessons about the software business. In this case they were mostly negative lessons:
But negative lessons are just as valuable as positive ones. Perhaps even more valuable: it's hard to repeat a brilliant performance, but it's straightforward to avoid errors.
- don't have a lot of meetings
- don't have chunks of code that multiple people own
- don't have a sales guy running the company
- don't make a high-end product
- don't let your code get too big
- don't leave finding bugs to QA people
- don't go too long between releases
- don't isolate developers from users
- don't move from Cambridge to Route 128
I agree with most of them wholeheartedly... with a few exceptions. One of them is the code ownership. I feel like I'm in a chains if I can't correct mistakes or simply improve the code written by someone else. I also don't have any problems if someone does the same to my code. At least I think so because in the current project I can rememeber only one occasion when that happen: people are too busy churning out their own new code. The other lesson I'm not sure I agree with is the one about moving from Cambridge to Route 128. But that's because I'm not sure I get it. Does it mean: "stay close (physically) to areas with high densities of smart people"? If so, then I agree.