是否把自己从一个纯粹的技术或专业人员转变为一个管理人员,或者说经理,几乎是每个从业人在其职业生涯的经历中都会早晚都会遇到的一个问题。不可否认,有人愿意毕生从事技术工作,做他 / 她最喜欢也最擅长事。但现实有时却让我们不得不考虑这样的转变。
自从接手“百年老店”这个工程部经理的位置后,有些朋友感到很吃惊,在大学作教授的好友马修 · 派克(见 可以用来作为开始读物的英文小说 – Steig Larsson 的“千年三部曲”)曾写 Email 来问及此事。说到变化,我可能是那种最不该变的那一类。
我对英语和数学一直很有信心。当年高考时,英语总分只有 30 分,那时同学们的主要精力都放在数理化上, 30 分的总分当然没人花 100% 的时间,我竟然考了 20 多分。进了大学才知道,有人只考了几分。那时的大学把外语课分为三类:大学英语、 ABC 英语、还有日语。不过,那时的高考升学率也低,只有 4~5% 左右。
我的数学一直很好,自认有点天赋。上高中时,学校作为东道主安排过一次地区数学竞赛,那时可能受了徐迟的“哥德巴赫猜想”报告文学的影响,全国数学热,也搞过几次全国数学竞赛。很多学校,包括我在的那个中学,都有自己的数学兴趣小组,为数学竞赛准备。我忙于高考,没有参加任何兴趣小组。学校安排毕业班参加数学竞赛,一是可以作为一次模拟考试,二是可以为数学竞赛制造点声势。竞赛结果,我得了第六名,奖到一本“史丰收快速计算法”。
本科、硕士、博士一路下来一直是做算法设计这一个专业,只是越做越细、越做越偏。中国以前的硕士论文,要求有一些“独创性”的见解。所以到了“高科技先锋”后,除了英语口语有障碍外,工作一下子就上手了。我的同事当知道我在工作之余还做博士论文时,都很诧异。大老板罗斯有次开玩笑说,“做博士以后可以当教授么,哎,你现在就可以当教授,我可以把你的高级工程师头衔换成高级教授头衔,怎么样?”我一笑了之。我们飘洋过海,背井离乡,不是负笈求学来的么?那时,博士是理想,工作是无奈,混口饭吃而已。(见 我的第一次面试经历)我根本不想因为找到了工作而打断已经开始的学业。 至于当教授么,对我来说也没什么稀奇,我在二十多岁时就在大学当副教授了。
我想有类似我这样经历的人,如果没有外在的因素,很难想象会放弃做专职技术工作的。我在“高科技先锋”工作了十几年,只有在最后的两、三年里才严肃地考虑过是否要把自己从一个纯粹的工程师转变为一个工程经理或技术顾问的问题。最后离开“高科技先锋”而去了“百年老店”,想寻找一下这种转变的机会,也是一个动机。
与那些有着十几万人的大公司一样,“高科技先锋”也分“技术阶梯”与“管理阶梯”。工程师在技术阶梯上爬,顶头好象是什么“ Distinguished Fellow/Scientist ”之类。每个头衔下还有级别等。这样把技术阶梯与管理阶梯分开的好处是,工程师们不用嫉妒经理的位置,因为很多资深工程师的工资比他 / 她的经理要高。从另一方面,公司也给工程师们提供了一个“事业增长路径( career growth path )”,即,大家只要好好干,前途是光明的。
如果能永远在这样的构架下工作,直至退休,这简直是太好了,为什么不一直做自己喜欢的事呢?但常常是事与愿违。这样的构架,在公司效益好的时候,运作起来一点问题也没有,并且有时让人欢欣鼓舞。比如,我有一次提升,是通过公司的一个技术技术委员会而不是我的部门实施的。他们是以专利申请的数量来评估的,因为这对全公司的 patent portfolio 有贡献。那时好像升迁的渠道也比较多。但当公司效益下滑时,技术阶梯也就名存实亡了。
有人会想,“我不爬梯,老老实实干我的技术。升迁慢就慢一点,不在乎。”我也有过这种想法,但有时也不那么简单。对我来说,有两个难以接受的现实。一是事业的停滞感。尽管已过不惑之年,但还有 20 多年的职业生涯,难道就此一直在慢车道开上到退休?二是竞争的压力。有人认为 40 岁后不合适编程了。这对有些人来说可能就是一个有点儿残酷的现实,尤其从生产率的角度来看。试想,一个 40 多岁的程序员比一个 20 多岁的程序员有多近 20 年的经验。工资也高出一大截。但如果这两个人都按照 SRS (软件要求说明)编程,这个 40 多岁的程序员会很难展示他 / 她的收入的合理性,尽管他 / 她的编程可能会更好、更快。资深程序员在生产率上与年轻程序员竞争在很多情况下处于劣势。资深程序员的绝对优势是经验,他 / 她能实现别人看来不可能的东西。但要发挥经验优势,就得要有相应的位子,不然,没人听。
当然,事情不是绝对的。有的人年龄越大,编程越精。一位老前辈,越战飞行员,后来去 MIT 读的硕士,“高科技先锋”的 Worldwide 工程经理,编程就很快。往往是小年轻们弄不了的东西,他回家晚上或周末给搞定。他手下的人,在行政上和技术上,都敬畏他。我们合作过一个高性能产品,他花了很多时间与我一起探讨哪些扑朔迷离的算法。我照顾数学、算法,他搞定代码、产品。年近 60 ,在那么高的位子上,仍然那么一丝不苟、孜孜以求。那真是激情燃烧的岁月!多年后与他在欧洲相逢,当我们回想起那段经历,他开玩笑地对我说,“我的头现在还在痛。( My brain still hurts. )”
除了年龄,竞争压力还来自印度、中国、和东欧。他们拿走了越来越多的应用软件项目。这种外来的竞争也加剧了内部的压力。产品的标准化使得很多欧美公司失去了很多原有的“窍门( know-how )”杠杆优势。
要实现自己的想法可以说是一个最重要想要求变的原因。我相信很多人都有过这样的经历,自己的优秀意见没有被采纳,而一个自以为是的混混来掌管一个项目。结果,这个项目要么下马,要么重新采用你原先的想法让项目进行下去。“别人砸锅、你擦屁股”还能被看作是个好结果,弄不好,整个项目被取消,自己跟着倒霉。我在“高科技先锋”和“百年老店”都遇到过这样的事。自己的意见或想法没被采纳的原因,有些是技术的,但在很大程度上是政治的。如果不作为管理者,就很难影响一些荒唐的决策,因为在决策时你没有发言权。而要去推翻一个已定决策,作为一个工程师,那是极其困难的。
还有一点让我想改变一下的原因是意识到自己已经变了许多。刚加入“高科技先锋时”,由于英语能力的限制,自己主要埋头在技术工作上,处在一种“能干不能说”的状态下。时间长了,一种善意的“成见”也就在公司的上上下下形成了,即,我是一个专业很强的人,是一个很好的工程师。但多年在不同部门的工作,口语早已不是障碍。很多时候都是我一个人在那组织、协调、管理。其实,很多人都是有与生俱来的管理能力的,简单地说不就是与人打交道搞定一件事么。如果不在管理者的位置上,很多事就变得比较难,人微言轻。有时就是这样,随着环境的变化以及时间的推移,自己已经改变了很多。但在一个地方待久了,成见很难消除。有时换换环境,可能会找到对自己更有利的机会。
归纳起来,以下几点我们不得不考虑在一个适当的时候,改变一下自己:
1. 当自己的想法无法实施时
2. 当技术工作走到尽头时
3. 当需要运用经验优势时
4. 当自己有信心掌管一个团队并把它做大时
但怎样改变,却是因人而异。工程经理或其他管理位置并不见得适合于每个人,但每个人在不同的人生阶段肯定能找到最适合自己的位子。有人就不想干与人打交道的工作,这样的人我就遇到过,这也很正常。我也见过拼命削尖了脑袋想做经理的工作但又做不好,一直受夹板气的人。
其实,改变只是一个选项,目的是为了工作更顺利、生活更幸福。毕竟,工作不是生活。