有段时间没有更新blog了,因为前段时间非常的忙,除了正常的项目上的工作,还在紧张忙碌的准备公司内部的一个叫solution contest的活动,好几个周末,team的几个人都在准备slides,数据和presentation。
这 个活动每年一次,已经举办了好几年。主要的目的是鼓励大家提出创新的idea,并且做出一个solution,当然是和公司的产品或者业务相关的领域。这 是一个竞赛,大家可以自由组队参加,包括三轮,初赛,复赛,然后是决赛。决赛有六个队伍,作为公司全球技术峰会上的一个环节来进行,在舞台上现场讲解和演 示自己的idea和solution。我们team有幸进入了决赛,5月底的时候去参赛了,不过最终未能进入前三名。有一些遗憾,但是回头我们在回顾和反 思的时候发现在这个过程中有很多的收获,也是很好的体验。因为这个峰会的参与者都是公司技术领域顶尖的人,来自全球十来个国家,和他们的沟通和交流也让自 己受益匪浅。
学习和想到的方面很多,这里想从其中的一个角度来说一说,和大家分享下体会。
传 统上我们理解的技术路线,就是让自己在某一个技术领域做得很专深,或者是有足够的广度,有很好的理解和把握。但是经历这次的活动之后,让我也看到对于技术 路线走到很深远的工程师来说其实需要的能力不只是技术方面的。下面列出一些我个人的看法,或者是观察。这里不包括基本的沟通和与人交往的能力,因为这个觉 得是做所有工作都必须要具备的。
写作的能力
可能有时候效率不是很高,但是文字(或者广义一点的文档)仍然是分享和传播技术的主要手段之一,所以对于技术人员而言,写作的能力十分的重要。
这里的写作可能包括了很多的方面,比如:
- 项目或产品文档
- 技术文章,博客,甚至书籍
- 解说和演讲用的投影片
写作其实不只是简单的组织文字来表达,背后有很多的工作,比如为什么要写这个材料,有哪些内容要包含,要如何组织这些材料,是否有地方还需要去验证或者补充,如果让别人更容易理解和接受,等等。
把东西做出来,和写出来其实中间还有很大的距离。
在 写一个东西的时候我们常常有一个体会就是很多东西觉得自己懂了,有很多的经验,但是真正到写出来的时候才发现其实很多东西还是很含糊,而白纸黑字的东西和 自己感觉明白是不一样的。如果一个比较认真的人可能会借着这个机会去把很多东西弄明白,也把之前零碎的东西整理得有条理。这个其实也是很需要能力的,也会 是一个很有收获的过程。
另一个方面,写出来其实也是为了分享给别人,无论是内部的文档还是公开的材料,对于读到的人而言,他们可以从中有些收获,甚至受益。
对组织内部而言,好的文档可以让知识积淀,也提高了沟通的效率。
对外部而言,好的材料会广泛的传播,增加别人对相关领域知识的认识和理解,促进某一技术的发展。另一方面,对于技术人员本身,因为写作也扩大了自己的影响力,想想大家所知道的业界技术牛人们,恐怕有很多是因为看了他们的文章,读了他们的书。
演讲的能力
对于技术人员来说,常见的演讲可能有几种类型。
- 做内部技术的分享和给别人培训
- 在论坛或者业界的会议上的发言
- proposal,比如一个新的idea,方案或者技术路线
- 产品或者项目的展示
关于这一点,其实是这次感受很深的一个方面。一个是因为觉得自己的演讲还不够好,solution本身不错,但是展示得不够好,有很多方面值得改进。特别是这种英文的演讲,只是让别人能听明白,离精彩差距很大。
二是据我的观察,相比其它国家的技术人员,国内的普遍上台讲的能力要差一些。我分析了一下,可能有下面几个方面的原因。
1. 英文的能力
这其实是一个老生常谈的问题,但是可能对很多人来讲会有一些障碍,觉得有些东西不好表达,或者应变会受到影响。但是我想这个没有什么别的办法,不要 去回避,必须要去突破,而且只要大胆去说实际问题可能没有那么大。最近大家关注法网李娜夺冠的时候同时也发现李娜的英文很不错,和记者交流没有问题,而且 反应很快。也有人指出她有一些口音,不过我觉得那不是问题,重要的是英文这个交流的工具很好的发挥了作用。对于我们而言也是一样,我想你在讲解技术和产品 的问题的时候别人也不会苛求你的口音什么的,所以不用怕,而且印度人等口音也很重,人家一样去Google IO等大会上去讲。
2. 锻炼的机会较少
我不太相信有人天生就是演讲高手,无非是有更多的机会,并且自己也比较注重。我发现在我们这么多年的学校教育里面,上台讲的机会还是很少的,很多优 秀的学生都是在考卷上发挥。而我们自己也没有意识到上台讲是很重要的能力。而相比而言,很多国家在这方面要比我们注重。
原因有时候可能也是借口,当你和别人一样站在台上的时候,听众对你们的要求事平等的,而且中国越来越国际化,而且我们这个行业本身就很国际化。
能在台上把一件事情很好的讲出来是一种很重要的能力,对于你的产品或项目,对于你的团队,对于你自己都是很重要的。因为很多时候,在听众的心里,讲不明白和你没有搞明白是一回事,这个怎么说呢,不公平也公平。
关于这个方面的能力,我觉得没有什么捷径,当你体会到它的重要性后就找机会多多练习吧,反思自己的不足然后不断改进。
基本的项目管理的能力
是的,没错,项目管理的能力。这个看起来和技术人员的发展没有什么关系,但是这次的经历让我改变了这个看法。因为我发现做很多事情的时候会需要这方面的能力,比如:
- 组织一群人一起完成一件事情
- 运作技术团体和组织
- 应对风险和困境
对于一个刚开始工作的engineer而言,你可能不太会面临这方面的问题,但是随着工作时间久了,你在组织里面变得资深了,主动或者被动的,你会慢慢开始需要做一些项目以外的技术相关的工作,包括上面说的一些方面。这个时候,你可能会发现需要做一些技术以外的工作。
对于一个商业产品的开发,可能会有一个专职的项目经理来协调和保证项目能顺利的进行和按时完成。而对于一些其它的“项目”,可能不会有专职的项目经理来帮助,有些时候也很难,因为只有你最了解情况和方向。
和 身边的一些项目经理们接触,发现对于一个专职的项目经理而言,项目管理其实是一个很复杂要求很高的工作。对于技术人员而言,自然没有那么多精力和时间去研 究,实际上也没有那么高的要求,但是一些基本的技能还是需要的,因为这样才能把一件事情做好,哪怕只是做完。这次准备final的过程中就觉得这方面还做 得不够,作为队长,觉得对于schedule的把握,大家工作的协调和安排等方面都有待改进。
如果一个人做事情可能就是个人管理,包括时间管理的问题,但是实际中,很多时候我们需要和别人一起合作来把一件事情做好,这个时候就需要这方面的能力。
------------------------
文 章写到这里,我想可能有些勤于思考的人会说,这些能力都是必备的吗?比如业界也有一些人不善言辞但是技术也做到顶尖也很成功。是的,我也看到过这样的例 子。不过我想说的是,那样的人很少,当一个人把某一项做到极致,确实可能让其它方面的弱项变得不被大家关注。但是我们大部分的人能做到的其实是优秀或者卓 越,而不是顶尖,因为top 10只有10。在这样的一个范围里面,上面提到的这些能力就显得非常的重要,可能是让你outstanding的地方。
当然,强调这些不意味着我们会忽视最基本的东西,那就是对于engineer而言我们做出来的东西要work,最好work得很好。
最 后想提一点,借着这些能力的提高,也会有很多额外的好处,比如可以认识更多的同行和朋友,而最近和同行们的交流中,又发现如果上面一些方面做得很好,其实 对于技术人员而言,也是扩宽了自己发展的道路,因为最近就有软件测试的同行出来创业专职做培训和咨询,如果没有上面提到的这些能力,估计比较难。
值得去学习和努力的东西很多,我想和学习游泳一样,最好的办法就是跳下水去练习。