未来之路

2009-3-28 Jerry 日记

感谢同事 Ada 最近写了一篇日志,对公司技术人员的成长路线做了一番描述。之所以感谢是因为里面的很多内容是我之前一直想问但不知道如何问起的。

这是文中提到的 MTS 1-4 阶段的要求,是我目前的努力方向,在另外一位公司经理的文章中,摘录于此,以示鞭策。

进入到 IT这个圈子,很多人是从工程师开始做起的,那么如何成长为一名成功的工程师呢?或者是如何成功地转换为下一个角色呢?你需要做哪些准备呢?作为 MDE(Market Development Engineering)的工程师和产品开发的工程师,还是有些不同的,我下面重点想说的是比较通用的,关于MDE的工程师,或者类似的做技术支持的工程师,我想后面再单独写一篇。

让我们先来看看成功的工程师是什么样子。在Sun公司里,工程师分为4个级别,从低到高依次是工程师(Engineer),高级工程师(Staff Engineer),杰出工程师(Distinguish Engineer),科学家(Fellow)。在工程师这个级别里又分为MTS1-4,也是依次从低到高的。Fellow,Sun 公司总共没有几个,James Gosling是其中的一个,Bill Joy也是,最近离开Sun了,去开startup了。Sun的中国工程研究院(ERI)原来有DE,就是宫力,现在已经他离开了,暂时还没有。 Staff Engineer,ERI有几个rotation过来的。不知道大家是否还记得James Liu,在MDE week上给大家烧烤的那个,他是Staff Engineer, 但我记不清楚他是否Senior Staff了。

那么这些不同的级别的定义是什么样子呢?要求是什么样子呢?我们分别来看看。一名MTS3的工程师应该可以独立地设计和实现一个解决复杂问题的解决方案,制订项目计划,并确定短期战略目标。对于MDE的工程师,应该可以独立地支持一个ISV,从技术评估,技术培训,移植的技术支持,性能调优,选型测试等。当然,并不是说MDE的工程师可以自己把所有这些全部完成,但是他/她在遇到阻碍的时候知道通过什么渠道来解决问题。MTS4的工程师,可以解决更复杂的问题,通过领导一个团队,独立地设计和实现一个复杂的项目,这样的一个项目通常都需要和其他的团队进行协调和沟通,并利用或组合其他团队的工作。一个 MTS4工程师要有能力给其他低级别的工程师提供技术建议和指导。从MTS4到Staff Engineer是一个大的台阶,作为Staff Engineer,应该是在组内和组外都公认的专家,拥有解决复杂问题所必须的技术知识和商务知识。Staff Engineer和Engineering Manager是在同一个级别上的。

从一个MTS1或MTS2工程师做起,怎么准备自己走到下一步呢?一个很重要的概念就是管理自己:管理自己的目标,管理自己的时间,管理自己与其他人的沟通

第一,要给自己设定一个目标,可以和自己的经理聊聊,自己的下一步在哪里,自己的优势在什么地方,通常他们会给出比较诚恳的建议的。我建议在制订这个长期的目标的时候也不要太长,比如说10年,那就太长了,说老实话,在20-30岁的这个阶段,3年后发生什么事情我们很难预测。所以我建议这个目标可以订的短些,比如2-3年。

第二,结合长期目标,给自己制定短期目标,比如说一年的,半年的,一个季度的,等等。制订目标的时候,有个SMART方法,想必大家都知道:s(specific,具体的,不能说空话,要用数据和时间说话)、m(measurable,可衡量的)、a(agreed,双方都同意的)、 r(realistic,可实现的,可以达到的)、t(timebonded,有时间性的,可以考核)。

第三,在设定的时间,回顾自己的目标,检查完成的情况,如果没有完成,要总结是什么原因,并适当调整目标。

第四,管理好自己的时间,检查自己的大部分时间都在做什么,是不是在做最重要的事情,是不是大部分时间做了些不重要的事情,可是最重要的时间却没有时间做。管理时间需要对自己的工作进行优先级的评估,优先处理最重要的工作。发现了问题之后就要调整自己的习惯或方式,节约时间。随着你的级别越来越高,你会发现你的时间越来越少。可是你的加班不能无限延长,你还需要时间陪伴你的家人,你也需要时间休息。

第五,积极地学习。活到老,学到老,这句话没有错。有的工程师发现了一个正在进行BETA测试的新产品,认为对自己以后的工作有帮助,就马上拿来装上使用一番。有的工程师经常阅读和自己工作相关的各种标准和规范,对提高自己起了很大的作用。学习的范围要逐渐的宽一些,不要总是局限在纯粹的技术上,可以适当地学习些软技巧或商务等方面的知识。

第六,能够做决定。一个级别高的工程师,有责任做相应的决定。你的老板不会为你做所有的决定,你需要和你的老板商量,哪些是你应该做决定的,自己要把这些责任承担起来。最重要的决定是决定要做什么,如果这个决定没有做,那么尽管工作得再漂亮,到最后可能发现原来根本就是浪费时间。为了做正确的决定,你需要搜集相关的信息,没有足够的相关信息,可能做出的决定也是错误的。

第七,积极地沟通。谁是你最重要的客户?或者最重要的stakeholder?你的工作对谁影响最大?不要被动地等他们来找你,而是主动地去找他们,询问他们最关心的是什么,利用你的知识和经验,向他们建议哪些对他们最重要,提前和他们沟通项目计划,等等。工作展开后,要有定期的状态更新,碰到计划为的状况的时候,要立即和相关人员进行沟通。另外,找机会多和一些比你级别高的人或更有经验的人聊聊,有时候他们给你的一个建议,或无意中说的一句话,都会给你很大的启发。和他们的聊天,也经常能够给你些激励。

第八,认真地写报告。很多人不重视写报告或技术文档,这不利于工程师的成长。写报告是沟通的重要的环节。写报告的时候,首先要确定你的报告是写给谁的,谁在关心这个报告,关心的内容是什么。可以把自己想象成看报告的人,最想通过这个报告了解什么。报告也不仅仅是给你的老板看的,对于MTS4或者更高级别的晋升,是需要跨部门的讨论的。在一个10-20人的团队里,大家可以容易互相了解,在一个100人的团队里呢?就无法做到这点了。怎么让其他的团队里的人了解你的优点和技术专长呢?如果他们看到过你的报告,是很容易判断的。

总而言之,首先要定义自己的目标,然后学习和实践,通过证明自己的能力,最后的成功是水到渠成的。


发表评论:

Powered by emlog sitemap