Myeah. Makes it sound like they built a new client quickly without future proofing it because the older client was hard to work with, only to create a new hard to work with pile of code. Rewriting software rarely works out to be the silver bullet you imagined it to be. In my experience taking something crappy and piecemeal make focused attempts at improving small parts at a time.
There are cases of “architecture by happenstance” where a rewrite is your only path forward ultimately. Developer understanding of the specific business needs often evolves over time and poor choices were made in the beginning. You can rearchitect it in place over 5 years or you can do it in six months. It helps to have a leader with a strong vision and sense of where things went wrong the last time, though. If it’s just a bunch of “this app sucks. We need to rewrite it in .Net/NodeJS/etc.” then you’re doomed to fail in all the same ways.
I took place inbailed on a Java -> .Net migration where they were literally copying and changing syntax. It could’ve been a singular opportunity to fix a bunch of things, but was instead a waste of money and probably 60 developer years. I wonder if they ever finished…
Myeah. Makes it sound like they built a new client quickly without future proofing it because the older client was hard to work with, only to create a new hard to work with pile of code. Rewriting software rarely works out to be the silver bullet you imagined it to be. In my experience taking something crappy and piecemeal make focused attempts at improving small parts at a time.
There are cases of “architecture by happenstance” where a rewrite is your only path forward ultimately. Developer understanding of the specific business needs often evolves over time and poor choices were made in the beginning. You can rearchitect it in place over 5 years or you can do it in six months. It helps to have a leader with a strong vision and sense of where things went wrong the last time, though. If it’s just a bunch of “this app sucks. We need to rewrite it in .Net/NodeJS/etc.” then you’re doomed to fail in all the same ways.
I
took place inbailed on a Java -> .Net migration where they were literally copying and changing syntax. It could’ve been a singular opportunity to fix a bunch of things, but was instead a waste of money and probably 60 developer years. I wonder if they ever finished…