A recent 8-month project which we designed, developed, tested and delivered in 2 months resulted in something I expected but dreaded: some wretched code.
To be fair, there was a higher-than-expected proportion of really good code – the kind of stuff that you read like a Dreiser novel (but which has a happy ending). Easy to follow, well-structured, clearly commented stuff is a joy to code review. Some of it required modification simply because the business rules changed several times throughout the project (perhaps a topic for a future post), and it was a little sad to see mod marks later sully what had been a clean, fresh program.
I also read through some very nice code that was perhaps not quite as pretty but suited the purpose of the project, did not overly complicate things in the process, and was optimized. I count my two minor contributions as members of this category.
But unfortunately, there is a third general category.
Yesterday, after reviewing a developer’s work on a requested modification, one of my managers approached me and suggested that software development is perhaps not this developer’s strong suit.