1987年,36年前,我考上了武漢大學(xué)計(jì)算機(jī)系。
我在圖書館里看了一本書,《硅谷之火》,建立了自己一生的夢(mèng)想。
看完這本書后,我熱血沸騰,激動(dòng)得睡不著覺。當(dāng)天晚上,星光很亮,我在武大操場上,走了一圈又一圈,走了整整一夜。我心里有團(tuán)火:我要?jiǎng)?chuàng)辦一家偉大的公司。夢(mèng)想之火,在我心里徹底點(diǎn)燃了。
但是,一個(gè)大一新生,一個(gè)剛從縣城出來的年輕人,什么也不會(huì),什么也沒有,就想創(chuàng)辦一家偉大的公司,談何容易!
這么離譜的夢(mèng)想,該如何實(shí)現(xiàn)呢?我完全理不清頭緒,干脆就不想了,還是先把書讀好。
如何才能把書讀得不同凡響呢?我琢磨了一個(gè)當(dāng)時(shí)很夸張的目標(biāo):兩年修完大學(xué)四年所有學(xué)分。那個(gè)年代,學(xué)分制剛剛開始,這樣的想法,還是石破天驚的,很少有人想到。
當(dāng)年我是如何做到的?今天時(shí)間有限,我給大家講講如何搞定三個(gè)難點(diǎn)。如果你正好在讀大學(xué),也許還用得上。
第一,如何選課?
上兩倍的課,寫兩倍的作業(yè),過兩倍的考試,這是用地獄模式上大學(xué)。辛苦不要緊,關(guān)鍵是如何選課。我自己琢磨好久,還是一頭霧水,下決心找個(gè)人問問!
我多少有點(diǎn)社恐,當(dāng)時(shí)也是沒辦法,厚著臉皮,到大三、大四同學(xué)宿舍,挨個(gè)敲門找老鄉(xiāng)。
這招在大學(xué)里特別好使,我很快就找到了幾個(gè),學(xué)長們特別熱情,講了幾小時(shí):把整個(gè)課程體系都講了一遍,哪些課容易、哪些課難,哪些課必須先上、哪些課可以后上,最后還八卦了各個(gè)老師的奇聞逸事。走的時(shí)候,他們還把用過的教材和教輔,甚至課堂筆記,都打包送給了我。
聊完,我感覺突然開了天眼,大學(xué)怎么讀,我基本清楚了。
就是這次經(jīng)歷,我有了一個(gè)特別重要的收獲:遇到問題,第一時(shí)間找個(gè)懂的人問問。很多人覺得,自己遇到的問題,只能自己琢磨、自己搞定。實(shí)際上,無論你遇到什么問題,別人可能都遇到過,都解決了,甚至都有標(biāo)準(zhǔn)答案,你只要找人問問就可以。
第二,如何自學(xué)?
上兩倍的課,這意味著大量課程要靠自學(xué)。我們計(jì)算機(jī)系是從數(shù)學(xué)系分出來的,相當(dāng)于半個(gè)數(shù)學(xué)系,課程特別難。很多同學(xué)覺得《高等數(shù)學(xué)》很難學(xué),其實(shí),我們是不學(xué)《高等數(shù)學(xué)》的,我們學(xué)的數(shù)學(xué)系的專業(yè)課,比《高等數(shù)學(xué)》難多了。
自學(xué)的時(shí)候,經(jīng)常遇到看不懂的地方,一卡就卡很久,特別痛苦。怎么辦呢?只能硬讀,就是硬著頭皮讀,讀著讀著,終于開竅了。
遇到實(shí)在看不懂的,先跳過去,咬著牙往下讀,像看小說一樣,堅(jiān)持從頭讀到尾。一本書,這樣反復(fù)多讀幾遍,基本就能搞懂。
后來我才明白了其中的道理:知識(shí)不全是線性的,大部分是網(wǎng)狀的,知識(shí)點(diǎn)之間不一定有絕對(duì)的先后關(guān)系;前面內(nèi)容看不懂,跳過去,并不影響學(xué)后面的;后面的學(xué)會(huì)了,有時(shí)候更容易看懂前面的。
第三,如何搞定點(diǎn)名?
修兩倍的課程,上課時(shí)間肯定會(huì)沖突。一旦缺課,就怕遇到老師點(diǎn)名。在大學(xué),點(diǎn)名是大事。怎么辦呢?
老師點(diǎn)名的目的,就是怕大家不認(rèn)真學(xué)習(xí)。我想出的辦法是,如果我能給老師留下深刻印象,讓他知道我沒有偷懶,應(yīng)該就可以了。
于是,上課時(shí),我直接坐到第一排,坐到老師很容易看到的地方;老師提問的時(shí)候,我總是第一個(gè)舉手;課間休息時(shí),有不懂的地方,我也主動(dòng)找老師請(qǐng)教。
經(jīng)過我的努力,系里大多數(shù)老師對(duì)我的印象都不錯(cuò),缺課就不是事了。
就這樣,我克服了重重困難,終于搞定了四年所有學(xué)分!
我學(xué)的是計(jì)算機(jī),光修學(xué)分是不夠的,把程序?qū)懞貌攀怯驳览?。所以,我定的第二個(gè)目標(biāo)是:成為一個(gè)優(yōu)秀的程序員。
30多年前,電腦非常少。大一時(shí),全年級(jí)同學(xué)上機(jī)實(shí)踐,只有一臺(tái)68000小型機(jī)。40多年前的小型機(jī),性能遠(yuǎn)不如10年前的手機(jī),還掛著20多臺(tái)終端,慢得令人發(fā)指。就是這樣的條件,還不能放開了用,上機(jī)還需要憑票,每個(gè)人一周只有兩張,每張2小時(shí)。每周就幾小時(shí)時(shí)間,時(shí)間太短了,要把程序?qū)懞茫瑢?shí)在太難了。
于是,我有空就跑到機(jī)房門口排隊(duì),蹭電腦。碰到同學(xué)沒來,我就可以撿漏。如果實(shí)在排不上,我就站在邊上看同學(xué)上機(jī),過過眼癮。如果遇到同學(xué)不會(huì),我就去指導(dǎo)一下,特別有成就感。
為了有效利用上機(jī)時(shí)間,我每次都提前在紙上把代碼寫好,到了機(jī)房后就可以直接輸入了。
怎么輸入更快呢?我想了一個(gè)餿主意:用打印紙把鍵盤拓下來,貼在課桌上,然后,無論上什么課,一邊上課,一邊敲桌子,偷偷練打字。過段時(shí)間,我發(fā)現(xiàn)周圍的同學(xué)都這么干了。上課的時(shí)候,經(jīng)常聽到有人敲桌子,把老師都搞蒙了。
實(shí)在沒電腦用的時(shí)候,我還有一個(gè)絕招:在紙上寫程序。教材中的示范程序,往往都是寫得最好的。我合上教材,就在紙上用自己的方法重寫所有示范程序,反復(fù)寫,直到寫到同樣的水平。
我上的第一門編程課是Pascal語言程序設(shè)計(jì)。等我上大二的時(shí)候,有同學(xué)來告訴我,我寫的Pascal作業(yè)被老師編入了新版教材。我非常高興,我寫的程序得到了老師的認(rèn)可。
后來我就開始在老師的實(shí)驗(yàn)室?guī)兔ψ稣n題。在實(shí)驗(yàn)室的電腦前,熬過一個(gè)又一個(gè)通宵,我逐步練成了同學(xué)們眼里的“技術(shù)高手”。
幾年前,我在知乎上還看到了一段匯編語言的代碼,那是我在大二時(shí)候?qū)懙?。?dāng)時(shí)編寫的是DOS系統(tǒng)上的內(nèi)存管理工具,叫RI,這個(gè)小工具曾在國內(nèi)很火,用的人很多,我索性就全部開源了。
時(shí)隔30多年,現(xiàn)在還有人討論我的代碼,作為一個(gè)程序員,我挺自豪的。
接著,我挑戰(zhàn)第三個(gè)目標(biāo):在一級(jí)學(xué)報(bào)上發(fā)篇論文。對(duì)在校的大學(xué)生來說,這個(gè)目標(biāo)相當(dāng)困難。
我去找我的老師張德向教授請(qǐng)教,他建議我把之前研究計(jì)算機(jī)病毒的思考整理一下,寫成論文試試。
那個(gè)時(shí)候,國內(nèi)剛剛經(jīng)歷了第一次計(jì)算機(jī)病毒暴發(fā)。我花過不少時(shí)間琢磨,甚至還寫過一款殺毒軟件,算國內(nèi)最早的一批吧。
這個(gè)就算學(xué)術(shù)成果嗎?我心里沒底,但還是按張老師的建議,壯著膽子整理成論文。
那時(shí)論文都是寫在稿紙上。我洋洋灑灑寫了幾十頁,厚厚一沓稿紙。寫完后,我拿給幾個(gè)好朋友看,大家給我提了不少意見,有位同學(xué)最后說,字寫得實(shí)在不怎么樣,還告訴我,“字寫得好看,機(jī)會(huì)就大”,于是,他自告奮勇,辛辛苦苦花了3天時(shí)間幫我謄寫了一遍。
然后,我就把論文寄給了權(quán)威的學(xué)術(shù)期刊《計(jì)算機(jī)研究與發(fā)展》。差不多過了半年,我收到回信說,論文被錄用了!當(dāng)時(shí),我特別激動(dòng)。真沒想到,第一次投稿就被錄用了。
每次想到這件事,我都覺得:敢想敢干非常重要,年輕人要有年輕人的魄力,很多事情沒有想象的那么復(fù)雜,去試試就知道了。
這就是我在武大的求學(xué)生涯。很多人年輕時(shí)都有類似的經(jīng)歷,因?yàn)橐槐緯?、一部電影,或者一個(gè)人,夢(mèng)想就被點(diǎn)燃了。
我幸運(yùn)的是,我真的把這個(gè)夢(mèng)想當(dāng)回事,想辦法拆解成一個(gè)又一個(gè)可實(shí)現(xiàn)的目標(biāo),然后竭盡全力去實(shí)現(xiàn)。
夢(mèng)想的力量極其強(qiáng)大,我想盡辦法,把各種不可能的事情,變成了可能。這段經(jīng)歷為我以后的人生奠定了堅(jiān)實(shí)的基礎(chǔ)。
(摘自小米科技創(chuàng)始人雷軍的2023年度演講,本刊有刪節(jié))