New material for the thisseries is coming more slowly. I am beginning to get into areas where I want tostart posting screen shots of internal Google tools and describe how ourinfrastructure works. This is material that takes longer to develop and alsorequires some scrutiny before being published externally. So in the meantime, Iam pausing to answer some of the questions you've posted in the comments.

I am going to start withLilia (because she likes Neil Young mainly, but also because she can runfurther than me and those two things combine to impress me to no small end) whoasks about SET-SWE conversion and vice-versa and which I have seen the most.There is also the broader question of whether there is a ceiling on the SETcareer path.

SETs and SWEs are on thesame pay scale and virtually the same job ladder. Both roles are essentially100% coding roles with the former writing test code and the latter doingfeature development. From a coding perspective the skill set is a dead match.From a testing perspective we expect a lot more from SETs. But the overlap oncoding makes SETs a great fit for SWE positions and vice versa. Personally Ithink it is a very healthy situation to have conversions. Since I have bothroles reporting to me I can speak from first hand experience that many of mybest coders are former SETs and some of my best testers are former SWEs. Eachis excellent training ground for the other. On my specific team I am even onthe conversions from one role to the other. But I suspect that Google-widethere are more SETs who become SWEs.

Why convert in the firstplace? Well at Google it isn't for the money. It also isn't for the prestige aswe have a lot more SWEs than SETs and it is a lot harder to standout. Thescarcity of our SETs creates somewhat of a mystique about these folk. Who arethese rare creatures who keep our code bases healthy and make our developmentprocess run so smoothly? Actually, most SWEs care more about making the SETshappy so they continue doing what they do. Why would any dev team force aconversion of a great developer from SET to SWE when finding a suitable SETreplacement is so much harder than adding another feature developer? SWEs ain'tthat stupid.

Now pausing before I takeanother hit of the corp kool-aid, let me be honest and say that there are farmore senior SWEs than SETs. Percentage wise we test folk are more outnumberedat the top of the org than at the middle and bottom. But keep in mind thatdevelopers have had a large head start on us. We have developers who have beenat Google since our founding and testers ... well ... less time than that.

Where do TEs fit into thismix? TE is an even newer role than SET but already we have a number climbing tothe Staff ranks and pushing on the senior most positions in the company. Thereis no ceiling, but the journey to the top takes some time.

Raghev among others hasasked about the career path and whether remaining an IC (individualcontributor) is an option over becoming a manager. I have mixed feelings aboutanswering this. As a manager myself, I see the role as one with much honor andyet I hear in your collective voices a hint of why do I have to become a manager?Ok, I admit, Dilbert is funny.

For me, being a manager is achance to impart some of my experience and old-guy judgement on lessexperienced but more technically gifted ICs. The combination of an experiencedmanager's vision and an ICs technical skill can be a fighting force ofincredible power. And yet, why should someone who does not want to manage beforced to do so in order to continue their career advancement?

Well, fortunately, Googledoes not make us choose. Our managers are expected to have IC tasks theyperform. They are expected to be engaged technically and lead as opposed tojust manage. And our ICs are expected to have influence beyond their personalwork area. When you get to the senior/staff positions here you are a leader,period. Some leaders lead more than they manage and some leaders manage morethan they lead.

But either way, the viewfrom the top means that a lot of people are looking to you for direction ...whether you manage them or not.

How Google TestsSoftware - A Break for Q&A的更多相关文章

  1. How Google TestsSoftware - Crawl, walk, run.

    One of the key ways Google achievesgood results with fewer testers than many companies is that we ra ...

  2. How Google TestsSoftware - Part Two

    In order for the "you buildit, you break it" motto to be real, there are roles beyond the ...

  3. How Google TestsSoftware - Part One

    This is the firstin a series of posts on this topic.The one question I get morethan any other is &qu ...

  4. How Google TestsSoftware - Part Three

    Lots of questions in thecomments to the last two posts. I am not ignoring them. Hopefully many of th ...

  5. How Google TestsSoftware - Part Five

    Instead of distinguishingbetween code, integration and system testing, Google uses the language ofsm ...

  6. How Google TestsSoftware - The Life of a SET

    SETs are Software Engineersin Test. They are software engineers who happen to write testing function ...

  7. Google是如何做测试的?

    Google是如何做测试的?(一.二) 导读:本文译自 James Whittaker 在 Google 测试官方博客发表的文章<How Google TestsSoftware >. 在 ...

  8. google 语音api

    mdeia.Source = new Uri("http://translate.google.cn/translate_tts?ie=UTF-8&q=你好&tl=zh-CN ...

  9. 如何使用GOOGLE高级搜索技巧

    如何使用GOOGLE高级搜索技巧 一,GOOGLE简介 Google(www.google.com)是一个搜索引擎,由两个斯坦福大学博士生Larry Page与Sergey Brin于1998年9月发 ...

随机推荐

  1. 数据契约(DataContract)

    原文地址:http://www.cnblogs.com/Gavinzhao/archive/2010/06/01/1748736.html 服务契约定义了远程访问对象和可供调用的方法,数据契约则是服务 ...

  2. java解析json

    1:下载另外一个Java的小包就可以了: http://www.JSON.org/java/json_simple.zip 里面有源码和文档例题和编程的lib包:编程只需要json_simple.ja ...

  3. 仿QQ列表左滑删除

    一直想写个仿QQ通讯列表左滑删除的效果,今天终于忙里偷闲,简单一个. 大概思路是这样的: 通过 ontouchstartontouchmoveontouchend 结合css3的平移. 不多说,直接上 ...

  4. vim中输入tab符

    今天在写Makefile时各种出错.后来发现是all:的下一行,make前面必须是tab符,不能是空格. 但是vim中只要按tab就会自动转换成4个空格.平时编程需要,也不便把这个设置取消. 查了下, ...

  5. IntelliLock

    IntelliLock的使用说明: http://blog.csdn.net/gnicky/article/details/20737107 http://download.csdn.net/deta ...

  6. centos 安装和配置 rabbitmq

    centos 安装 rabbitmq 1.rabbitmq是erlang语言开发的,安装前首先需要安装erlang# yum install erlang -y // 直接安装可能报错,# yum i ...

  7. js学习笔记之一

    一.Javascript 中的对象 1. 建立自定义对象 方法1:对象={属性1:属性值1,属性2:属性值2……属性n:属性值n} 方法2:先定义构造函数,再new创建对象实例. 如: functio ...

  8. Manhattan distance(for lab)

    Input four integer x1, y1, x2, y2, which is mean that the coordinates of two points A(x1, y1), B(x2, ...

  9. 蛙蛙推荐:快速自定义Boostrap样式

    现在越来越多的网站使用Bootstrap,相信大家也审美疲劳了,所以我们要用Bootstrap的第一步就是先把顶部的导航栏来自定义一下. 我现在使用的是bootstrap3.0,顶部导航定义如下 &l ...

  10. openSUSE 11 上的配置可以Xmanager远程桌面

    openSUSE 11 上的配置(适用于默认图形环境为KDE的Linux): 1.配置KDM. openSUSE 11的默认图形环境为KDE,虽然可以同时安装GDM和KDM,但默认只启动了KDM.所以 ...