An important part of a programmer’s job
October 8th, 2008 at 4:26 pmI’ve already written about this quote in the review of Programming Pearls, but I like it so much that I want to dedicate a separate post in the Quotes category for it:
One part of a programmer’s job is solving today’s problem. Another, and perhaps more important, part of the job is to prepare for solving tomorrow’s problems.
I just can’t over-emphasize how true this is, and how important.
Related posts:

October 8th, 2008 at 17:29
As with anything, I think there are trade-offs and a balance to be sought. I’ve seen codebases that struggle under the weight of code that exists for “future flexibility”. One of the reasons people railed against Struts (pun unintentional, but welcome
is that Struts provided incredible flexibility… that real world projects just don’t tend to need.
More often, I take the “YAGNI” philosophy. I’ll consider potential future needs, and make sure that I’m not making that potential future harder, but I won’t actually alter the implementation for a future that just might never come.
If you look at code as inventory with a carrying cost, you tend to avoid making more of it than you need.
October 8th, 2008 at 18:25
@Kevin,
I think that we might be understanding this quote differently. To me it seems to say that a programmer must learn and constantly improve himself in order to be ready for tomorrow’s problems, not write over-general, huge systems for features that don’t yet exist, but might, in the future.