Hey Matt - I couldn't agree with you less :-) Well, at least in spirit. If things need to get done, and need to get done quick, then sure, glue some pieces together and get it off of the ground. Hopefully, you'll have the functional tests in place to allow you to refactor later when you can/need to go back and make it scale, perform, maintain, or just look - take your pick - better.
At any rate, I think a developer learns a great deal from re-implementing a table data gateway. Or seeing for himself how a table module and row gateway interact with each other and their role in a domain model. Should they be coupled? Why or why not? How else could it be implemented? That kind of knowledge comes almost exclusively from experimentation and gives a programmer experience he can't learn from a book for those times when he must go out write from scratch for whatever reason. I think patently labeling one's efforts at extending their knowledge and sharing it with others as a "serious waste of time" is at best a disservice to them and at worse a disservice to the community as it might stunt a possibly great mind.
There are competing interests here, however. Often, a developer's time isn't his own and meeting deadlines becomes more important than making yourself more valuable to a company. In those situations, I encourage anyone to glue away during their 9 - 5, then start quietly posting their resume. ;-)
Last 10 Comments
1
2