19

技术成长的成功之路

作者: baiyuzhong 分类:CTO视点, IT名人堂   阅读:31,615 次 添加评论

整理/高松

张湘辉,1994年加盟微软,现任微软大中华区CTO。本次采访中,张湘晖介绍了他在技术方面的成长经历,管理经验,以及心得感悟。

走近张湘辉

程序员(以下简称“程”):您最早怎么接触到计算机的?

张湘辉(以下简称“张”):接触计算机挺偶然的,完全因为生活所迫,觉得计算机行业的工作环境比较舒服,都是待在大机房,穿白大褂,有空调,所以向往这种好的工作环境,而并不知道电脑是什么,要选什么专业。现在看来还是选对了。

微软大中华区CTO张湘晖
微软大中华区CTO张湘晖

程:早年的经历,对您影响最大的事和人是什么?

张:影响最大的事情与电脑无关。可能和老师有关,我从小没好好读书,当时突然来了一位英语老师,他的英语讲得特别好。后来才了解到,他从外交部下放到湖南,就留下来做了英语老师。这件事对我的触动很大,第一次觉得别的语言可以那么美。

程:当时怎么选择技术方向的呢?

张:大学对学习软件兴趣比较大,后来到美国,就毫不犹豫地选了软件开发。这个过程中,接触到一位老师的研究还挺有意思的:他考虑如何把软件开发的整个生命周期,尽量做得有一致性,即你要做什么,结果出来就是什么,这里面应用了大量人工智能的技术,所以就师从于这位老师,读了软件工程的博士。

程:这期间您有什么收获呢?

张:读博士时对软件产业和软件开发过程中的问题有了较多了解。读完博士之后,尽管有些大学给了我教职,但也没有去大学教书,因为还是想做些实业,于是进了一家在西雅图的软件公司Aldus,它之后被Adobe收购,我就到Adobe做软件开发与设计。当时有一款制图软件(类似于Photoshop),叫PhotoStyler,这是由一家名为Ulead台湾公司研发的(最后被Corel收购)。当年他们的创新能力是很强的,所以我跟他们配合一起来做PhotoStyler,这真是受益匪浅。

首先让我了解到软件开发的整个过程,原来读书时学的都是纸上谈兵,那时开始遇到了实际问题,并去解决。这段时间里,更多的是看到中国人在做软件方面的才智。Ulead实力非常强,当时在中国大陆做软件的还没有那么多,但从他们那里可以看出我们中国人做软件是很有潜力的。

跟他们共事一段时间后,我想一定要回国做软件。所以后来听说微软在招人建立研发中心,我就很踊跃地申请了,这对我来说简直是梦想成真。到微软工作,同时又在中国,这是一件非常完美的事情。

回国做软件

程:来中国做软件,您对微软这个决定如何理解呢?

张:我在1994年8月底被派回来创建研发中心,这充分体现出了微软对中国市场的觉醒。微软当时在做Windows 3.2,这是一款划时代的产品,也是我回国后的第一款产品。我带领了一支非常年轻的队伍,在美国版发行六个月以后,发布了中文版。中国用户第一次如此之快,就享受到中文版的微软产品,此后中文版与英文版的发行时间差越来越小,现在几乎是和英文版同步发行了。

上面提到的时间差跟软件开发实践是有关系的。如果一心做美国版,不涉及其他语种,等做中文版时,就会发现有很多东西是原来设计所没有考虑的,比如对一些字体的支持,对一些输入法的支持等种种问题。特别是对汉字的支持,早期的GB-2313字符集共包含6763个汉字,这导致最早的软件里面会有一些中文显示不出来。所以,要从上游来解决所谓时间差太长的问题,从最早期开始考虑对中文版的支持。这就要求中国团队能够和美国版的团队有机配合,现在这个配合是越做越好了。

因为前面的事情做得比较好,那么一些重大的问题,其实在做第一个版时就已经解决了,当然这与技术标准的进步也有很大的关系,比如Unicode的出现,早期支持两万多汉字,到今天支持十万多个汉字,今天谁要编撰《康熙字典》,用我们这套系统,也不需要再加字。从这点看,对弘扬中国文化是很有益处的。

程:刚来到微软中国还是遇到很多困难吧?

张:当时确实很困难,但也挺有意思。最早的研发中心设在科学院第二招待所,那里原来是个歌舞厅,上头还有灯在转。别的不说,就是供电也是很大的问题,当时电的质量很差,所以必须要有稳压器,它能发出很可怕的呜呜的声音,而稳压器本身也过热,又专门买电扇吹稳压器,这哪里像开发世界一流软件的地方,当时心里还非常犯嘀咕。虽然条件差,但我们做软件采取的方法却是最先进的。此外,我们专门租了一条直连美国的网线,那么快的网速在当时中国绝无仅有,以此保证开发的及时和高质量。

程:作为见证者,你也看到了微软在中国的发展,请回顾一下期间微软的技术变迁是怎样的?

张:从研发的角度说,刚开始我们在中国做测试和汉化。之后开始做很多中文项目,并组建起庞大的科研队伍,研究怎样能够将中文处理更好、查找更方便、输入更方便等方面,并开始有些中文版独特的功能。1999年3月,微软宣布维纳斯计划,我们将比尔·盖茨请到深圳参加发布会,这具有象征意义的举动,还只是第一步,能够看出为中国市场做产品,这样的努力一直都在持续着。

我印象最深的,是在1998~1999年之前,微软对Internet 还不是很重视,用有些人的话讲就是“不赚钱”。但是微软这样一家几万人的公司,当时做出了一个决策:Everything is Internet,这是殊为不易的,这件事情给我很大的启示。从此,在Internet领域,微软从不是玩家到第一玩家,从操作系统、浏览器到以后不断涌现的新产品,我的体会是微软在拥抱新技术时,虽然及时性没那么好,但是一步一个脚印,踏踏实实去做,最终还是很有信心能赢过来的。

随着移动计算、智能手机,以及平板电脑的流行,特别是云计算这样颠覆性模式的出现,IT完成了从量变到质变的过程,这是大家有目共睹的,微软在这中间则一直是很重要的玩家。

程:您是如何这个管理庞大的研发机构,并形成有效的技术沉淀的?

张:这是有关软件开发周期的管理问题。做软件与做工程设计有很大的差别,因为其中人为因素很多。有人不再把软件定义为一种科学或工程,而是一门艺术,经常一两个人可以做出很漂亮的软件,而这样设计飞机几乎是不可能的。设计飞机有一套工程方式,可以多加人手,加快效率,做软件则相当不同。当然不是说加人没有用,做大的软件项目,直觉往往是多加点人,但这跟谱好曲子一样,十个作曲家也没法取代一位贝多芬,不过你可以通过很好的管理,让他们共同完成一支很好的曲子,甚至媲美贝多芬。这就是软件管理的精髓,微软在这方面有很多的创新。

以Windows 7为例,包含七八千万条甚至上亿条代码,五六千人同时开发,还有很多合作伙伴确保周边产品兼容。对这样一个超大的项目而言,不能一眼盯到结果,不能像跑百米一样,始终盯着终点。我们的经验是盯终点肯定乱,因为要经历非常漫长的过程。

从心理上说,当发现离终点还很遥远时,人就会泄气,不能以那么快的速度玩命跑下去。最好的方式,是将事情分成很多步骤来做。Windows7从开始到完成可能要耗时两年,以两年时间为一个周期,那么前六个月团队就会被弄垮,所以你必须以也许每两个月为一个终点。就像跑一千五百米,我们要考虑第一圈跑多快,第二圈跑多快。

这就需要把每个终点区分得很好,设定有效的里程碑,在逻辑上要很精准,是不是到了这个里程碑,同样要非常清楚。这样每个里程碑达到时,大家可以庆祝一下,重又奔向下个目标。如同爬珠穆朗玛峰,没有说不断爬上去,而是先到大本营,再到第几个营地,最后才能登顶。

设定里程碑是横向的时间划分,纵向来讲是人的管理。比如,怎样找到问题,找到问题又交给谁去解决,怎样互相有效交流,怎样互相检查代码,这方面的很多做法,我觉得微软到今天仍是独一无二的。

同时,今天的软件开发实践跟原来有些不同,早期网络没这么发达,必须把一件事完成才能发布。在Internet永远是Beta,也就是把产品阶段分得更细,这是一个精细而完善的发布过程。用户也更喜欢高密度的发布。但是要注意重大功能出现的时候,还是要从总体设计,而不是在结构没有很大变化的情况下,突然塞进一个很大的新功能,这需要考虑到软件模块设计等因素。

关注与推荐

程:您目前关注哪些技术?

张:云计算及其生态系统,是非常值得关注的。IaaS能够把现有的计算中心、数据中心的效率提高,将管理水平提升上去。要提供更多适合于云的应用服务,建立这样的生态系统需要时间过渡。

我们认为在云时代的整个生态系统里,通吃是不可能的,没有一家公司能够做到,要提供最好的用户体验,就要求大家用通用的标准去开平台环境,在其上开发应用,厂商之间还要有很好的默契。通过和客户打交道,很多人都要求支持混源(MixSource)的环境(有的用Windows,有的用Unix/Linux),在不同环境下开出来的应用,还能够很好地有机结合在一起,这样的实际需求是很大的。对此我们做了大量的工作,数据级、程序级的互操作都做得很好。所以在Azure平台上,无论是使用 Java、PHP、Ruby,还是.NET Famework等写的东西,都能得到应用。

另外,提高用户体验也是热点,比如支持多点触屏的智能手机,能提供更加贴近用户习惯的体验。再比如,人机交互过程已经从鼠标过渡到语音、肢体,甚至表情,微软的Kinect就是非常好的例证,仅靠动作就可以完成人机交互。这方面的进步是突飞猛进的,也将给技术人员更大的空间,做出更有趣的东西。

本文选自《程序员》杂志2011年07期,更多精彩内容敬请关注07期杂志

转播到腾讯微博

----->立刻申请加入《程序员》杂志读者俱乐部,与杂志编辑直接交流,参与选题,优先投稿

27 Responses to “技术成长的成功之路”

  1. [...] (3) 微软大中华区CTO 张湘辉:技术成长的成功之路 [...]

  2. buy north face 说道:

    buy north face千里马常有,而伯乐不常有

  3. 包万象 说道:

    从心理上说,当发现离终点还很遥远时,人就会泄气,不能以那么快的速度玩命跑下去。最好的方式,是将事情分成很多步骤来做。Windows7从开始到完成可能要耗时两年,以两年时间为一个周期,那么前六个月团队就会被弄垮,所以你必须以也许每两个月为一个终点。就像跑一千五百米,我们要考虑第一圈跑多快,第二圈跑多快。

    这就需要把每个终点区分得很好,设定有效的里程碑,在逻辑上要很精准,是不是到了这个里程碑,同样要非常清楚。这样每个里程碑达到时,大家可以庆祝一下,重又奔向下个目标。如同爬珠穆朗玛峰,没有说不断爬上去,而是先到大本营,再到第几个营地,最后才能登顶。

    设定里程碑是横向的时间划分,纵向来讲是人的管理。比如,怎样找到问题,找到问题又交给谁去解决,怎样互相有效交流,怎样互相检查代码,这方面的很多做法,我觉得微软到今天仍是独一无二的。

    —很赞同!

  4. 隐士 说道:

    估计不是靠技术上位的… ^_^

  5. hwq8072 说道:

    文不对题。或许是技术、成功很难继承,作者取个这样的题目来吸引人。说明一个问题:靠技术成功真的是蛮难的

  6. ddd 说道:

    这样活着,真是浪费时间与生命。不过一个生产队的监工而已,从来这里无法产生所谓独一无二的管理方法,吹牛不用打草稿的。

  7. add 说道:

    软件工程化是必然,什么监工?照你的意思非要自己弄出个新东西才算王道?再说微软里面的人都是高学历的人家懂的道理比你多得多别吃不到葡萄说葡萄酸了,我敢保证如果微软给你个offer你一定屁颠这就去了!

  8. ADDRESS 说道:

    看完以后,一个感觉。这个人好厉害。但是如何能把他的经验讲出来就好了,这样看这个文章的人,也就是给我们这些后来人一些指点就好 了。 O(∩_∩)O哈哈~

  9. 搜酷女包 说道:

    都是一些报告性的文章呵,不讲技术。只讲技术生涯哈。

  10. uggshoes 说道:

    要选什么专业。现在看来还是选对了

  11. northfacejacket 说道:

    我们认为在云时代的整个生态系统里,通吃是不可能的

  12. uggboot 说道:

    提高用户体验也是热点,比如支持多点触屏的智能手机,能提供更加贴近用户习惯的体验

  13. cheapugg 说道:

    设定里程碑是横向的时间划分,纵向来讲是人的管理

  14. MarsClan 说道:

    混源 – MixSource

  15. cheap north face 说道:

    我喜欢这篇文章,很好!

  16. lvtianhai 说道:

    怎么看起来像汉奸!

  17. bootsugg 说道:

    收获很大!

  18. larita 说道:

    提高用户体验也是热点

  19. 看了这些,对自己的行业更有信心了,要坚持不懈的走下去

  20. sam 说道:

    说的很好!

  21. replica 说道:

    真的很好啊

  22. SAM 说道:

    相当强大~!!!

  23. 关注云计算的发展….

  24. wang 说道:

    技术的成长~!!

  25. kui 说道:

    说的号!!

  26. 123 说道:

    很好啊………..

  27. red soled boots 说道:

    Somebody necessarily help to make severely posts I might state. That is the first time I frequented your web page and thus far? I amazed with the analysis you made to create this actual submit incredible. Wonderful task!

请评论

preload preload preload
京ICP备06065162