Honestly,

It sounds like you are coming in and wanting to create a lot of extra work for everyone.

I have dealt with engineers like this before. You want to follow every single best practice, create automated testing and do everything “right.”

Creates incredibly massive extra work that is non value added.

These sound like some lazy ass engineers who don’t give a shit.

My guess is this team has had two years doing things a certain way, and you are trying to get them to do a lot of extra work and they are going “yeah fuck that.”

Probably they won’t get paid more for restructuring their entire code base.

I would guess most would rather leave then do that.

So they are just going to bicker with you.

Generally speaking, when you join a job there is a grace period where you decide if you can help them or not.

Or if you want to help them or not.

The reality of software engineering is it doesn’t make sense to EVER rewrite everything from scratch. Ever.

It sounds like your management are not on board with firing people or changing anything.

Sounds like either:

1. Give up and collect a paycheck and find something that seems useful to do but doesn’t actually change much

2. Make a play at changing your management style.

It sounds like you are trying to dictate to them what to do.

That NEVER works. EVER.

It sounds like you are coming in and telling them what to do.

LOL.

An alternative approach is to embrace a facilitation driven approach.

A facilitation driven approach looks like this:

1. Do lots of research
2. Come into the team with options of different approaches
3. Have the CTO and the team and whoever meet
4. Say “here are the problems and here are some options for solving them”
5. Facilitate a discussion around the options and get people to voice any opinions or support or concerns
6. Try to get the group to head in a direction of progress

My personal opinion, sounds like you are trying to dictate your approach and it’s failing entirely and management and the team clearly don’t give a shit what you think.

The harder you try to insist on your approach the more credibility you will lose.

I also sense that your management probably doesn’t actually care that much about the outcome based on their actions.

So if no one cares and no one wants to change, I recommend the facilitation approach.

It’s human psychology.

Your job is to make people like you.

If you are likeable you will never get fired.

You think they actually care about the $1M outage.

They actually don’t care. It’s not their money it’s the companies money.

And management doesn’t seem to care.

So just be likable and facilitate and make the changes people are willing to make and remain likable.

Let go all of this opinion and ego about you installing all the perfect processes and refactoring the code base to be perfect.

It isn’t going to happen.

Give up on that.

Instead, facilitate the team to do what it is willing to do by providing options and walking them through and letting them agree to a course of action.

Give up on getting your way.z

And realize no one gives a shit about saving the company money.

They had an outage, they fixed it by hiring you. If they have another outage you can blame the team later lol.