(throwaway account for obvious reasons)
I have been invited to be the tech lead for a small group of people that had been working independently for 2 years without reporting to anyone formally.
CTO and a few directors were checking in sporadically with them but interactions were happening as needed, only for adhoc requests. They were mostly keeping the lights up, doing whatever they felt was necessary and not having any long-term plans.
This situation caught up with them in the past few months with many outages that caused close $1m USD in damages. Thus why leadership felt they needed a tech lead to steer the ship.
These people were working individually, never coordinating their tasks, there were many duplicated solutions for the same areas. I counted at least 12 different ways to deploy applications. Manual changes happening all the time, no code reviews, not a single test, etc. They were skipping all the good software engineering basics.
Before appointing me as the new tech lead, management talked to them. The reactions ranged from indiference to approval. I didn't think this great but it could be worked out.
Fast forward 2 months. They are pushing back hard on any new proposals to adopt CI, tests, code reviews, issue tracking, you name it. My PRs go without reviews even if I beg over and over. When I give up and commit to the master branch, they single out my commits and I've had to revert many just to avoid more conflicts.
I've reached my breaking point. The issue is, these folks can't continue working like this... they are actually causing a huge risk to the company.
I proposed to fire/transfer some of them. Management was in favor but, after talking to them, decided to give them a chance to adapt to the new reality. I also proposed hiring more people to at least make some progress. Suggestion was deflected too.
Have I fallen into a trap?
For example. Make code reviews mandatory and lock down branches. No PR? Then the code doesn't get merged. Part of PR checking is test coverage and has to pass. Remove direct access to servers and environments and make deployments go though CI. Every PR must be tied to an issue.
Don't leave it up to them. Make it happen.