在李开复博士加入Google公司并担任google中国总裁后,最近他们推出了一项Google Code Jam - 中国编程挑战赛,为了更好的了解这次大赛的目的和背后的一些想法,我们约到了李开复博士进行了专访。
记者:那这次程序大赛主要是为了考察程序员哪些素质?
李开复:我们出的题目,需要选手具备很缜密的算法、严格的过程,完善的测试,容错和速度也需要考虑的因素,而且我们的题目可能比较困难一些。
比赛考察的重点是选手有没有把计算机科学学好。我们发现,很多学生只看表面的东西,其实更重要的是学懂理论。我原来就说过外功和内功的差别,外功很好的人去打擂台,肯定打不过一个内功很好的。这里的内功就是算法,数据结构,操作系统,数据库方面的基础知识,要把大一,大二,大三这些基础课程学的特别扎实,把这些课程学好。一些学生号称自己知道很多最新的技术,但这些只是一些语言。就像一个人学会了几十种语言,却写不出一篇好文章。
当然,我们考察的还有创新能力,要选手反应要够快,想事情要严谨。有一个挑战赛的环节,是别人可以找你程序中的bug。因为当程序员真的去工作之后,有几件事情是每个程序员都要去做的。比如测试和codereview。如果只会写程序而不会测试是不行的,而且也不能只看懂自己的代码看不懂别人的代码。这次比赛我们是引入了一种竞争的机制,需要靠给别人挑错来给自己加分,以后可能有更好的方式来测试选手这方面的能力。
记者:您希望通过大赛向程序员传递怎样的信息?
李开复:中国有一些现象,比如一个程序员作好了就是做经理、总经理、创业。程序员并没有认为他们从事的是一项非常了不起的事业,大家觉得做科学家,数学家很好,但提到程序员就不行了。但google有很多优秀的程序员,他们甚至到副总裁级别,他们也不要带团队,就是整天编程。Google的No.1的程序员叫Jeffrey Dean,他做了一件非常了不起事情,开发了一个技术MapReduce可以让程序员很容易的学会为几千台服务器编程。他现在38岁了,可能按照中国的观点来说他可能不适合编程了,但这种观念必须要改掉。
所以我们希望更多人能够理解做终身的程序员是一个好事情,并不是一个不好的事情。
记者:我们看到很多报道Google的产品开发往往只有一个很小的团队进行的。联想到这次大赛也是一种针对个人的比赛形式,是否您认为小团队也是软件开发的一种趋势呢?
李开复:团队精神的确非常重要,但不是我们这次比赛的目标。不过最后得奖的50个人我们会带他们出去一个地方,做一些很有趣的事情。这些事情也会间接的培养他们的团队。
其实,我觉得互联网又给了个人一个新的发展机会。google很多新产品就是一个人有了新的idea,于是实践一下,然后把产品开放出来看效果,并且可以实时的得到回馈。它是将互联网当作实验室,因为是free的软件,有不足的地方用户也可以接受。我发现在Google,即便是在这个idea要继续产品化的时候,也不过二三个人,最后变成一个很大的产品,也不过二三十个人的团队。
大的队伍进行开放也是有代价的,100个人做一个软件由于要不断的会议、交流、作好的功能取消这些会丧失掉80%的效率。或许1000个人一些做事只能做200个人所作的事情,但200个人如果不需要任何磨合,甚至可以做1000个人的事情。
记者:Google在中国的招聘全部来自国内吗?
李开复:我们这次比赛和招聘不是一回事,当然成功的选手可能会加入Google,但这不是刻意的。我们主要是为了提升对程序员的尊敬,理解程序员是一个终身的职业,同时把我们的理念表现出来。
在国内的招聘方面,我们有很大的特色,比如不要求英文能力,这些能力可以要求他们以后提高。同时,会有一大批从总部回来的中国人,比例可能会是5:1,这边每招5个人,对应着国外回来的1个人。这样可以有效的将google总部的文化带回来。当然,Google中国的招聘也是同样严格的,没有放松任何要求。
记者:有消息说google招人一半是博士,他们偏学术化还是工程化?Google中国做的事情偏科研还是偏产品呢?
李开复:这两种博士都有,纯学术化的我们也有,但更多的是要具有实战经验的。我们雇的博士绝大部分也要做程序员,并不会因为是博士,就可以来分配工作给程序员。大家都是程序员。他们必须要编程,如果只是写几个公式,分配给别人编程,不是说这种不好,而是不适合Google公司。Google的理念是每个工程师都是科学家,每个科学家都是工程师。我们要做创新,但也有编程。
另外,我对中国程序员这些年来的进步感到非常惊讶,这7年来的进步很多。我想这次找到符合我们标准的人的比例要高10-20倍。应该说,计算机专业学生并没有增加很多,但水平增高了很多,这里有教育方面提高的原因,但更多是互联网的效果,程序员可以在网上学习,参加竞赛,有很多类似csdn这样网站和交流平台。而且,pc越来越便宜,高中就可能可以购买一台使用。而且很多竞赛也让中国的程序员树立了信息,基于这些因素,我对google在中国的发展有很大的信心。
我想,应该再过几年,我们就不需要专门在中国举行这种编程比赛了,因为可以纳入全球的比赛。现在因为各种因素到国外比赛还不太方便,于是我们现在提供给程序员这个机会可以先接触一下这方面的大赛。