It’s quite funny to observe the way in which new generation of engineers resembles the past ones. We all are perfectionists, we all have our own ideas how to create software, we don’t like working with other people code and we all do the same mistakes once and again :) By accident, I’ve found the article written by Joel Spolsky in April, 2000 (yes, 12 years ago!) with an intriguing title : "Things You Should Never Do, Part I" (http://www.joelonsoftware.com/articles/fog0000000069.html). What is it about? Re-writing software from scratch. Nothing has changed for these 12 years.

Stuff can always get better. We get new ideas, we learn new libraries / frameworks or just patterns. We want to try new things because we tend to get bored quite fast. We’re *the EXPLORERS*. And we lie to ourselves:
  • "it’s easy, I have a clear picture of how to do that"
  • "it will take 4 hours, well, maybe 1 day"
  • "this will be compatible with all the integrated components"
How does it end (usually)? We never have enough time to finish what we’ve planned. Or our "perfect blueprint" has to be modified, because it doesn’t fit into some situations (and now it’s not that *perfect* …). And in the end we need to spend a lot of time testing it (and the old code maybe wasn’t perfect, but it was proven, because it was *USED* before).
Yea, people never change. Read the article, it’s worth of your time. In the meantime, I got to re-write something …