Hi Taro,
I'm cross posting this from the premium slack because it was raised that the answers might help the broader community.
I work for a small company - the engineering org is approximately 60-70 people all told. The company is about a decade old, but has grown more recently, and I joined the small SRE/Developer Tooling team within the last year. Historically, the company has operated at a relatively slow pace, and followed practices that are, politely, out of date. Just to give an example of the kind approach the company takes:
- We operate out of a single AWS Region, with no DR or failover capabilities
- infrastructure was provisioned ad-hoc and manually, with effectively no Infrastructure as code
- Developers would typically bypass deployment pipelines to manually update files or run commands, even for production systems
- QA is primarily manually performed for our SaaS application. There is some automation, but this is something that QA runs and checks the output, instead of automatically tracking the output in some way.
In my role, I've been pushing for change where possible, trying to evangelize the better ways of working, such as Infrastructure as Code, logs sent to a centralized location like Splunk, and deploying to other AWS regions to assist in both regional lag and general DR/failover concerns.
Thankfully, there's definitely some purchase there by leadership, at least on a high level, as they're generally receptive to these changes and recognize that they cannot continue with the same old practices. However, this mentality doesn't appear to be flowing through to the rest of the engineering organisation. My team and I are repeatedly asked to revert changes we've made, often because developers are merely used to the way things used to be, or because PMs/teams want to stick to a schedule or speed that was only possible via shortcuts (such as manually provisioned infrastructure). All of this has happened despite repeated public comments by some in leadership against those requests specifically.
What can I do to push for these kinds of changes, when I'm not in any kind of official management or leadership position? I have no official power beyond a general remit by my manager to uphold certain standards for my team.