There's a recent blog post that was sent to me in response to my insistence on Test-Driven Development: "The Duct Tape Programmer" by Joel Spolsky. The gist of the post is: Good programmers ship software. I agree. And my response is: Great programmers ship quality software. When I wrote commercial software, there were no unit tests. All testing in-house was done by some internal QA testers, and if the software passed smoke tests it was sent through a full test run. This could take a week or more....
In a big company there are often dozens, if not hundreds of projects going on at the same time. Getting stuck on a bad one - one that's disorganized, frustrating, and sure to forget any contribution you make (no matter how major) - is a pretty common occurrence. Disengaging yourself skillfully becomes a kind of art form. My team reached its limit recently after being assigned to a poorly run project for three months. As a parting gift, we gave lots of advice on how the project should be run - not...