I remember years ago I was crazy like that. “Gotta get this done, gotta get this out the door.” I was working until all hours of the night, heck I even worked on Christmas day cranking out code. Eventually the sales guys said, “we need this feature or this prospect won’t buy, and if they buy they’ll buy big.” But…. “The feature is going to take months to implement. The code is a mess.”
Why would anyone code like that? Well, in my first job the schedules were somewhat unrealistic, moreover the scope was constantly changing. Being fresh out of university I had no idea how to estimate properly so I went with the premise that these people have been “out there” 10 to 30 years longer than I have. Also, I was a little too eager to please. With hindsight I can see that my gut feelings were right, but at the time any argument was met with somewhat patronising responses that I was still a “boy” and didn’t know how the “real world” worked. Eventually, I did manage to push through process changes to, at least, formalise things a little better, but by that point most of the damage was done.
What I can be thankful for now is that I don’t have to work like that any more. Schedules are realistic, code is better formed – sometimes a little rushed in areas due to an impending deadline, but not to the overall detriment of the project.
NOTE: This was rescued from the Wayback Machine. The original was dated Wednesday, 6th October, 2004.