Live data from Hacker News

Ask HN: I got duped into working on legacy code, should I leave?

news.ycombinator.com

71–80 of 126 posts

Re: Ask HN: I got duped into working on legacy code, should I leave?

#71
post #32

Earlier quoted context omitted.

The depth of the stack is not a very good metric for code quality.

It's bad in a lot of specific ways but I'm trying not to out myself since it's a fairly small company. The overarching problem is trying to reinvent the wheel because the management thinks we can do things better than the language designers. The end result is a buggy and generally bad reimplementation of core libraries. ORM, math, dates, full text search. There's a half-baked custom version of everything.

Add regression tests, replace with your own code. or quit.

Re: Ask HN: I got duped into working on legacy code, should I leave?

#72
post #16

If all you've got are React and Typescript, you may be better off learning how to modernize old code. There's a glut of Javascript-only programmers. What's the old code written in?

Some webforms but the majority is in a much more ancient and niche language I won't name because it's too specific to this company.

Must be Wasabi

Re: Ask HN: I got duped into working on legacy code, should I leave?

#74
That depends. It sounds like your veterans are burned by the similar lip service to deprecate this codebase.

Are you a bad enough dude to rise up as a leader for these people and help get them out of the rut that you're now experiencing? (And get yourself some leadership bullet points for your résumé?)

Let me toss out a couple of definitions that I subscribe to first before I continue:

Lacking a comprehensive suite of automated unit ("small"), functional ("medium"), and integration ("large") tests is a necessary and sufficient condition for code to be called legacy.

Code is called deprecated if and only if there is an active, expedited push to remove it from production and, if dependencies on it still exist, replace it with something functionally equivalent. (This second part is crucial.)

Frame the conversation in these terms.

With that said, I have a couple of questions:

Do managers make the technology and risk management decisions in your organization? If so, your first priority is to find some way to usurp that from them as an engineer with help from your veteran cohorts.

Do you have any experience writing those three classes of automated tests I rattled off here earlier? If not, this is your perfect chance to develop that skill. It just so happens that this carries over into your area of interest, and it's a very good discipline to get into.

Writing tests like that establishes a certain sort of contract about how the software should function. Integration tests, ideally, exercise its functionality in the context of its inter- and co-dependent systems. Meanwhile, functional tests, with a similar ideal, exercise its functionality in the context of intra-module dependencies within the same system.

With those two things there, you'll be able to make "right around the corner" more of a reality because you'll actually have a metric to use to measure how "done" you are with a drop-in replacement.

(And, along the way, since you're already perceptibly breaking things, you can deliberately break some things but use those failure modes to write integration tests that further boost your confidence that you're getting there! Sneaky!)

Unit tests, in contrast, help you to cross the last mile of maintaining what you currently have as requests to change things come in. To use your language here, it'll help make the process a lot less stochastic, at least in terms of management perception. Your tests will fail before anything happens in production.

If you stay at this organization, your personal goal should be to learn how to write those three classes of tests and to get good test coverage around it all.

Then again, if you can't usurp those things from management, run.

Re: Ask HN: I got duped into working on legacy code, should I leave?

#75

If you were lied to, that is reason enough for leaving. If they lie about the role from the start, they will lie about other things.

Have you ever had an employer that didn't lie at least a bit ?

get the things that matter in writing. anything that is not in writing is a bona-fide lie.

Re: Ask HN: I got duped into working on legacy code, should I leave?

#76
They cant be mad if you tell them you are leaving because you were hired to work on xyz and you are actually doing abc. Unless they hired you saying that SOON you will be working on xyz. Then you put yourself in this situation.

Anyways most employers will understand your reason for leaving and it shouldn't be too big of an issue to find a new gig.

Re: Ask HN: I got duped into working on legacy code, should I leave?

#77
I was in this situation. Was told they were transitioning to a new stack, but that never happened.

I gave it(wasted) 1 year.

But, in retrospect, I waited too long. If anything, after 3 months, I should have said: "My expertise is X. I want to work on it. I'd be happy to come back when you guys are actually doing X."

I recommend interviewing at other places asap. Life's too short.

Re: Ask HN: I got duped into working on legacy code, should I leave?

#78
Talk openly about the specific issue with your boss. Tell him/her exactly how much time you give them (3 month is a okayisch thing) to improve on it or you will leave based on that issue.

Offer them a way of migrating to your stack like 'hey we can migrate this peace and this peace to typescript' Its an easy start, low risk.

If they don't care, or don't change, leave.

Re: Ask HN: I got duped into working on legacy code, should I leave?

#79
post #68

Earlier quoted context omitted.

I'm looking for a React guy. Remote work is fine as long as you're on USA timezone.

How about someone with no accredited skills or accomplishments? I'll transcribe your voicemail, I'll answer emails, whatever. I won't let you down.

[deleted]

Re: Ask HN: I got duped into working on legacy code, should I leave?

#80

Couple of questions to focus your decision making: Did they pay for your relocation expenses? If so, is there a clause in your employment contract to pay it back if you leave within a given period of time? Do you want to stay in your new city? If you are unhappy enough to leave, then why not bail up the manager who hired you, tell them point-blank that they lied to you and you know that the "round the corner" talk is…

Relo isn't a problem and I definitely want to stay in this town. I can't really mark it as time off because I already did that a while back, I don't want to end up with a lot of gaps :) I was thinking I could just apply to other places and be honest with them... But some may also frown upon me saying bad things about my current employer

As a hiring manager, if you tell me the reason you left after such a short time was as you describe in this post, I would have no real issues with it.

I'd be looking for some insinuation that you gave it an honest effort and tried to work with your previous company to make it better, but in the end if you got hired for a certain role or stack and it was clearly not what you were going to be doing there's no fault (in my opinion) in you being dissatisfied.

There are certainly times when people can come across as chasing only the shiny and new tech, which is a bit of a turnoff if I'm trying to build a product, but not a deal breaker either. I don't feel like this is the kind of situation that would make me feel that, you weren't getting what you signed up for.

If a prospective new employer already has concerns about employee retention or that they're also overpromising on their stack, they may pass on you- but I think we'd agree that would be best for everyone in that case.

I would also make it a point to let your manager know, as well as HR during your exit interview, how you felt you got bait and switched. It's entirely possible it was unintentional- in which case they could use it as a way to improve and clarify how they're positioning the role. Or, if they're actually lying about it and already know- they won't really care, but it could put the manager or team on notice with someone who does to get their shit straightened out. It might be a long shot, but it might make it better for the next person.

Post reply on HN