1987年,36年前,我考上了武汉大学计算机系。
我在图书馆里看了一本书,《硅谷之火》,建立了自己一生的梦想。
看完这本书后,我热血沸腾,激动得睡不着觉。当天晚上,星光很亮,我在武大操场上,走了一圈又一圈,走了整整一夜。我心里有团火:我要创办一家伟大的公司。梦想之火,在我心里彻底点燃了。
但是,一个大一新生,一个刚从县城出来的年轻人,什么也不会,什么也没有,就想创办一家伟大的公司,谈何容易!
这么离谱的梦想,该如何实现呢?我完全理不清头绪,干脆就不想了,还是先把书读好。
如何才能把书读得不同凡响呢?我琢磨了一个当时很夸张的目标:两年修完大学四年所有学分。那个年代,学分制刚刚开始,这样的想法,还是石破天惊的,很少有人想到。
当年我是如何做到的?今天时间有限,我给大家讲讲如何搞定三个难点。如果你正好在读大学,也许还用得上。
第一,如何选课?
上两倍的课,写两倍的作业,过两倍的考试,这是用地狱模式上大学。辛苦不要紧,关键是如何选课。我自己琢磨好久,还是一头雾水,下决心找个人问问!
我多少有点社恐,当时也是没办法,厚着脸皮,到大三、大四同学宿舍,挨个敲门找老乡。
这招在大学里特别好使,我很快就找到了几个,学长们特别热情,讲了几小时:把整个课程体系都讲了一遍,哪些课容易、哪些课难,哪些课必须先上、哪些课可以后上,最后还八卦了各个老师的奇闻逸事。走的时候,他们还把用过的教材和教辅,甚至课堂笔记,都打包送给了我。
聊完,我感觉突然开了天眼,大学怎么读,我基本清楚了。
就是这次经历,我有了一个特别重要的收获:遇到问题,第一时间找个懂的人问问。很多人觉得,自己遇到的问题,只能自己琢磨、自己搞定。实际上,无论你遇到什么问题,别人可能都遇到过,都解决了,甚至都有标准答案,你只要找人问问就可以。
第二,如何自学?
上两倍的课,这意味着大量课程要靠自学。我们计算机系是从数学系分出来的,相当于半个数学系,课程特别难。很多同学觉得《高等数学》很难学,其实,我们是不学《高等数学》的,我们学的数学系的专业课,比《高等数学》难多了。
自学的时候,经常遇到看不懂的地方,一卡就卡很久,特别痛苦。怎么办呢?只能硬读,就是硬着头皮读,读着读着,终于开窍了。
遇到实在看不懂的,先跳过去,咬着牙往下读,像看小说一样,坚持从头读到尾。一本书,这样反复多读几遍,基本就能搞懂。
后来我才明白了其中的道理:知识不全是线性的,大部分是网状的,知识点之间不一定有绝对的先后关系;前面内容看不懂,跳过去,并不影响学后面的;后面的学会了,有时候更容易看懂前面的。
第三,如何搞定点名?
修兩倍的课程,上课时间肯定会冲突。一旦缺课,就怕遇到老师点名。在大学,点名是大事。怎么办呢?
老师点名的目的,就是怕大家不认真学习。我想出的办法是,如果我能给老师留下深刻印象,让他知道我没有偷懒,应该就可以了。
于是,上课时,我直接坐到第一排,坐到老师很容易看到的地方;老师提问的时候,我总是第一个举手;课间休息时,有不懂的地方,我也主动找老师请教。
经过我的努力,系里大多数老师对我的印象都不错,缺课就不是事了。
就这样,我克服了重重困难,终于搞定了四年所有学分!
我学的是计算机,光修学分是不够的,把程序写好才是硬道理。所以,我定的第二个目标是:成为一个优秀的程序员。
30多年前,电脑非常少。大一时,全年级同学上机实践,只有一台68000小型机。40多年前的小型机,性能远不如10年前的手机,还挂着20多台终端,慢得令人发指。就是这样的条件,还不能放开了用,上机还需要凭票,每个人一周只有两张,每张2小时。每周就几小时时间,时间太短了,要把程序写好,实在太难了。
于是,我有空就跑到机房门口排队,蹭电脑。碰到同学没来,我就可以捡漏。如果实在排不上,我就站在边上看同学上机,过过眼瘾。如果遇到同学不会,我就去指导一下,特别有成就感。
为了有效利用上机时间,我每次都提前在纸上把代码写好,到了机房后就可以直接输入了。
怎么输入更快呢?我想了一个馊主意:用打印纸把键盘拓下来,贴在课桌上,然后,无论上什么课,一边上课,一边敲桌子,偷偷练打字。过段时间,我发现周围的同学都这么干了。上课的时候,经常听到有人敲桌子,把老师都搞蒙了。
实在没电脑用的时候,我还有一个绝招:在纸上写程序。教材中的示范程序,往往都是写得最好的。我合上教材,就在纸上用自己的方法重写所有示范程序,反复写,直到写到同样的水平。
我上的第一门编程课是Pascal语言程序设计。等我上大二的时候,有同学来告诉我,我写的Pascal作业被老师编入了新版教材。我非常高兴,我写的程序得到了老师的认可。
后来我就开始在老师的实验室帮忙做课题。在实验室的电脑前,熬过一个又一个通宵,我逐步练成了同学们眼里的“技术高手”。
几年前,我在知乎上还看到了一段汇编语言的代码,那是我在大二时候写的。当时编写的是DOS系统上的内存管理工具,叫RI,这个小工具曾在国内很火,用的人很多,我索性就全部开源了。
时隔30多年,现在还有人讨论我的代码,作为一个程序员,我挺自豪的。
接着,我挑战第三个目标:在一级学报上发篇论文。对在校的大学生来说,这个目标相当困难。
我去找我的老师张德向教授请教,他建议我把之前研究计算机病毒的思考整理一下,写成论文试试。
那个时候,国内刚刚经历了第一次计算机病毒暴发。我花过不少时间琢磨,甚至还写过一款杀毒软件,算国内最早的一批吧。
这个就算学术成果吗?我心里没底,但还是按张老师的建议,壮着胆子整理成论文。
那时论文都是写在稿纸上。我洋洋洒洒写了几十页,厚厚一沓稿纸。写完后,我拿给几个好朋友看,大家给我提了不少意见,有位同学最后说,字写得实在不怎么样,还告诉我,“字写得好看,机会就大”,于是,他自告奋勇,辛辛苦苦花了3天时间帮我誊写了一遍。
然后,我就把论文寄给了权威的学术期刊《计算机研究与发展》。差不多过了半年,我收到回信说,论文被录用了!当时,我特别激动。真没想到,第一次投稿就被录用了。
每次想到这件事,我都觉得:敢想敢干非常重要,年轻人要有年轻人的魄力,很多事情没有想象的那么复杂,去试试就知道了。
这就是我在武大的求学生涯。很多人年轻时都有类似的经历,因为一本书、一部电影,或者一个人,梦想就被点燃了。
我幸运的是,我真的把这个梦想当回事,想办法拆解成一个又一个可实现的目标,然后竭尽全力去实现。
梦想的力量极其强大,我想尽办法,把各种不可能的事情,变成了可能。这段经历为我以后的人生奠定了坚实的基础。
(摘自小米科技创始人雷军的2023年度演讲,本刊有删节)