SRE Tip: SREs Require Their Own Chain of Command
In my recent talk, my friend Mike Jones (VP of Engineering at Classmates.com and former Facebook co-worker) was kind enough to join and give his perspectives. Mike had one really great point that I want to elaborate on — SREs require independence from the Software Engineering managerial hierarchy.
This may sound like unnecessary organizational structure or obfuscation to some. SREs and software engineers (SWEs) typically work together on one team, so why do they need their own managerial leadership? The reason is that when push comes to shove, SREs need leadership independence and support separate from those dictating how the software engineers do their work. There will be conflicts and disagreements about the right priorities. There will be times where SWE leadership will ask SREs to take on tasks outside of their mandate. There will be times when the SREs make recommendations that won’t be acted upon by the SWEs. And if they do not have their own leadership that understands their concerns from the SRE perspective, they will not feel supported and will not stay with your organization.
There is another aspect to this. Some companies consider SRE work with project teams to be an engagement, much like consulting. And just like consulting firms, there has to be the nuclear option of disengaging when a relationship deteriorates and the SWE team is not doing what the SREs require. In a previous blog post, I talked about how SLAs go both ways — you have them for your customers, and they have to meet your requirements in order to get the level of service from you that they desire. This also holds true in an SRE relationship with a project team. SREs will only engage if a team commits to working with them in a way compatible with the SRE team, and if they do not adopt those practices or abuse them somehow, the SRE team needs the ability to disengage. This should not be threatened or done lightly, but it does have to be an option, and within the organization it should look very bad for a SWE team that a disengagement had to take place.
If you do not have independence in SRE management, these bahaviors become difficult to enforce. When the SREs have grievances, they can only talk to the SWE leadership, who may not understand or identify with their issues. They will not create a cross-team SRE culture throughout the organization, because they won’t have leadership tasked to build that culture. Independent SRE leadership is crucial to adopting SRE for your organization, rolling up to senior technical executives.
Thanks to Mike for the topic!