Live data from Hacker News

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

infobip.com

211–220 of 431 posts

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

#211

Earlier quoted context omitted.

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.

> how much they disparage the previous team's work. And many fail to discern between "disparage" and "critique" or even "Question in order to learn" One of the greatest failings I've seen in leadership in our time is the idea that in order to make a critique one must come with a solution in hand. As a leader I want to know the things that are going wrong as soon as they're seen, not to require someone to go through t…

> And many fail to discern between "disparage" and "critique" or even "Question in order to learn"

I think I’ve had the conversation with new to my organization devs a few hundred times: “Look... saying code is crap or stupid is telling others you’ve given up on learning. How about asking why it is the way it is?”

> greatest failings I've seen in leadership in our time is the idea that in order to make a critique one must come with a solution in hand.

The pattern works at very high levels in an org chart, but with developers and those that manage them it breaks the whole concept of problem solving. You have to be able to identify and understand problems before you can come up with a solution... and usually, with software, the solution is developer hours.

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

#212
post #79

I've run into a few engineers, very capable people and I'd be happy to work with them, but their experience was limited to very structured environments. It sounded like they were in well organized organizations. One in particular worked for a sort of "side ways competitor". They were horrified to hear about my deploying a fix all by myself, no review, for a legacy product that really didn't have a good testing enviro…

It's not one or the other though - a bit of safeguards here and there would make you even more productive, imho. Code reviews are indispensable for sharing knowledge within a team, automated deployments help deliver the system reliably and without unplanned downtime, and tests... People start appreciating tests when the red lights warn them about breakages in some completely unrelated places that they didn't even thi…

I don't disagree generally, and in fact we're starting to build those safeguards where I am ;)

Having said that process and bureaucracy is still what they are and they tend to eat up more cycles as time goes on, even if only because they're administered by humans.

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

#213

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…

Additionally, reading through other people's code is educational and it also builds self-esteem.

Self-esteem and empathy.

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

#214
There's no hurt feelings like the hurt feelings of a junior engineer, who has spent the last year kvetching about how much they hate working on legacy junk, hearing someone else refer to one of THEIR projects as "legacy junk".

Any code that's old enough to have its first birthday party is "legacy", which means that "legacy" is a completely useless category. Anyone calling anything "legacy" is generally just showing their own lack of experience.

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

#215
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 :)

And the only better experience than that is that all software is pain

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

#216

There's no hurt feelings like the hurt feelings of a junior engineer, who has spent the last year kvetching about how much they hate working on legacy junk, hearing someone else refer to one of THEIR projects as "legacy junk". Any code that's old enough to have its first birthday party is "legacy", which means that "legacy" is a completely useless category. Anyone calling anything "legacy" is generally just showing t…

1 year old code is not legacy. Legacy is a useful category. COBOL is legacy. Maybe it is unclear exactly where to draw the line but if that were a valid reason to discard conceptual categories we wouldn't have any.

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

#217

Legacy or not, I don't consider anyone really senior unless they have spent building and more importantly maintaining/fixing a system at least for 3-5 years at one single place and have done this at least 2-3 times across different companies. We all know that it is a lot easier to start a new/greenfield project with shiny tech etc. It is a lot harder to maintain especially once it is 2-3 years old and in production w…

No a senior engineer is someone with at least 3 years experience, haven't you seen any job ads?!

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

#218

My first "software engineering" scale project was working on a existing massive 10 y.o js pub/sub and java templated webapp. Taught me why typed languages are valuable, why I should never listen to PMs, why I should be humble, why estimates are impossible but sort of important, and why long feedback loops anywhere in the entire process (including compilation) are productivity killers, along with not having an isolate…

Learning to never listen to PMs sounds like the opposite of being humble

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

#219
post #58

Earlier quoted context omitted.

I always tend to say: "Everybody learns better from their own mistakes, but if you are empathic you can also learn from other people's mistakes". The latter is less costly and only requires you "only" to open your eyes and look at projects that are in an ugly state the right way. Yet surprisingly few people are capable of looking at someone elses fucked up project and not going all like: "Hah! Idiots! I would never h…

> which software ages like fine wine and which ages more like milk Now I'm curious. What software has aged well? What software hasn't? Do certain types or categories of software tend to age better or worse?

cURL is my personal go-to when discussing things like this. The Unix implementation is old, stable, functional, and has changed elegantly with the times.

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

#220

Only a little senior, if you're still working and not sitting in meetings all day - rungs remain

Why is sitting in meetings all day considered the top of the IC developer ladder? I don’t want my career to end up like that
Post reply on HN