You're not a senior engineer until you've worked on a legacy project (2023)
31–40 of 431 posts
Re: You're not a senior engineer until you've worked on a legacy project (2023)
#32As an embedded engineer in a new position I always volunteer to take up an old crusty legacy product that nobody else wants to touch. It's a quick education into how the company approaches projects and all the ghosts they had to fight along the way. All the business logic is there, and sometimes it's even documented. And once you have a semblance of knowledge about how the thing works and how to make fixes, you've bu…
Re: You're not a senior engineer until you've worked on a legacy project (2023)
#33You're also not a senior engineer until you've been forced to adopt the coding style and practices of that legacy project. A lot of younger developers like to come into a new project and slap on the latest frameworks or coding practices that they've picked up recently, without acknowledging that breaking the standards of the project lead to higher mental load to maintain that code over the long term.
Re: You're not a senior engineer until you've worked on a legacy project (2023)
#34Earlier quoted context omitted.
And the only better experience than "working on a greenfield project long enough to watch it become legacy and see the good and bad consequences of past decisions" is working on a second greenfield project long enough to see that drastically overcompensating for all the bad things from the first one is not the right solution either :)
I keep telling people v1 of anything always sucks. One of the tells of an inexperienced engineer I use is how much they disparage the previous team's work.
Re: You're not a senior engineer until you've worked on a legacy project (2023)
#35You're also not a senior engineer until you've been forced to adopt the coding style and practices of that legacy project. A lot of younger developers like to come into a new project and slap on the latest frameworks or coding practices that they've picked up recently, without acknowledging that breaking the standards of the project lead to higher mental load to maintain that code over the long term.
Re: You're not a senior engineer until you've worked on a legacy project (2023)
#36When it is something new, it is "easy" - check Stackoverflow or ask LLM and then modify code until it "works" - which doesn't even need any understanding of how it works. Just tweak until there are no errors and screen makes the manager happy.
Since corporations started cutting budgets - don't pay for training and get developers who know how to write CV and memorised interview questions and agree to work for substandard pay, it is all slowly going downhill. More experienced developers are tired of handholding new employees through basics or very much developing the tickets for them on top of their own workload and so they quit and problems are getting bigger and bigger.
Re: You're not a senior engineer until you've worked on a legacy project (2023)
#37Earlier quoted context omitted.
In one of my past job, for some reasons I was the only one diving into legacy 12+ years old code. The other members kept producing new code and debugging new code. Disregarding of whether it's fair or not, there was a kind of balance that kept the boat floating. I left since then and it wouldn't surprise me if the legacy was being rewritten from scratch (and over-engineered).
Legacy 12 year old? Try 40 - 45 year old code. Back when people mandated an 80 character line width because their CRT monitors only had so much resolution
Re: You're not a senior engineer until you've worked on a legacy project (2023)
#38Data-centers -> Cloud Monolith -> API and Services Databases.... Memcache -> Redis JS/JQuery -> MVP Framework Git. and not to forget K8S.
and this is just the tip of the iceberg.
Re: You're not a senior engineer until you've worked on a legacy project (2023)
#39Re: You're not a senior engineer until you've worked on a legacy project (2023)
#40I once had a manager that was fond of saying: > Experience is what you get when you don’t have any. The only better experience than working on a legacy codebase is working on a greenfield project long enough to watch it become legacy and see the good and bad consequences of past decisions.
And the only better experience than "working on a greenfield project long enough to watch it become legacy and see the good and bad consequences of past decisions" is working on a second greenfield project long enough to see that drastically overcompensating for all the bad things from the first one is not the right solution either :)
Edit: oh and how could I forget as simple and readable as possible