Throw it all away

Technology is moving fast. Waaay fast. People are throwing away phones every two years for ever more shiny gadgets that do ever more things. Lots of new little "app vendors" are coming around and shaking the world; but why?

Its not like we didnt have a surplus of software vendors before the app revolution.Where did they go? What are they doing now?

In short: They are trying to catch the hell up. They are trying to hire people to make apps, and use their existing code bases/libraries and technologies and hook it up to something new.

Because they think the software they have is actually worth something.

This legacy bullshit is why they are behind. It is the reason why code is not what you think it is.

Code is disposable! 

Code means nothing. 

It is nothing. 

It is a current expression of a system that is useful in some way. Bank systems with 30 year old green screens that run on punched toast and levers are not an asset, they are a liability. Companies hold on to these old technologies as if their code was worth something.

"That's all our business logic" they cry.
"It would be too costly to rewrite that" they moan.
"The old system is stable" they say....

But is it really? Old systems, like steam engines, work pretty well. But you need to constantly shove coal into the damned thing. It's an unpractical beast that makes your life a living nightmare, and the only reason you really really aren't taking steps to replace it is this:

You are shit scared!

You've made it this far through hacks, long nights of coding, building, and weeping yourself to sleep. Now young'ns are coming and telling you that all your hard labor is worth almost nothing. Here is the thing:

They are right!

You should do the right thing, and throw all your old code away. Yup. all of it.

If you have specifications you should start reviewing them, and rewriting your entire system piece by piece. Why? WHY? WHY WHOULD I SAY THAT? HAVE I NO BUSINESS SENSE? NO EXPERIENCE IN SOFTWARE? AM I NAIVE?

I don't think so. I think you are!

Because one day some new spring chicken company with new software and a fresh approach to your business will come and violate you. Not in the nice way. There will be no lube. Your old software will be stuck in a timecapsule.

You will not have time to react to this new vibrant market, and you will become another casualty of creative destruction.

By writing this post I acknowledge that the cognitive dissonance for many developers, managers, investors and steam engine fanatics will be too much to bare. So go ahead and ignore this advice if you want. I could give a million more reasons why you should get rid of your legacy systems, but I am tired of legacy systems.