Google的SRE不是坑,相反在google内部是一个很受重视的组织。SRE-SWE面试的内容和
hiring bar跟SWE是一样的,所以SRE-SWE转SWE不需要重新面试。我一年前拿到的SRE-
SWE的offer, 当时也比较犹豫,因为不太了解SRE是做什么,因为我也是swe出身没做过
operational工作。也因为被告知不满意可以自由转组就进来了,但是现在我根本不想
转组,因为很喜欢现在做的东西和SRE组的氛围。
以前看到版上有些帖子对sre有些误导性的评价,当时懒于反驳因为跟自己关系不大。
但是看到有人因为那些言论要反悔拿到的offer,觉得有些可惜,所以还是出来提供一些
信息,至少告诉你什么人适合Google的SRE或者我为什么喜欢SRE:
- 如果你的背景是Distributed System并对这个领域的技术感兴趣。 作为Google的
SRE有机会在一个最佳位置接触到这个领域最复杂最大scale的问题,也有机会学到一全
套有关技术
- Coding: SRE不等于sysadmin, 有很多时间都要写code。不像像纯SWE一样deliver的
是用户直接需要的feature,SRE的code是deliver service reliability,特别是在系
统scale增大问题变复杂的情况下怎样保持reliable的service不间断。SRE需要写大量
的code达到这个要求,这里的code包括工具性软件,独立的平台性软件,和到product
code自身(SWE的code base)。这个比单纯开发feature其实要求的技能更全面,我一年
来用不同语言(C++, Go, Python, Borg)写了很多code。
- on call: 一般每季度轮2周,oncall周的每天都是oncall12小时和欧洲的姐妹组轮
班. 非工作时间oncall有bonus。oncall的是sre不可逃避的职责,也是大部分人不愿意
到sre的原因。但我觉得偶尔做做还挺刺激,并且在oncall week往往集中的能学到不少
新知识和技能。另外Google SRE oncall bonus是一笔可观的额外收入,算是一个弥补
。而且每年还有去欧洲姐妹组访问的机会。
- 自由度:我感觉SRE的工作自由度比较高。想做的项目可以来自于自己的research。
因为大目标是提高服务的reliability, 你需要自己去找问题和解决方法。而SWE主要是
用户需求导向(当然你也可以引导用户导向)。我个人认为如果是infrastructure方面
的组, 在SRE组比SWE组的工作更有自由度和探索性。
- 从上几点可以看出SRE的工作时间大致分成三部分,具体分配,从我个人角度,大概
50%写code, 30% operation (包括on call), 20%自由学习和research。
我理解说SRE是坑的说法主要是要oncall和code不是user visible的feature等。. 这些
是跟纯SWE有些区别,但是不能说谁的工作不重要,主要看自己的兴趣所在。另外sre组
中国人很少(我们大组20多人除我一个国人全是白人),也是在中文论坛信息不全的原
因。上面是从从我个人角度提供的一个数据点,仅供参考。如果你有具体问题,可以私
信我联系。