SREs are coders who know IT system. So they treat IT as code as much as possible. They solve problems by abstracting them into code.
Closely related are DevOps who are usually IT who know some coding. Maybe they run development operations, so the infrastructure and tasks needed to keep the developer infrastructure running. They solve problems by scaling known components and applications.
Quality Assurance Engineers are testers who can code or perhaps know some systems deeply vs being an application specialist.
- Site Reliability: exactly what it sounds like. These teams are responsible for ensuring that the site is reliable! Is it up? Is it healthy? How do we make sure it stays that way? This often involves monitoring and telemetry, exception tracking, dashboards out the wazoo. It also generally includes server-related work, but focusing on health and uptime.
- Quality Assurance: these folks are focused on testing and ensuring that data and behaviors are acting the way we expect. This is not server-oriented, but app-oriented. They manage testing infrastructure and write tests to ensure that this the app and its features gets across the finish line to deploymnet. Depending on the company, this may be a lot of wrangling cats.
- DevOps Engineering: this is controversial and vague, because "DevOps" isn't really a role so much as a vague hand-wavy word. However, in most companies I've worked with, this role is focused on server stuff, including health and uptime (see: SRE) but primarily focused on deployments, delivery pipelines, scaling, upgrades, security, and so on.
The way I generally internalize these is this:
DevOps sets up the servers and ensures the app is deliverable to the server via CI/CD. After that, SRE takes over and ensures that those servers remain healthy and uptime. Once the app is on the servers, QA is partly responsible for ensuring that the app code is healthy.
This is super high level and I'm glossing over a ton of details, and some of what I mentioned is contentious. Larger organizations think about these things differently than smaller organizations, and tech-focused orgs think about these differently than non-tech-focused organizations. But I think as like a 30,000 foot view, this sounds right based on my experiences. I hope this helps!