不久前写了一篇文章<<微软的Principle SDET到底是什么样的牛人?>>. 有个网友问了一个问题,我觉得非常的好,这里想简单解答一下. 这个问题是
“够牛。不过。为什么非要做测试呢。Principle SDET相当于什么职位(与管理职位对比)当了Principle SDET还要受一个小teamleader领导,受得了吗?”
首先,Principle是一个级别,很难跟管理职位相对比,级别主要决定了工资水平。从管理的职位上分,有Principle Team Lead, Principle Manager, Principle Director等等。级别是不会降的,比如如果一个Principle SDET想做Team Lead,那就会是Principle Team Lead,如果想做Manager,那就是Principle Manager。因此对应的是级别,而不是职位。当然各个职位的侧重点不同,比如Principle SDET当然侧重于技术了,未必能一下子转成Principle Manager。但是,可以先转Principle Lead, 再转Manager,从而在管理的发展上能够循序渐进。从我个人的理解上,Principle SDET是不可能转成Senior Lead, 或Senior Manager的,因为这样就降级了。微软的发展一般在早期就会确立路线,技术或管理,因此一般某人会在一条路线上坚持下去的。在高级别的技术和管理来回转的情况应该很少,但不排除有全才在两方面都很出色,当然就可以转来转去了。
由于Principle SDET的级别已经很高了,他们不可能被小team leader领导,至少也得是Principle Team Lead领导。我查了一下这四个人,其中两个是被Principle Test Manager领导,一个是被Partner Test Manager领导,一个是被Test Director领导。因此不存在受不了的问题。
对于为什么要做测试的问题,牛人TV曾经做过一些解释,我个人很赞同他的观点,当然只有牛人才能从这么高的角度去看待测试。
¨Why move from development to test?
- Hardest problems for Microsoft right now are in test
- Test is wide open and needs leaders
- Breaking code is as much fun as building it
- You get to write more code in test (10:1)
- Continuous ship cycle
- Really know the product from the customer perspective
- Get to solve more complex issues earlier in career
我根本不算牛人,我也觉得测试技术含量还是比开发低(从我的层次上看),但是经过了3年多的测试经历,我相对更喜欢测试一些,其中主要的原因如下:
- 测试的工作非常的灵活:开发相对来说压力太大,PM,TEST都盯着他,程序不能按进度完成就必须要加班,程序的编写一定要按照各式各样的规范,更多的时间是fix bug而不是write code。而测试人员的工作就没有太多固定的模式,完全可以按照自己的想法去进行,比如自己安排自己的时间,进度,自己决定什么case手工,什么case自动化。自己可以选择自己喜欢的测试工具,编程语言等等。
- 测试的生命周期更长:开发一般专注于某种技术,或者某类技术。一旦市场上淘汰这种技术,他们就存在很大的转型的痛苦。并且,想跨行业跳槽也相对来说很困难。而测试一般不需要对某种技术做非常深刻的研究,因此有大量的时间去接触其他的技术,加上测试工作对技术的深度要求不算太高,转行相对要容易很多。因此,测试人员搞技术的生命周期更长,职业发展也更灵活。
- 测试行业还很不成熟,里边有大量潜在的机会。
- 测试人才相对来说比开发水平要低,因此更容易上位。
测试的缺点:
- 毕竟工作技术含量有限,在公司的重视程度不如开发
- 职位的晋升和工资的水平相对开发还是有差距
- 测试行业的普遍环境还不是很好,仅仅几个大公司才能给你充分发展的机会
我个人的想法是要测试,开发两手抓,两手都要硬。在大公司搞测试挺好,万一因为什么原因离开大公司,去小公司就要做开发了,因为我不相信小公司能给我提供发挥我测试技术的平台。