Re-Engineer v/s Rewrite
A tale of choices you have to make when taking a decision
We are engineers (can be safely generalised to humans), who at heart enjoy building not extending/enhancing/improving
Disclaimer: doesn’t mean we don’t enjoy extending/enhancing. I strongly believe in the philosophy of – You touch it, you improve it!
This is driven by the fact - programmers think old code is messy as Joel Spolsky writes – It’s harder to read code than to write it
Having said that, programmers use tonne of external libraries & modules to avoid re-inventing the wheel.