贵人篇 (十一)Raja 和 Russell (上)

在微软工作了这么多年,超过我生命的四分之一的时间,按理说真应该大书特书的。可除了自己日常一起工作的同事们和直接领导们,留给我深刻印象的并不多。我就来说一说两位曾经的同事,后来的领导,和再后来的导师。

我面试的时候,他们两个都是我的面试官。当时SQL Server并不大,他们俩都是StorageEngine的一般组员。Raja 是一个印度人,他给我的感觉很严肃,他的桌子靠内墙放着,面试我的时候,他把凳子反转过来,让我坐在门口的一张椅子上,开口就问操作系统的问题。中间我还跟他开玩笑说,跟你面试我有点紧张,倒不是问题有多难,是你好严肃啊。多年后,我跟他1:1时他还提起来,他说记得面试我的时候,有人说不hire,但他觉得他很严肃,但我却一直都笑咪咪的,态度很好,一起工作起来肯定很舒服。而Russell是另一种类型,他是一个英国人,很绅士。他先跟我瞎聊了会儿研究生学习,然后问我如果我在一片田野里丢了一把钥匙,该怎么找?这是一个很简单的搜索问题,但加上不同的条件,用到的搜索策略会很不同,所以这种面试题都考的是思考问题的全面性。后来他还问道excel里怎么做统计,我们还当场在他的计算机上试验。总之跟他的面试一小时下来觉得很轻松。当年我也是从早上9点开始面试,一直到下午六点钟,一小时左右一个人,中午饭是当时的lead带着我去吃的,因为怕吃饱了犯困,所以就吃了半片披萨,而且吃饭时也是在面试,面试官可以跟你的瞎聊来判断一个人的性格和人格。一天下来又累又饿。这跟国内有熟人不一样,不是讲讲关系就能过的,当然如果关系够硬,也可以不通过面试就空降的,这也不是咱一介凡人所能有的。估计百分之九十九的中国人都是通过这种过五关斩六将闯过来的。

我当时申请的是软件测试,就是质检员。想的是已经三十岁了,该安定下来要个孩子,如果两个人都是程序员的话,家里就会没精力管而乱成一团糟,这与我找一份工作幸福生活的目标背道而驰,咱不能捡了芝麻丢了西瓜。可能周围朋友都这样想,我认识的朋友中,大部分夫妇是一个程序员和一个测试员,少有两个都是程序员的。

刚开始工作的时候,正赶上SQL server 2000的结尾阶段,大家都很忙,没人顾得上我,我头儿跟我说,与其教你,还不如我自己干,所以我自己天天就拿着SQLServer瞎玩,所以第一个review就一般般。在Shipparty之后不久,我就发现自己怀孕了。次年四月份生下安琪,六月份的review也泡汤了。紧接着因为孩子小需要很多照顾,所以后来一两年的review也跟着泡汤。微软的一条潜规则就是你想发展得快,就要坐上快车,然后一路迅速发展。象俺这种一开始就上了慢车的人很难追上,前几年说你重心不在工作,以后你和新进来的员工在一条起跑线上,人家都是刚毕业的小年轻,精力充沛,你是拖家带口的工作妈妈,精力不如人家,而且你已经工作了好几年,领导是以老员工的眼光和标准来看待你,所以升迁的机会会越来越少。所以我在2003年才拿到第一次升级,我好不容易快熬到下一次升级的时候,又一次怀孕,于2005年5月生下安妮。同样的过程又发生一次。所以当有朋友问我Yukon(SQL Server 2005)的最大成就是什么的时候,所以当有朋友问我Yukon(SQL Server 2005)的最大成就是什么的时候,我说自己生产了两件小棉袄 (deliver 2 products – 2 daughters) 。虽然2008年我为SQLserver 2008做的不错,但还是没得到升级,得到的反馈是做的很好,但表现好的时间太短了,需要再考察。这种ship产品的机会不是每年都有,象SQLserver,至少四年才出一新版本。虽然后来过了半年还是升了一级,但以后想升级却是难于上青天,一个同学为了升级去别的productteam做领导去了,另一位同事转程序员去了,因为当测试员实在是升级无望。大家想升级还是希望工资能往上涨。在SQLserver想升级,就要有一定的visibility,就是说你要让头头脑脑们都知道你,还要知道你干得不错。对于程序员来说,把自己的一亩三分地种好了,人也没什么大毛病,就可以得到升级的机会,但测试员就不同。

什么测试员能升级呢?我认为:

第一种,能说会道的。谁能没有想法?但内向的可能就埋头干了,外向的就会跟这个头聊聊,跟那个头儿谈谈,还没做呢就先有visibility了。我曾经有个西班牙同事很外向,很容易跟同事们打成一片,人也很热心,所以他升得很快,几乎一年一级。可他写的程序我真不敢恭维,设计非常混乱,我想改都无从下手。但是测试员的程序,质量好坏谁在乎?

第二种升得快的就是拉帮结派的。人无完人,而且精力有限,找几个志同道合互补型的,组成梯队队伍(有领导有小兵),合伙做一个工具出来,然后领导带头推广,如果能让很多人使用,大家就相互罩着纷纷升级了。所以闷头在自己办公室里,辛辛苦苦地耕自己一亩三分地的同事绝对是升级无望。这种团队平时也需要很多额外精力,除了上班时间的正常工作和交流外,周末一块儿玩一玩,晚上一块儿加加班,再去泡泡酒吧什么的,增加团队的凝聚力。像俺这种下了班就往学校冲的人很难挤进某个团体(对团体也没吸引力啊,人家不想要精力不够的),自己也没精力组建一个团体。

第三种就是牛气冲天型人才。没你世界就转不动或转不快了。这种人中程序员居多,有几个牛气冲天的只愿意干测试员?像有个大拿程序员,说话能冲死个人,经常嘴边挂着“so what?” “Whatever”, “it’s noneof your business”, 不知得罪多少人,review的时候都会因为同事反馈不好而与升级无缘,但最后还是一步一步升上去了。按他同事的话说就是一个bug让他修,20分钟修好了,让我们修,得两天,你不给他长级,他一赌气走了,也得不偿失不是?

第四种就是跟对一个大领导。小领导不行,气场不够,连他自己都得自保,更别说罩你。按理说我参加工作那么多年,现在的大领导在我刚进来时都是小兵或小头目,如果跟他们很熟的话,绝对能罩到我。可惜俺明白的晚,刚开始就觉得我把自己的工作干好了,升级是自然而然的事情,所以天天关上门闷头干活,不喜欢跟人瞎聊天,多耽误工夫啊。可你见几个闷头干活的测试员升得快?后来虽然跟紧了我要提的这两位,也只是混个舒服而已。等Russell一离开,我马上就挨踢了。

我是在一次review结果不好的时候去找的Raja ,他是我当时的manager。我当时给他列举了一系列的东西,问他我怎么不好了?他说我做的东西他都不知道,这立马让我意识到我犯的致命错误,visibility不够啊。然后我就要求跟他定期1:1.每次我都挑重点跟他说我干了哪件事,觉得自己做的好的地方是什么,不好的地方是什么,问他有什么建议。他就会跟我说起他的想法。觉得跟站在更高的地方看到的东西很不一样,所以从跟他的谈话中开阔了不少眼界,也明白了很多道理:

每到一个环境中,要先看清楚自己周围环境,什么人重要,多跟这些人打打交道绝对没坏处。
做事情要弄清楚领导的要求,一件事情有时你投入了90的力量,欠缺的10分可能会让领导很不爽,你的90分的力量就白费了。我有一次就是有一件小事,让老板觉得不爽了,结果巨差。
做一件事情是一个螺旋上升的事情,不是一件单独的事情。特别是软件,你出了一个东西让大家用,就要做好准备别人挑错,要预留出精力来应付这些。
找出你每天最头疼,最占时间,又最能用其他方法解决的,就集中精力把它解决了,以后你就解脱了。组织越大,这种一次性解决问题的影响就越大。
独解脱不如众解脱。如果你在工作中有不爽的地方,不妨先看看别人是不是也有,这就是一个开发新工具的机会。如果能得到领导的支持,你就已经成功了一半。俺算明白了为什么西班牙小伙能坐火箭了。

跟着Raja 学了不少。也是他建议我去参加一个toastmaster club。我有一次跟他1:1的时候,跟他说我觉得自己需要提高一下叙述问题的能力,感觉有的时候一件事情说不清楚。他当时就问我:“听说过toastmaster没有?”我反问:“是一家做厨房用具的公司吗?”心里想的是:跟你说正事呢,咋扯到厨房了呢?不止我一个人闹这种笑话,好多人都以为是一个教做饭的club就参加了。

他当时还跟我说,你很爱笑,很好,但是有的时候笑得太多,一句话还没说完就笑了,给人的感觉缺乏自信心,借笑声来掩盖。我自己都没注意到。后来参加toastmaster之后就发现自己讲话时的问题真是多多啊,先不说口音和发音准确的问题,就一句话里边的嗯啊就令人难以忍受。自己改了这个大毛病之后,看到别人说话一大堆的哼哈嗯啊,就有一种冲动想上去跟他说去toastmaster练练吧。还有就是一句话还没说完,觉得说的不好,再换一种说法,半句话让人听起来很难受的。更别说眼神,表情和肢体动作了。

后来他换了组,我问他愿不愿意当我的mentor(导师),他就同意了,所以我们一直维持一两个月见一次,谈一个小时左右。直到他因为父亲的去世决定举家回到印度。不过去年底的时候他又回到了SQLserver,而我已经决定离开微软.

下一节讲Russell.