I've noticed the same thing, but this niggling voice in the back of my head keeps wondering if that's because I was just working on easier problems than they were. There've also been times when I've worked long hours and produced pretty crappy code that didn't really work all that well.
There's sorta this downward spiral that a lot of software projects get into. Because the project is difficult, the engineers start working long hours and pushing through to get it done. Because they're working long hours, they get tunnel vision and make mistakes. Because they make mistakes, the codebase sucks. Because the codebase sucks, the project gets more difficult. Etc.
The solution is really just to not do hard problems - which is basically what DHH and 37s advocate. But there are a limited supply of easy problems to go around, so you get things like the Web2.0 gold rush where thousands of people are chasing the easy problems.
There's sorta this downward spiral that a lot of software projects get into. Because the project is difficult, the engineers start working long hours and pushing through to get it done. Because they're working long hours, they get tunnel vision and make mistakes. Because they make mistakes, the codebase sucks. Because the codebase sucks, the project gets more difficult. Etc.
The solution is really just to not do hard problems - which is basically what DHH and 37s advocate. But there are a limited supply of easy problems to go around, so you get things like the Web2.0 gold rush where thousands of people are chasing the easy problems.