我考上了暨南大學(xué)的研究生。導(dǎo)師給我分的課題是關(guān)于電機和風(fēng)能發(fā)電的,叫“構(gòu)網(wǎng)電機”。說實話,我不是很感興趣。但剛?cè)雽W(xué),換導(dǎo)師也不現(xiàn)實,就想著先做下去再說。
在考取研究生之前,我已經(jīng)在外面工作了兩年。因為之前是在小公司工作。我為了做出產(chǎn)品,我寫了大量軟件、硬件代碼(各方面技能都被鍛煉到了)。編程語言,C語言、C++、Python、matlab這些我都會。小公司分工不明確,他們只要全棧開發(fā)工程師。
研究生復(fù)試時,導(dǎo)師問我寫了多少行代碼了?
我說,應(yīng)該有6萬多行吧?
導(dǎo)師點點頭,說:“可以,挺好的?!?br>
可能是導(dǎo)師覺得把我招進課題組,性價比很高,就把我招進來了。
剛錄取沒多久,老師就讓我提前報到,直接開始上課。研究生一年級主要是上課。我看課表,覺得不少課內(nèi)容比較淺,有些像機器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò),我之前都學(xué)過;還有一些是思政類的。有的課老師干脆讓我們自己上臺匯報,做presentation。整體上,我感覺課程難度不大,所以平時不怎么聽課,只是課后完成作業(yè)。這樣一來,空余時間就多了。
我不想浪費我寶貴的研究生一年級,就自己選了6門覺得有用的課,安排自學(xué)。我用了兩個月集中學(xué)一門課,系統(tǒng)學(xué)了信號與系統(tǒng)、數(shù)字信號處理、自動控制原理、現(xiàn)代控制理論和電力系統(tǒng)分析。比如一月份集中學(xué)信號與系統(tǒng),二月份集中做題,三月份學(xué)數(shù)字信號處理,四月份再把習(xí)題全部做一遍?;旧?,我是脫離學(xué)校大綱,按自己的節(jié)奏學(xué)的。
這6門課程要么在我本科期間學(xué)過,要么在我考研備考期間學(xué)過。我在研究生一年級只是把之前學(xué)過的內(nèi)容再復(fù)習(xí)一遍。一般一門課程的學(xué)時大概30個小時。以信號與系統(tǒng)為例,這門課在嗶哩嗶哩上看完視頻大概要三十個小時,平均一天看一個小時,以一個月為步調(diào)。我一天只專注于一個小時的視頻學(xué)習(xí),所以壓力沒那么大。
習(xí)題訓(xùn)練的話,一門學(xué)科的習(xí)題大概有600道。我去購物網(wǎng)站買學(xué)科對應(yīng)的習(xí)題集,一般是600道,平均一天20道。在我專門做習(xí)題的月份,一天專心做20道題。我一般會在兩個小時內(nèi)搞定,也就是一個小時內(nèi)做10道題。對我來說也還好,至少一個月學(xué)習(xí)一個學(xué)科,做題也是可行的,壓力適中。
到了研一下學(xué)期,正式開始做科研。導(dǎo)師一開始覺得我工程能力不錯,軟件硬件都能上手,以為撿到寶了。但很快我們就有了矛盾。我記性不太好,他口頭交代的事,我常會忘記,得靠微信記下來。為這個,他發(fā)過好幾次火,覺得我反應(yīng)慢,腦子不夠靈光。
更關(guān)鍵的是,他覺得我太“軸”。他定了方向和方法,我做完之后,總會附上自己的方法,還多做幾組實驗對比,證明我的更好。他看了也不表態(tài),但能感覺到他不高興。他大概希望我是一個聽話的執(zhí)行者,而不是總有自己的想法。后來,他漸漸不怎么管我了,算是放養(yǎng)。態(tài)度也差了,有時會說我高考分?jǐn)?shù)低,是大專升上來的,暗示我智商情商都不行。
在信號處理上,我們的分歧最大。組里都用現(xiàn)成的仿真軟件,每1024個點處理一次。但我想追求更低的延遲和更快的速度,決定手寫代碼,推翻基于信號分幀的軟件架構(gòu),還想實現(xiàn)一些工程創(chuàng)新,比如CPU和GPU結(jié)合的異構(gòu)計算。
最重要的是,我讀到了一篇論文。我實際上,找到了這一個領(lǐng)域內(nèi)最經(jīng)典、最核心的開源系統(tǒng)的論文,理解了其核心架構(gòu)和設(shè)計哲學(xué)。該論文系統(tǒng)性地講述了怎么做一個仿真軟件。我還把該論文推薦的、引用的文章全部讀一遍。讀完后我胸有成竹。我徹底有底氣實現(xiàn)這一個仿真軟件,解決我的問題了。我已經(jīng)不是在黑暗中摸索,我有地圖了?。?!接下來的難點,主要是工程上的。而我強勢的技能,就是工程創(chuàng)新。
導(dǎo)師發(fā)現(xiàn)后,專門找我談,說我的方法不對,堅持讓我改用仿真軟件。我試了一兩個星期,發(fā)現(xiàn)那些軟件在處理某些細(xì)節(jié)時有局限,干脆徹底放棄,繼續(xù)按我的思路做。
有一次,老師把我叫到辦公室,讓我坐下,問我要了我父母的電話,然后當(dāng)著我的面打了過去。他說:“你兒子在學(xué)校不服管教,剛愎自用……”說了我一大堆缺點。最后他說,如果我再一意孤行,就準(zhǔn)備延畢吧。
我站在那兒,像個小學(xué)生一樣默默聽著。上一次老師這樣打電話給我父母,還是我小學(xué)四年級的時候。
早上,我們一群人在格子間工作。我正在寫代碼,老師輕輕喊我名字。我知道,他又想吃樓下早餐店的油條和炸麻薯了。我走過去,默默接過他遞來的錢,心照不宣地出去買。我明白,在他心里,早晨打斷我的工作、讓我去買早餐,對項目進度的影響是最微不足道的。
課題組幾個同學(xué),跟我相處得挺好。但這種好是地下的。我們不想讓老師知道。
每次想去食堂一起吃飯,我們都得像搞特務(wù)接頭。我先起身,磨磨蹭蹭收東西,過五分鐘,另一個再假裝去接水,自然地下樓。最后那個,負(fù)責(zé)斷后。在食堂角落的餐桌上,就是我們的“據(jù)點”。我們一起吃飯一段時間。就這么十幾分鐘,我們飛快地交換情報,吐槽壓力。這成了那段時間里,最重要的透氣口。吃完飯,我們從不一起回去。依舊各自散開,像沒事人一樣溜達回實驗室,繼續(xù)對著電腦扮演專注。
導(dǎo)師可能一直覺得我獨來獨往。他不知道,就是這些零碎的、偷偷摸摸的閑聊,讓我覺得自己沒那么孤單,還能再撐一天。
經(jīng)過研一下學(xué)期近四個月的相處,導(dǎo)師徹底對我不抱希望了。他不再派活給我,我每天就干坐在實驗室,坐到下午五六點回宿舍。這樣過了兩個星期,我覺得必須做出改變。既然他不看好我,我偏要做出來給他看?。?!
此時,經(jīng)過研究生一年級導(dǎo)師給我的課題摸索,以及對各種仿真軟件的使用,我心里很清楚:仿真軟件這條路其實根本就走不通。要想強行走通,要么委屈實驗的質(zhì)量,要么論文造假。我覺得只有自己手搓仿真軟件,為科研場景定制仿真軟件才是正道。
那時正值暑假,我和導(dǎo)師關(guān)系不好,于是七月份下旬幾乎沒去實驗室。我在外面給自己放了兩個星期的假,加上之前坐實驗室的兩周,整整騰出了一個月的自由時間。
八月份開始,我調(diào)整好狀態(tài),決定自己干。我先解決風(fēng)電系統(tǒng)中的驅(qū)動問題。我先用matlab做了大量小型實驗。然后花了一個月用Python手寫了整個硬件設(shè)備的驅(qū)動,模擬軟件架構(gòu)。
為了可以快速出錯,快速迭代。我選用Python這一個編程語言。因為它可以一邊編譯一邊運行,遇到錯誤就直接報錯,這樣我就能快速知道問題出在哪里。我們之前的做法要反反復(fù)復(fù)檢查小細(xì)節(jié),確保不出錯,會導(dǎo)致開發(fā)周期大大拉長。通過Python,我可以快速失敗,快速知道問題出現(xiàn)在哪里
九月份,我開始動手寫為項目定制的仿真軟件。但我選用的技術(shù)方法太“離經(jīng)叛道”,心里其實也沒底。
我完全開始獨立做項目,脫離老師的統(tǒng)一規(guī)劃(其實就是被老師放養(yǎng)了)。開始時不時做噩夢。我已經(jīng)穩(wěn)定形成,至少要到凌晨兩點才能入睡。我常常失眠,在夢中夢到要去高考、考得很不順利、考不上大學(xué)等夢境?;蛘邏粢?,在高中時,在班級里聽不懂課,壓力很大...那段日子讓我感覺非常煎熬。
十月份,我遇到了理論瓶頸,也不太確定自己做得對不對。更深層的原因是,我感覺自己對信號處理確實不太擅長。于是,十月份,一個月的時間,我系統(tǒng)學(xué)習(xí)了信號與系統(tǒng),十一月份又學(xué)了數(shù)字信號處理。
在學(xué)習(xí)理論,打基礎(chǔ)的兩個月,我一度對自己非常懷疑和困惑,因為我覺得我是來做項目的,需要趕緊把項目做出來。但我花了很長時間學(xué)習(xí),已經(jīng)花了一個多月,什么都不干,都在學(xué)習(xí)理論,完全沒做工程,覺得很矛盾。另一個重要原因是壓力很大,幾乎失眠。我早上10點起床,下午到實驗室,干活到凌晨1點才回宿舍洗漱回家。我覺得作息非常不健康,每次下午才到實驗室上班,導(dǎo)師看我的表情總是復(fù)雜(有時直接就是,肉眼可見的嫌棄),我知道他完全放棄我了,在他心中我就是個爛人。
到了十二月份,我開始學(xué)C++,并根據(jù)所學(xué)知識,把之前八、九月份寫的Python代碼全部轉(zhuǎn)成C++。
我時不時懷疑,我做的這個方向真的很冷門。技術(shù)方向太冷太偏了。真的會有人需要這么一個東西嗎?我覺得學(xué)一門編程語言(比如Java、Go),比如數(shù)字孿生、比特幣、大模型,真的更容易找工作。但我學(xué)的跟電網(wǎng)相關(guān)的編程工作,真的很容易找工作嗎?還是說,我會不會費了那么大勁,最后只找了一個薪水,其實很低的工作?
系統(tǒng)做出來之后,我才發(fā)現(xiàn)老師說的有道理——我的技術(shù)路線,計算復(fù)雜度實在是太高了?。?!我自己設(shè)計的仿真軟件最多只能模擬7個風(fēng)機。而這遠(yuǎn)遠(yuǎn)不夠。那時我才意識到,導(dǎo)師可能是對的。我的腦海中馬上出現(xiàn)了導(dǎo)師嘲笑的表情,以及我畢不了業(yè)的悲慘局面。
現(xiàn)在這個簡單的仿真軟件是用Python實現(xiàn)的。我詢問deepseek,如果我這個軟件用C++重寫,可以獲得多少倍性能提升?我把關(guān)鍵代碼一并提交給deepseek。它跟我說,如果全部用C++重寫,大概可以獲得5倍性能提升。我當(dāng)時心里嘀咕,這也不夠??!
之后確實拿C++重新把這個系統(tǒng)全部寫了。但是我引入了一些假設(shè),這些假設(shè)要盡可能能夠大幅簡化我這個系統(tǒng)的計算量?,F(xiàn)在情況很危急,一切以畢業(yè)為導(dǎo)向。我明白了,工程師也是人。人的知識儲備是有限的。人的精力是有限的。做項目的時候要對項目給出的問題進行簡化。把問題理解為自己可以處理的樣子。把一個陌生的問題,轉(zhuǎn)化為自己熟悉的問題。在允許的條件下,用最簡單最節(jié)約成本的方式做。做好權(quán)衡,用比較巧妙的方法,讓各方的利益都恰到好處得到滿足。
目前,我自己設(shè)計的仿真軟件最多只能模擬7個風(fēng)機。這個問題困擾了我一段時間,我當(dāng)時非常凄涼,覺得馬上就要畢不了業(yè)了。但我又想了個辦法:把軟件切分分成界面端和引擎端。在引擎端,我實例化了6個進程,每個進程是一個服務(wù)器(Worker),可以并行的計算內(nèi)容,切分為上千份,手動使用CUDA調(diào)度GPU的上千個子計算單元進行計算。不能并行,可以使用SIMD加速的,使用SIMD加速。
研究生二年級上,過年前夕,導(dǎo)師像往常一樣面無表情地穿過實驗室的過道,目光習(xí)慣性地掃過每個學(xué)生的工位。走到我桌前時,他腳步頓住了。視線落在那本《CUDA 編程權(quán)威指南》上,書脊上鮮明的黃色標(biāo)志在堆滿論文的桌面上格外扎眼。
他沉默地站了約莫五六秒,空氣仿佛凝固了。隨后,他用食指關(guān)節(jié)不輕不重地叩擊了兩下我的桌面。
“你,”他的聲音平淡,聽不出情緒,“來我辦公室一趟。”
我心里一沉,默默跟在他身后。
辦公室里,導(dǎo)師坐下,指了指對面的椅子。他沒有繞圈子,直接問道:“說說吧,怎么回事?怎么看起CUDA了?”
我深吸一口氣,知道這是攤牌的時候了。我盡量讓語氣保持平穩(wěn)和客觀:“老師,我研一的時候,系統(tǒng)試用了課題組常用的幾種仿真軟件,包括您推薦的那幾款。我發(fā)現(xiàn),在處理構(gòu)網(wǎng)型風(fēng)機涉及的高頻、非線性暫態(tài)過程時,現(xiàn)有的基于信號分幀的架構(gòu),確實會遇到實時性瓶頸。每1024個點處理一次的方式,會引入固有延遲,很難滿足我們對毫秒級甚至微秒級動態(tài)響應(yīng)進行精確模擬的要求?!?/p>
我停頓了一下,觀察他的反應(yīng)。他臉上依舊沒什么表情,但眼神示意我繼續(xù)。
“所以,我推斷如果完全依賴現(xiàn)有軟件,可能很難從根本上解決我們這個課題的核心問題——也就是實時性的問題?;谶@個判斷,我決定嘗試自己構(gòu)建一個更輕量、更底層的仿真核心?!?/p>
我打開筆記本電腦,向他展示我的代碼目錄?!斑^去幾個月,我用Python寫了大概四千多行代碼,實現(xiàn)了一個簡易的仿真框架。目前這個版本,最多能同時模擬7個風(fēng)機節(jié)點。但就像我剛才說的,計算復(fù)雜度成了大問題,純CPU運算規(guī)模完全上不去,離實際科研應(yīng)用還差得很遠(yuǎn)?!?/p>
我點開核心模塊的文件。“我已經(jīng)把整個軟件的不同功能都封裝好了,比如風(fēng)機模型、電網(wǎng)環(huán)境、求解器這些。本質(zhì)上,我把它做成了一個簡單的領(lǐng)域特定語言?,F(xiàn)在,只需要導(dǎo)入這個模塊,然后像聲明變量一樣,聲明不同的風(fēng)機節(jié)點(Node),再用類似繪圖的方式把它們之間的電氣連接關(guān)系定義清楚,最后調(diào)用一個Server.Run()方法,就能實時看到仿真波形和數(shù)據(jù)結(jié)果?!?/p>
我?guī)е焖贋g覽了一下幾個關(guān)鍵類的結(jié)構(gòu),以及一個簡單的示例腳本。“我現(xiàn)在卡在性能瓶頸上。所以,我才開始研究CUDA,想看看能不能把最耗時的計算部分,比如微分方程求解和矩陣運算,搬到GPU上做并行加速。這是目前能想到的,讓這個自研軟件達到可用規(guī)模的唯一技術(shù)路徑了?!?/p>
導(dǎo)師聽完,身體向后靠進椅背,雙手交叉放在桌上,沉默地注視著我。辦公室里的空氣再次凝固,只有電腦風(fēng)扇的微弱嗡鳴聲。導(dǎo)師臉上的表情從審視,慢慢變?yōu)閷Wⅲ詈箝W過一絲不易察覺的驚訝和欣賞。
導(dǎo)師身體前傾,提出了幾個非常尖銳的技術(shù)問題,例如:“你的數(shù)據(jù)同步怎么解決?”“內(nèi)存瓶頸考慮了嗎?”
我對他的問題,一一做出回答。
聽完我的回答后,導(dǎo)師靠回椅子,沉默了片刻。然后,他做出了一個決定性的表態(tài)。
“嗯……我明白了。你的想法很大膽,軟件架構(gòu),還有領(lǐng)域編程語言也有點意思。之前我擔(dān)心你是在胡鬧,現(xiàn)在看來,你是在下苦功,而且方向……是有一條獨特的路徑的?!?/p>
“好,我同意你可以繼續(xù)按你的思路做下去?!?/p>
“但是,”導(dǎo)師敲了敲桌子
“從今天起,你這個項目,不能只有一個‘最終成品’的目標(biāo)。你要把整個開發(fā)過程,拆解成一個個可以量化的里程碑?!?/p>
“你要發(fā)論文,明白嗎?”
“你要發(fā)論文,明白嗎?”
“你要發(fā)論文,明白嗎?”
導(dǎo)師講了三遍。
“比如,就是把你剛才說的Python驗證模型的核心思想,寫成一篇算法短文。第二個里程碑,GPU加速后的性能對比分析,就是一篇完整的期刊論文的素材。”
這樣,就算最后你的系統(tǒng)沒達到完美預(yù)期,但過程中的每一個創(chuàng)新點,都已經(jīng)轉(zhuǎn)化成了實實在在的學(xué)術(shù)成果。你明白我的意思嗎?”
我表示肯定,點了點頭。
老師專門把我叫到辦公室,強調(diào)了發(fā)論文的重要性。就算再傻,我都明白論文對老師非常重要。我再也不想把跟老師的關(guān)系搞這么僵了。我想應(yīng)該做到兩點:第一,這些論文應(yīng)該盡快發(fā)出來;第二,每隔一段時間跟老師匯報,讓他不要那么心慌。
...
于是十二月份和次年一月份,我著手學(xué)CUDA,并實現(xiàn)這個想法。
我擅長軟件架構(gòu)。但是,我對于GPU編程,對于GPU并行計算(CUDA)的理解非常淺薄。第一個版本寫得漏洞百出,甚至因為內(nèi)存管理不當(dāng)導(dǎo)致系統(tǒng)崩潰多次。我不得不需要經(jīng)常使用deepseek、到處查資料、來解決我的問題。
學(xué)習(xí)累了,我就開始寫之前導(dǎo)師提到的論文。時不時和導(dǎo)師匯報一下進展。先發(fā)幾篇論文確??梢援厴I(yè)。
臨近過年,我的導(dǎo)師忽然說要請我們整個課題組的同學(xué)吃飯。我們找了個飯館。在餐桌上,導(dǎo)師拿起酒,依次敬了每個課題組的同學(xué),也包括我。導(dǎo)師說,我們這段時間科研辛苦了。
過年期間,我開開心心地回了老家。因為,我覺得我把所有坑和技術(shù)難題都踩完了。我快接近半年沒見到母親了。我設(shè)想,過年回家的場景應(yīng)該是母慈子孝的?;氐郊液?,我母親看著我,第一句話就是,你這個研究生什么時候可以讀完?我的心情直接降到了冰點,在課題組意外地獲得了一絲表面的溫暖,瞬間煙消云散。因為她說這話,我心里很清楚,她就是想我快點把研究生讀完,然后趕緊出來掙錢。
為了實現(xiàn)我心中的技術(shù)夢想,我?guī)缀醢褲摿Ρ频角八从械母叨龋砸粋€月為步調(diào),盡可能吸收幾乎是一個團隊所需要的知識,但換來的卻是身邊人的打擊與嘲諷。
過年的時候,我給導(dǎo)師發(fā)了拜年短信。導(dǎo)師回復(fù)我一個拜年的表情包。導(dǎo)師說,過年就好好休息吧。
二月份,我感覺自己真的撐不住了,直接“擺爛”了一個月。二月份正值元宵節(jié),我給自己放了一個“大元宵節(jié)”的假期。我看到代碼就想吐。(擺爛,還有一個原因:所有坑都踩完了,我知道自己一定能做出來)。二月份幾乎沒有什么工作。唯一的工作,我想就是寫論文吧。相比于寫代碼,寫論文顯得“簡單”。寫論文不用付出太大的腦力活動。相比于寫代碼,寫論文會輕松很多。寫點matlab代碼,繪制一些圖表。把創(chuàng)新點、實驗過程、項目過程寫下來。我自己先審核幾遍。然后我先讓AI幫我審核多次,最后由導(dǎo)師來幫我審核把關(guān)。
長達一個月的休息,使得我渴望“出?!?,渴望“戰(zhàn)斗”?。?!三月份,我徹底“沸騰”了。我士氣高漲!我開始著手縫合我之前寫好的各種模塊。我熟練使用各種編程概念:接口,抽象類,泛型,多重繼承,繼承鏈設(shè)計,靈活使用設(shè)計模式。單例模式。引擎端,UI端分離。各種數(shù)據(jù)結(jié)構(gòu)。我仿佛重新回到了人生中,第一次摸到電腦的那一個下午。我感覺我和電腦,“人機合一”。
簡單來說,研二那年,我?guī)缀跏且粋€人埋頭苦干,手寫了近兩萬四千行C++代碼,構(gòu)建了一個實時信號處理和控制系統(tǒng)。為了應(yīng)對巨大的計算量,我甚至用了CUDA調(diào)用GPU來加速。
6月份,研二下學(xué)期快結(jié)束的一個下午,我向?qū)熝菔玖宋业南到y(tǒng)。他翻看我井井有條的代碼,聽我講解如何用GPU并行計算。導(dǎo)師戴著MR眼鏡,手指在空中操控著仿真模型,沉默了一會。他摘下眼鏡,沒有看我,而是盯著屏幕上的代碼,喃喃道:“你這個架構(gòu)……確實解決了實時性的問題?!?他沒有表揚我,而是連續(xù)問了幾個非常尖銳的技術(shù)問題,關(guān)于邊界條件和擴展性。我們的交流,第一次完全脫離了情緒,回到了純粹的技術(shù)層面。我明白,我贏得了他的“技術(shù)尊重”,但這不代表他喜歡我這個人。
研二期末,成績排名出來,我排在第二。排第一的,是那個最聽話、執(zhí)行能力最強的同學(xué)。下午午睡完,看著成績排名,宿舍室友聊天時唏噓道:“看來老師還是更喜歡執(zhí)行者,不鼓勵高風(fēng)險創(chuàng)新?!蔽倚睦锩靼?,確實是這樣。
隨后,聽著室友的話,我漸漸回過味來。我覺得我太大“ego”了。我被我的心氣,遮蔽了。我想,導(dǎo)師需要的是穩(wěn)定、可預(yù)期的產(chǎn)出。比如說論文、專利。但是我的方法,我的路徑是高風(fēng)險、高投入的“豪賭”。我要手寫一個仿真軟件,成功率有多高?萬一失敗了怎么辦?在導(dǎo)師眼里,很可能低于10%。這意味著,他投入一個學(xué)生三年的時間和課題資源,有超過90%的概率血本無歸:沒有論文,沒有專利,只有一個無法畢業(yè)的學(xué)生和一個爛尾的項目。
而且,后果他無法承擔(dān):如果我失敗了,畢不了業(yè),對他也是嚴(yán)重的教學(xué)事故。這會損害他的聲譽,影響他后續(xù)招生,甚至?xí)粚W(xué)院問責(zé)。他的首要任務(wù),是確保我能“安全”畢業(yè)。我的創(chuàng)新,在他看來,是以我和他共同的職業(yè)生涯為賭注。
我真是,滿血版愣頭青啊?。?!
聰明地很傻。
不會做人...
如果我懂得管理導(dǎo)師的預(yù)期,如果我懂得向上管理。我很可能就可以不用過的那么慘...
后來,憑借這個自研的仿真軟件項目,我一口氣申請了四篇發(fā)明專利,一篇實用新型專利。導(dǎo)師看到申報材料后,沉默了片刻,第一次用平靜的、就事論事的語氣對我說:“你這一個仿真軟件很完整了。你現(xiàn)在把這些創(chuàng)新點拆開,我們可以發(fā)一系列文章。我來安排評審?!?/p>
在導(dǎo)師的指導(dǎo)下,我們將這一個仿真軟件拆分為好幾篇論文。導(dǎo)師動用關(guān)系加速論文的評審與發(fā)表。導(dǎo)師對我的態(tài)度緩和了許多,不再說難聽的話了。我第一次在導(dǎo)師臉上,看見了...笑容。
進入研三,我一共花了6個月的時間來寫各種論文。由于之前搞項目已經(jīng)很累了。我徹底進入了“養(yǎng)老模式”。我不急於動筆,而是先花幾周時間研讀目標(biāo)期刊上近期文章的寫作風(fēng)格、實驗設(shè)計和理論深度。然后,當(dāng)?shù)谝黄撐某醺逋瓿刹⑦M入修改或投稿階段后,我開始并行地開始撰寫第二篇論文(科學(xué)發(fā)現(xiàn))和第三篇論文(軟件平臺)...
之后,就是應(yīng)對審稿意見、以及最終定稿,然后就是心無旁騖地撰寫我的碩士學(xué)位論文。
我這種磨洋工的樣子,導(dǎo)師還是看出來了。他可能覺得我太閑了,就開始從外面接一些零零碎碎的小項目回來。有一次,他把我叫過去,指著電腦上一個廠家的需求說:“這個你跟進一下,技術(shù)含量不高,你抽空弄弄就行?!?/p>
我一看就知道,那活兒沒什么技術(shù)挑戰(zhàn),就是些重復(fù)性的東西。我心里跟明鏡似的,這哪是真的需要我,分明是看我沒事干,給我找點事,提醒我還在他手底下。我當(dāng)時嘴上答應(yīng)著“行,老師,我看看”,但心里早就想好了:我就按最普通、最不出錯的方法慢慢做,絕對不投入任何額外精力。我的全部心思,都在我自己的論文和畢業(yè)上,那才是我自己的事。
導(dǎo)師安排一位師妹協(xié)助我,說是幫我分擔(dān)工作,讓我能更專注于畢業(yè)。我當(dāng)時相信了這個說法,完全沒想過,導(dǎo)師可能是希望把我的技術(shù)留在課題組。如此一來,我的日常便被分割成三塊:撰寫畢業(yè)論文、處理導(dǎo)師派的雜活,以及抽時間培訓(xùn)師妹。導(dǎo)師既然這么安排,我想也就好好做這件事情。一方面是為了討好導(dǎo)師,另一方面也是為了不要跟課題組的其他同學(xué)關(guān)系搞得那么僵。
我最初的計劃相當(dāng)緊湊,準(zhǔn)備每天固定一個半小時,將時間均分給Unity3D、Matlab和Python三個部分。當(dāng)我把這個雄心勃勃的教學(xué)方案告訴deepseek時,人工智能deepseek直言這對于一個研一新生來說簡直是“噩夢”。deepseek的回答,像一盆冷水澆醒了我。我開始反思自己的教學(xué)方法。對于一個初學(xué)者來說,我那種急于求成的方式確實太苛刻了。我意識到教學(xué)需要“循序漸進”,心急吃不了熱豆腐!畢竟還有半年才畢業(yè),我不必講得那么著急。
于是,我調(diào)整了教學(xué)策略。我計劃把講課速度放慢了。第一個月只講Python和Unity 3D的基本使用,第二個月才簡單介紹軟件的操作流程。我告訴自己:她不需要理解軟件的設(shè)計原理,但至少要會使用。于是我重點教她標(biāo)準(zhǔn)操作流程SOP,比如如何新增一種自定義的風(fēng)機類型,代碼寫在哪里,在哪里注冊。
一開始見面的時候,我能明顯感覺到師妹的抵觸情緒。她似乎有點怕我,甚至討厭我。而且我感覺她自己也并不投入。有一次我們約在第二飯?zhí)脤樱挛缢狞c,我打電話過去,她聲音含糊,明顯還沒睡醒。我催她快點過來,她匆匆趕到時還戴著口罩,眼角還留著沒擦掉的眼屎。我們就那樣開始講課、對接系統(tǒng)。
由于我是職業(yè)教育師范專業(yè)出身,導(dǎo)師交給我的教學(xué)任務(wù)極大點燃了我的教學(xué)熱情。我覺得當(dāng)老師也是一個很有趣的事情。我是在構(gòu)建一個我“自研”的教學(xué)體系。教學(xué)是另外一個非常有意思的研究課題,我把很多教學(xué)技法都融入了我的“課程”中。比如ADDIE、布魯姆目標(biāo)分類,以學(xué)生為中心等等。上課前我會把要講的知識點規(guī)劃好,寫為教案。在上課之前,我會提前把教學(xué)大綱發(fā)給學(xué)生,讓她了解下一節(jié)課要講什么。課上我會按部就班,精準(zhǔn)地講述每個知識點。
我甚至參照普林斯頓大學(xué)微積分讀本和托馬斯微積分的教學(xué)方法,每次只講一個小知識點,從不同角度反復(fù)闡釋。這樣做之后,師妹確實開心了不少,她說教學(xué)效果好了很多,雖然忍不住吐槽我“太啰嗦”。她說其實理論會用就可以了。她捂著嘴笑,表示我完全就是“機器人”。當(dāng)我問她是否學(xué)明白了時,她給出了肯定的答復(fù)。
我發(fā)現(xiàn)她對軟件的興趣主要集中在實操層面——只要按步驟點幾下就能得出結(jié)果。至于背后的原理,她并不想深究。這種專注雖然局限,但至少保證了基本的使用能力。
有時我會想,我期望的是,師妹學(xué)會的是“創(chuàng)造能力”。但導(dǎo)師和師妹潛意識里期待的“學(xué)會”,其實是:能熟練操作我留下的系統(tǒng),跑出數(shù)據(jù),完成論文和項目。這才是對課題組生存最“安全”的。師妹對原理的排斥,恰恰是這種“安全模式”下的最優(yōu)解:用最小成本,獲得最大效用。她和導(dǎo)師,本質(zhì)是一類人。
到我快畢業(yè)時,我問她,系統(tǒng)差不多會用了沒?她說應(yīng)該可以了。我又問了一個簡單的問題:系統(tǒng)里的Node繼承樹是怎樣的?基類是BaseNode,然后有哪些子類?她磕磕絆絆答出來了。師妹在我面前舉起手,說她其實,軟件使用,以及軟件架構(gòu)是大概理解的原理的,就是細(xì)節(jié)實在是...無能為力。
研究生畢業(yè),導(dǎo)師最后一次叫我去他辦公室。他簡要地跟我聊起,他年輕時的往事,說在九幾年,他跟著一位電網(wǎng)的老局長做項目。老局長對他們說,科研人員就是要跟著國家計劃,幫助國家搞建設(shè)。
說完,他從書架的頂層取出一本舊書,書脊已經(jīng)磨損,紙張泛黃。那是他當(dāng)年讀研時用的《電力系統(tǒng)暫態(tài)分析》。他翻開扉頁,上面有他年輕時工整的筆記和日期。
“這本書我留了二十年,里面的筆記現(xiàn)在看可能過時了,但解決問題的思路沒變?!彼麑f給我,“這本書你拿去吧。以后遇到基礎(chǔ)理論的問題,翻一翻,或許能看到另一種思路。”最后,導(dǎo)師祝我,前程似錦。
他一路送我到校門口。我拿著那本沉甸甸的書走進站里,回頭還能看見他站在那。書的重量和舊紙的氣味握在手中,我忽然明白了,什么叫做一代人有一代人的路。