Live data from Hacker News

You're not a senior engineer until you've worked on a legacy project (2023)

infobip.com

391–400 of 431 posts

Re: You're not a senior engineer until you've worked on a legacy project (2023)

#391
post #19

I 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 :)

AKA fighting the last war. Can be difficult not to focus on trying to avoid painful things from past projects, though.

Re: You're not a senior engineer until you've worked on a legacy project (2023)

#393

Hard to disagree. I can usually tell what type of type of experience devs have by the snarky, dismissive responses I've gotten on various internet forums over the last two decades. e.g. "Oh but you would never have this problem if you performed proper code review" - Random_Rockstar_Dev_254 However not all legacy projects are bad to work on. If they're decently developed, then often you'll find that most of the pain i…

> As an aside, I know tons of experienced "Senior" developers who just suck at their jobs. The problem is they have tons of experience in delivering terrible products based on terrible code and architectural decisions.

It's a classic tragedy of engineering; you can actually ship with almost anything, and just successfully delivering a product reinforces a feeling that your choices were good, no matter how arbitrary they were in practice.

People can get really confident that what they're doing is tried and true, while it's simply the only approach they've had for all of their career.

Re: You're not a senior engineer until you've worked on a legacy project (2023)

#395
Strong agreement from me.

I'd also add "until you've spent some time testing a code base you didn't write" to the mix. That definitely tightens your senses and busts some assumptions.

The next time you hear the phrase "... well, it worked on my machine ..." it takes on a very different complexion.

Re: You're not a senior engineer until you've worked on a legacy project (2023)

#396
post #312

Hard to disagree. I can usually tell what type of type of experience devs have by the snarky, dismissive responses I've gotten on various internet forums over the last two decades. e.g. "Oh but you would never have this problem if you performed proper code review" - Random_Rockstar_Dev_254 However not all legacy projects are bad to work on. If they're decently developed, then often you'll find that most of the pain i…

The windows kernel is old. The Linux kernel is old. These are both old code bases, but they're not "legacy" at least in terms of how many would phrase the term. A codebase let to rot is legacy. A codebase that is constantly improving itself to be in the best state so that it can adjust to modern programming standards is just a good piece of software. That all said, it's all subjective, blah blah the end.

Linux kernel is old rotting legacy which is improving itself.

Re: You're not a senior engineer until you've worked on a legacy project (2023)

#398

Everybody hates working on legacy projects, myself included. I am proud that I am a part of a team that uses most of the best practices Speak for yourself... I'm the exact opposite. Then again, outside of work I fix and maintain other physical systems which are many decades old, some close to a century, so perhaps that changes the perspective. I see so many in the software industry cargo-culting "best practices" dogm…

> I see so many in the software industry cargo-culting "best practices" dogmatically, creating constant churn via useless trendchasing, that they keep reinventing - badly - new ways to do the exact same things as before.

That's why software engineering is still very immature as a science field. It's pretty much the result of so widespread software engineers' inability to even define the problem they're trying to solve. Along with the inability to demonstrate the impact of the change and provide at least some cost-benefit analysis.

And this is spreading like a cancer. Unfortunately, I see this almost everywhere and I am not sure when it all began because we were certainly not being taught such things at the University. Critical thinking seems to be lost in a signal-noise ratio.

Re: You're not a senior engineer until you've worked on a legacy project (2023)

#399
post #374

Earlier quoted context omitted.

There's a tradeoff here too. If your codebase was started in Java 6, I dearly hope you won't continue to write code in that style anymore for new code.

How about Fortran 77"

Six-foot-four-tran? (I’m sorry.)

Re: You're not a senior engineer until you've worked on a legacy project (2023)

#400

As 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…

>embedded engineer

Important note: building the moat means you can one day be promoted to principal and make junior webdev money

Post reply on HN