对话:程序员成长与转型
2003年03月31日 闫辉
蒋涛:CSDN&《程序员》杂志负责人
雷军:金山公司总裁
侯捷:台湾著名技术作家
技术人员成长
蒋涛:今天我们很高兴请到两位来谈论技术人员的成长和转型。侯老师是资深的技术作家,从事软件教育的代表,雷军是从程序员转型到企业管理者的代表,这也都是非常有代表性的程序员成长方向。
雷军:蒋涛也是从程序员转型到管理者的典型代表,而且现在横跨这两种角色。
侯捷:我是在1994年前后,通过出版社的朋友和雷军第一次通信联系的。当时互联网还不发达,书信也不方便,更多的联系没有持续下去。但我一直很关注雷军和金山公司,我很高兴看到他发展的很成功。
雷军:我第一次知道侯老师是在1993年通过侯老师的书。当时我在香港买到《无责任书评》,在一个咖啡厅中用两个小时就看完了。后来还看到了《深入浅出MFC》,书中将问题剖析的非常通透。当时感觉有些不可思议,因为还有这样的程序高手愿意把自己的经验贡献出来,因此主动和侯老师进行联系。
1992年左右,我们也编写过一本开发类书籍―《深入DOS编程》,我们这个年龄层的程序员大部分都有这本书。因为那时很多编程书籍错误百出,而且上机时要带很多厚书。因此,我希望编写一本完整、实用和准确的技术书籍,而且那时我对程序非常上瘾,花了很大力气来做这个工作。
蒋涛:雷军虽然也曾经做过技术书籍,但现在已经转型到了管理,而侯老师一直从事技术写作,您是如何走上这条道路并坚持的呢?
侯捷:其实我从没有想到会走上技术写作这条路。因为大学我学的是土木工程,并非计算机科班出身。25岁的时候,我第一次接触到计算机,感觉非常兴奋。后来转到机械所做CAD软件,看到一台小小的PC可以驱动火焰切割机进行大型操作,会非常有成就感。
26到29岁那段时间,我在计算机研究机构工作,那里学习和做事的氛围都很好,我也有机会利用业余时间开始从事书籍写作。当时我完全是凭兴趣,感到这就是我喜欢的工作,因为我每天都很快乐。比较幸运的是,书籍出版之后,读者反映很好,杂志社和出版社也对我另眼相看。后来看到生活方面没有后顾之忧,为了专职从事技术写作,我把原来的工作辞掉了。
雷军:很多读者都想询问侯老师这样一个问题:有您这样的编程基本功和素质,对您来说,直接编程是不是可以创造更高的回报呢?您认为那种工作更辛苦?
侯捷:我认为虽然自己技术还不错,但比我技术好的有很多。我作为一个程序员绝对比不上我在技术写作上的贡献。而且从教育角度看,教育和写作会影响到人生中的求学成长阶段,这是很重要,也非常有价值的。
写作的过程的确很累、很寂寞,所以需要有兴趣的支持。我和很多朋友都探讨过到底是编程累还是写作累,哪种可以做的长久。我觉得这要因人而异,对于我来说,写作可以做的更久。有些人认为写书很辛苦,但我感觉程序员更辛苦,上万行的代码,以我的年纪,很难有精力去承受的。
蒋涛:国外技术作家有两类:一类是在企业或者工业界中,他们工作和写作属于同一领域;另外一类是职业作家或者顾问,这些人出书的回报和收入也很好,因为国外的技术书籍市场规模比中国要大很多。
雷军:写作还是需要足够的编程功底,国外很多技术作家对某种技术研究的很透彻,写的也很好,是不是他们仍然在做项目?
侯捷:我大胆的猜测,他们肯定是不会在做项目了,因为我也做过项目,任务非常重,根本没有精力去写文章,我认为只有专职才能保证充足的时间深入钻研技术和写作。
在大陆,写书所能带来的报酬还是太低,所以吸引力还很不够。我很希望开辟一条路出来,这就是:好的技术书籍能够给作者带来一定的报酬,使得其能够从容地写出精品。
蒋涛:实际上,技术刊物可以担当成为技术作家的跳板。像国外《DDJ》《MSDN Magazine》已经非常成熟,并能吸引和培养出一批优秀的作者。而国内的技术性刊物很少,也没有树立权威和地位,我希望我们的杂志和网站给国内有潜质的作者创造一个好的环境和发展道路。
雷军:国内作者驾驭文字的能力也是需要锻炼的,侯老师的技术书籍文风比较幽默和活跃,而国内作者现阶段文字上下的功夫还不够,以直接翻译的居多,而且很多书籍翻译的莫名其妙。
侯捷:先有技术,而后有技术文字,这是我的观点。但技术作家除了有开发经验,还要对技术写作怀有浓厚的兴趣。此外要想旁征博引,讲一些画龙点睛的内容,也需要涉猎广泛的领域。
蒋涛:侯老师现在主要靠自己研究技术,但我们知道软件行业的技术发展非常快,很多技术人员感觉不得不疲于跟踪技术。即便如此,也有很多公司和程序员落伍了,包括技术作家,比如写Undocumented系列书籍的Andrew Schulman在Windows95时代就杳无音信了。Ralf Brown写过DOS编程的经典书籍,在Windows时代也没有跟上。
侯捷:从Dos到Windows,这个转变的确是个大断层,台湾也有很多人没有跟上,这也是所谓的长江后浪推前浪。
技术人员要不被淘汰,就要花力气跟踪技术发展。我一直认为我还是程序员,因为我还在写程序,只是不做项目而已。为了真正熟悉某种技术,要经常写程序来验证。我写的程序有大有小,最近比较大的有五六千行,是关于Application Framework的。
雷军:学习能力是最重要的能力。我大学的第一堂课,听的是一位留学多年的化学系老教授讲的。他告诉我们:上大学的目的是为了学会如何去学习,研究生的目的就是学会如何去工作,如果明白了这两条,就永远不会存在专业不对口的问题。所以说,很多DOS下面厉害的程序员为什么没有转到Windows平台上,除了惯性思维,还可能在学习的突破性方向上存在没有解决的问题。
蒋涛:在金山公司,员工如何提升自己的技术水平呢?
雷军:首先,新员工有两星期培训,包括了上课和实习;然后,进入项目组中做具体项目,这是非常锻炼人的,因为在这个过程中需要查阅很多的资料,比如到MSDN中去查阅各种技术资料;组内讨论和向老员工请教也必不可少。总之,很多方法都是在工作过程中慢慢交流的。
侯捷:MSDN的资料虽然很好,但对于初级读者来说,因为其中的信息有一定跳跃性,大局观差一些,阅读起来还是存在困难。不过当程序员到一定水平之后,能够满足他的书籍就愈来愈少了,在线技术文档也许更加适合。
蒋涛:所以,我认为我们的软件产业链中缺乏再教育的过程。大学中虽然教授了如何去学习,但工作中完全靠自己学习也是不现实的。人都有惰性,而且容易走弯路,假如这些弯路其他人已经经历过,再重复就太浪费了。像COM技术,计算机课程中没有,但又是工作中需要用到的,很多人即便买了书也不能完全领会,再加上只是公司内部的交流,没有和外部产生沟通的渠道,造成很多技术传播一直在低层次上进行循环。
技术人员转型
侯捷:在国外,管理和技术的地位是并行的。但在国内,程序员如果到三十多岁还在做开发的话,很多人会以不正确的心态看不起他们,他们也不易专心做技术。在国内大环境还没有开拓出一条新思路的情况下,大家还是觉得去做管理比较有前途,你们的体会如何?
雷军:1996年我在家呆了半年,180天内我仔细考虑未来的发展方向。我也曾经考虑去做一名技术作家,但最终认为对我来说去开辟软件市场更为迫切。
写程序是一种很苦的工作,如果没有勤奋和执著,很少有人能坚持十几二十年的。因此,首先要让技术人员能感受到自己在不断提升。企业不这样做,工程师就不可能到一定年龄之后仍然有进取心。在提升方面,除了报酬,荣誉也可以为其带来成长的快乐。比如当一个程序员从单枪匹马到带领一个团队去完成更大项目的开发时,这本身就是一种激励。
蒋涛:在现在软件企业规模比较小的情况下,技术人员很容易转型做管理。因为只有企业规模大了,才能容纳很多高手,原来金山规模很小的时候,要容纳很多高手就存在困难。只有规模增大之后,才能养得起这些人。更大的公司还可以通过创建研究院的形式,让某些技术专家进行纯技术研究,微软和Sun这方面就做得比较好。
雷军:转型同社会处在高速发展过程中带来的机会过多有关。比如一个学生刚毕业就发财了,那全班同学都会动心,有人刚毕业一年就当经理,其他人就会考虑自己能不能当经理。企业的用人制度和薪资水平也存在较大差异,刚毕业一年的学生工资可以有2000-8000如此大的差距,这样就造成所有人都很浮躁。
蒋涛:还有一个重要原因就是他的生活不安定,看不到未来的保障。心理不安定就会造成他在工作时还会看其他的东西,因为他不知道30岁之后会怎样。
雷军:在这样相对浮躁的社会中,面对如此多的机会,要坚持是非常困难的。年轻人什么都想做,都持一种短线思维,这也给企业管理带来很大困难。
实际上,国内好的程序员有断档,人数太少,经验太薄。随便举个例子:无论是在微软还是硅谷的很多公司,他们很多程序员都已经40多岁了,而国内主力在写程序的人平均年龄是5-8年,我们国内所说的好程序员可能在国外刚刚过第一个标准线,前面已经没有比他更强的了,他的担子也会越来越重,所以他也不得不想出路,做管理。
侯捷:关于经验太薄,我也有些体验。我接触一些国内程序员,他们报上来的头衔是项目经理、部长、技术总监,但是见面时往往年轻得让我吓一大跳。这么年轻的一群人扛起整个产业固然有可喜的一面,但技术积累还是和时间有很大关系。资历短必然造成经验嫩,经验嫩必然影响技术的厚度和产品的成熟。
蒋涛:雷军是从技术到管理成功转型的例子,你这方面有什么体会?
雷军:我当时是迫不得已转向管理,但我认为开发和管理还是有些关联的。首先做程序和管理都需要条理化,很多程序员把自己的事务处理的非常有条理,而条理也是很重要的管理内容,这对我帮助很大。
不过程序员向管理转型也会面对很多困难。程序员都是完美主义者,做事情很认真,就像对待Bug一样不能容纳任何不舒服的地方。Borland公司的程序员都是完美主义者,喜欢 “推倒重写”。从最出名的Pascal开始,每一个版本都为了追求精益求精,重写了很多次,但产品也在延续性方面出了很多问题,让学习者不得不紧紧跟随,也造成了其市场方面的一些问题。
管理中几乎没有绝对正确或者错误的,要求其宽容度要大很多,要容忍很多不好的事情。如果你要求每个人都按照你的想法去做,就不可能管理更多的人。
此外,当技术人员向管理转型时,技术管理者很容易拿员工的技术和自己作对比。如果不能把这种心态尽快转变过来,也很难容纳好的技术开发者。而没有一大批优秀的程序员,公司就很难做大、做好。
蒋涛:从我的体会讲,管理更多是和人打交道,这点是很多程序员难于处理的,因为程序员原来更多的是和机器沟通。特别对于小型公司来讲,每个人都有自己的想法,很多员工和公司考虑的方向不同。如何处理好这些关系很重要。
侯捷:雷军在向管理转型的时候,有没有后悔过?
雷军:我在1998年曾有过一丝惶恐,那是我更全面接管公司管理的时候。我的大学老师提醒我:你做管理者,将来把技术丢了,是不是不太好啊?那一瞬间我有些惶恐,觉得心里空荡荡的,没有底。但现在转变之后,今天再看这个问题,我已经不后悔了。因为我的价值变大了,可做的事情变多了,为社会创造的价值和自身的成就感就不同了。而且真正做管理一段时间后,你会发现CEO也是一种职业,而且在中国更缺乏。
蒋涛:也有一些作者从写作转向了出版,这和技术人员转向管理是一样的,也算是一条发展道路。
侯捷:我很早就告诫自己,我也许有能力开一家出版公司或顾问公司,也许能让我挣很多钱,但那不会让我快乐,现在我最快乐的就是写作。除非有一天,没有一家出版社愿意出版我的书。
我曾经和新竹交通大学的一些学生交流,谈到只有坚持才有成功的机会。有同学说我们坚持了,但没有成功,怎么办?我说,没有人可以保证成功,但坚持本身就是一种很可贵的品操,这样做了也不用后悔。我认为,无论做什么事情,都要根基于自信和专注,这方面我也希望和大家互相勉励。
我觉得我很幸运,毕竟所处的环境还是一个相对不浮躁的环境。无论转型与否,首先自己要有衡量成功的标准。成功的定义是什么?如果把成功定义为财富的话,那就很危险,大家就会很浮躁。为了财富而聚在一起,就会因为财富而分开。
我希望未来出现这样的情况:两个人把名片拿出来,一个是“工程师”,一个是“经理”,工程师的这个人不会感觉自己矮半头。