Anyone Can Write Code. Good Coders Rewrite.

I’ve never been happy with what I do. This is both good and bad.

I think it has something to do with a bad history with failing hardware, but I don’t ever see loosing my work as a bad thing. Whether it’s because

  1. I forgot it exists
  2. I forgot where it exists
  3. The hard drive forgot how to make it exist
  4. I remembered how bad it was anyway

Looking back at anything I’ve done, I’ve always thought…

“Wow! That looks crap!”

This is good because it means you’re better than you were then.

Most of my personal projects. Sorry that’s a lie. ALL of my personal endeavours are pure experimental. I know neither if it will work no how to make it work. Yes, it’s the approach the adventurous love and the academics hate: the spiral approach.

There’s nothing wrong with the spiral model. It’s just that it’s become a euphemism for “oh I’ll document it later”. Something higher management and university professors consider tantamount to having done no work at all.

And it doesn’t help working in research and development where things are fast-paced and competitive pre-bid prototyping calls for Rapid Application Development. Million dollar contracts just scream out “f#$% the documentation!”

This doesn’t advocate blind development, I’m no stranger to large printing bills. But it’s inevitable that the customer will render your original design the initial prototype. But I digress.

The danger of RAD is that new things tend to be stuck on. Which is why a good rewrite is worth it. Don’t delete your work. Just start a new project and recycle your old code. The new design you make now will cater for all the new components better. Hey you might even discover appropriate design patterns or accidentally formulate a solid software architecture.

Heck I just realised I rewrote this post a few times.