Live data from Hacker News

Ask HN: Inherited the worst code and tech team I have ever seen. How to fix it?

news.ycombinator.com

461–470 of 704 posts

Re: Ask HN: Inherited the worst code and tech team I have ever seen. How to fix it?

#461
A little over 2 years I came into a very similar situation, however in my situation we had none of the original developers working on it anymore.

At least from a technical perspective, the key to making this manageable is not a re-write, that’s probably the worst approach especially if you have little to no buy-in from above. From a business perspective, a re-write provides little to no benefit and will only be a large cost and time sink, so you will never get buy-in on that anyways.

The key here is slow, progressive improvement. For example, get it in source control, that’s a relatively simple task and provides an endless amount of benefit. The next step which is a bit more complicated, is get a way to run this in a local development environment.

Getting a local environment for this type of situation can certainly be tough, and you have to be prepared to accept what may be considered a “non-optimal” solution for it. Does your code have a bunch of hard coded credentials and URLs that you would accidentally hit 3rd party services or databases from local and cause problems? The answer to that is NOT to try and extract all those things, because that will take a ton of time and you have no test environment. Instead cut the container off from all internet access and add-in a proxy container to it and give it a container it can proxy through for outbound, then you can explicitly control what it can reach and what it can’t, now you can progressively fix the hard coded problems.

Basically the key is to accept that shooting for “ideal” here is a mistake, and you have to sneak the small progressive improvements alongside meeting the business goals that have been set for the team.

In my experience, if you can sneak some simpler but very impactful changes in, then demonstrate how those help deliver on things, it will be easier to get buy in. If you can point to be being able to deliver a feature weeks ahead of previous estimates and attribute it to say having a sane deployment strategy, or a local dev environment, the advantages become clearer from a business perspective. If you say “we need time to fix this” but have no data or concrete examples of how this helps the business, you won’t get buy in.

Re: Ask HN: Inherited the worst code and tech team I have ever seen. How to fix it?

#462

Lots of people are giving advice on how to fix the code piecemeal. First put it on Git, then add tests, then, carefully and gradually, start fixing the issues. Depending on the project, this could take a year or several years, which isn't bad. The problem with this plan is corporate politics. Say that OP takes on this challenge. He makes a plan and carefully and patiently executes it. Say that in six months he's alre…

Yes, because it's famously easy to just go grab a FAANG job whenever you feel like it, wherever you are in the world.

This architecture is not a MAANG architecture and the fix is unlikely to yield experience that will land you a job at MAANG.

If MAANG is your goal, finding yourself a C-Suite sold on a tech modernization initiative whose hired ex-MAANG throughout their org chart will accelerate your MAANG transition.

If your goal is to learn how to solve business problems for medium-to-large sized non-MAANG companies, this company is probably going to yield good experience.

Two different career tracks.

Re: Ask HN: Inherited the worst code and tech team I have ever seen. How to fix it?

#463
In my experience working for other people it normally only gets worse, not better. I don’t mean to say that you shouldn’t put in effort or try hard at work—what I mean is that broken or toxic environments tend to only get worse. People with the ability and the self-respect tend to leave if they see an interpersonal or a structural dumpster fire. I would find another job and I wouldn’t worry about your résumé having a short blip on it. You’d be surprised how many people have a similar story about starting at a company and immediately realizing it was a mistake.

Re: Ask HN: Inherited the worst code and tech team I have ever seen. How to fix it?

#464
post #284

Earlier quoted context omitted.

> why does our tracking pixel return a purple image? Now I'm really curious, is there some exciting non-obvious reason for a tracking pixel to be purple? Was it #FF00FF or more like #6600DD?

This definitely needs an answer. In fact, until OP can give us the right answer, we immediately need even wrong answers! You reading this. Yes, you. Give your best wrong answer below.

Accessibility. Protanopia affects cones perceiving red color.

Re: Ask HN: Inherited the worst code and tech team I have ever seen. How to fix it?

#465
post #64

> this code generates more than 20 million dollars a year of revenue From a business perspective, nothing is broken. In fact, they laid a golden goose. > team is 3 people, quite junior. One backend, one front, one iOS/android. Resistance to change is huge. My mistake, they didn't lay a golden goose--they built a money printer. The ROI here is insane. > productivity is abysmal which is understandable. The mess is just…

In my opinion OP should seriously consider this advice. I really mean nothing patronizing here, but I suspect OP does not have the corporate experience to handle this situation. This is a corporate equivalent of a double-black diamond downhill route. OP was hired by people who have little understanding of tech and already came in with guns blazing. I might almost wonder if OP's a sacrificial lamb. But, the tech advic…

> OP does not have the corporate experience to handle this situation

Even before that, s/he doesn't even seem to understand any measure of business. $20m/year with 3 people is BIG. Any disturbance to whatever makes that happen will hurt the business greatly. When a full rewrite shakes the boat and causes a few millions of revenue loss or the loss of potential market share or opportunities, they will rightly fire him.

Best route would be to improve things without hurting anything. It doesn't matter things are 'properly done'. It matters whether the organization survives and prospers. What's 'proper' is redefined every 3-5 years, most of the time without objective basis anyway. So no need to hurt the business to force the current software paradigm.

Re: Ask HN: Inherited the worst code and tech team I have ever seen. How to fix it?

#467
post #64

> this code generates more than 20 million dollars a year of revenue From a business perspective, nothing is broken. In fact, they laid a golden goose. > team is 3 people, quite junior. One backend, one front, one iOS/android. Resistance to change is huge. My mistake, they didn't lay a golden goose--they built a money printer. The ROI here is insane. > productivity is abysmal which is understandable. The mess is just…

Best answer. If the money is ok, and the environment not too toxic/stressful, you might just see it as a challenge to secretly improve a codebase without anybody noticing, while still delivering what the higher-ups want to see. Or maybe just scratch the first part and try to see how much further you can push that turd with every coding crime imaginable. One-up the juniors in ugly hack Olympics. Ship a feature and put…

> a challenge to secretly improve a codebase without anybody noticing

That is how it should be done in any case anyway. Improvements should get slowly rolled out without disturbing the users and the business.

Re: Ask HN: Inherited the worst code and tech team I have ever seen. How to fix it?

#468
post #449

Earlier quoted context omitted.

Where does OP say they are team lead? They sound like a junior.

> I have to find a strategy to fix this development team Clearly responsible for team outcomes > without managing them directly Not a people manager. Most likely a tech lead or a technical project manager

Sounds like something they'd explicitly mention. I took it to mean they were a young gun go-getter.

Re: Ask HN: Inherited the worst code and tech team I have ever seen. How to fix it?

#469
post #426
post #283

Earlier quoted context omitted.

I find it hard to imagine you’d never heard of source control by now. You’d have to have been living under a rock for the past 15 years.

Or be a bona fide 'script kiddy', learnt some WordPress PHP or whatever and got a job as 'webmaster' or something straight out of school (UK-sense, I specifically mean no university), no formal CS/software eng. training, never properly an intern/junior trained by people who know what they're doing. I'm sure it happens. And then you get the next job with 5y PHP experience or whatever, employer doesn't mind no formal t…

If such a team of 3 people comprised of script kiddies and 5y PHP coders are going to create a $20m/year product, you can be sure that they will take precedence over anyone who was 'properly' educated in cs when it comes to hiring.

> I'm sure it happens

Yeah it does happen. While using the Internet, quite frequently, you are looking at such products developed by such teams, making millions of dollars a year. Even as the good engineering that is being done at FAANG is now being questioned over profitability, with even Google talking about 'inefficiency'.

Re: Ask HN: Inherited the worst code and tech team I have ever seen. How to fix it?

#470
Start using version control (git) and put a (probably very simple) CI/CD pipeline in control of deployments. The pipeline might just sftp the files from git to the server; that’s okay. The point is production deployments cannot happen outside of fit commits. (Change server creds if necessary so this cannot be bypassed).

Doing this will put a safety net in place enabling rollbacks, introduce the team to version control, and give you a beachhead for automated testing in the pipeline.

Definitely DO NOT do a rewrite.

Post reply on HN