Why working on a “legacy service” is a good thing
Most people want to work on greenfield systems: no baggage, clean slate and infinite possibilities. Why not? But gradually I learned that the large majority of the systems we get to work on are the so called “legacy” systems. They have all kinds of problems: monolithic architecture, code base like a big ball of mud, never ending operation work. But legacy systems often have something that no greenfield systems can truly claim: the reason they are still here is because they have real customers; they deliver real value to customers. What about greenfield systems that also deliver values? Well, the moment they start to deliver real customer values, they become “legacy”. True greenfield systems’ priority is to validate they are solving the “right” problems. Software qualities like availability and scalability etc. are often secondary concerns, and rightly so. I heard the human body's cells largely replace themselves every 7 to 10 years. Similar changes usually apply to software systems with real customer values, but at a much faster pace. Once the business problems are confirmed, then almost all large complex systems must go through continuous refactoring and rewriting to stay relevant, piece by piece. How do you rebuild a boat while you are on the boat? When have you changed enough of the old system that you can claim this is a new system? There are no hard line you can really draw between old and new. The greenfield systems have all your old ideas and bad decisions, and the “legacy” systems could be the playgrounds for your new ideas, and chances to redeem your sins. So instead of worrying about working on “greenfield” vs. “legacy”, ask these questions instead: 1. Does the system provide real value to customers? 2. Do you resonate with the value proposition? 3. Are there interesting problems to solve? 4. Does the technology domain of the system roughly match your technical passion in the next 3 years? 5. What can you learn from solving the problems? 6. Most importantly, are there interesting people you can work with? You can learn from? “Old and new make the warp and woof of every moment. There is no thread that is not a twist of these two strands.” Ralph Waldo Emerson
Last updated
Was this helpful?