1. 程式人生 > >我的軟體修習之路(二)———柳暗花明

我的軟體修習之路(二)———柳暗花明

離開了本科校園,2010年9月新的旅程開始了。剛進入研究生階段,一切都很新奇,自己選課,自己安排時間。導師徐老師也非常開明,研一讓我們儘可能學好研究生階段的課程,並沒有安排很多的研究任務。正是有這一年的時間,讓我想清楚了很多問題,也讓我研究生三年的時間沒有白白浪費。

徐老師非常看重數學,直到現在我還記得老師當時的教誨。大學階段最有用的課程可能就是數學,當你工作時間越長,越會發現數學的強大。對照上現在的自己,能夠無障礙的學習各種技術和知識,的確歸功於當時對數學的學習,無論從加強思想還有對技術的理解,數學都有著無可替代的作用。

基於這個原因,老師要求我們有能力的情況下儘可能多的選擇數學課程,研一我選修了數值演算法,數理統計,矩陣分析等課程,當中的程式設計題目大多是矩陣運算,當時Python還不是非常知名,因此選擇使用matlab,有些課程考試有程式設計實踐的內容,本可以參考以前師兄師姐們的作品,但是我並沒有這樣,我珍惜每一次機械學習過程中的程式設計機會,連著一週,我每天晚上寫程式碼到很晚,資料只有教材,看著教材的演算法推導實現自己的程式碼。最後印象最深的是矩陣分析考試,筆試滿分,程式設計實踐被扣了1分,錯失滿分,不過我並沒有懊惱,自己實踐了,這就足夠了。

在研一的學習過程中,我越來越清楚自己對程式設計的愛好有多強烈,也和老師溝通過很多次,我希望可以從事機械中和程式設計相關的研究課題,老師本來的安排應該是會讓我從事機械設計或者機械控制方面的課題,最終給我機會,讓我從事了嵌入式相關的課題。不僅如此,研一放暑假,還給我安排了一個預熱的專案——設計模擬電路,實現A/D和D/A轉換,說白了,就是讓我熟悉A/D,D/A以及51微控制器的使用等等。當時我使用Protel設計了模擬電路,之後編寫了C程式進行模擬。想到這些,我想和老師說一句對不起,學生的執拗也給您添了不少麻煩,但是非常感謝您的寬容,讓我從事了自己喜歡的工作,才有了現在的我。

經過研一的一年思考和學習,我看到了自己軟體上的不足,我明白了很多事情是要自己爭取的,我對自己想要的更加清晰了,最重要的,我明白了自己該怎麼做。以我當時的水品,我無法和科班的軟院畢業生競爭就業崗位,和本校985軟院的研究生競爭更不用考慮了。問題在哪裡?我認為有兩個方面:專業基礎課和實踐的機會。實踐的機會在教研室做課題就能夠滿足,而且我想把專案做成什麼樣子都可以,想嘗試什麼技術也由自己選擇,這個問題能夠解決。最大的問題就是專業基礎課,我的本科四年交給了機械,但是科班生交給了軟體。所以我的決定是,將自己的機械專業基礎課清空,大腦騰地方給軟體的專業基礎課,自己買書學習,研二一年補齊科班四年的課程,然後研三去實踐。(也曾考慮過報培訓班,但是我覺得不紮實,我不希望自己做的東西有自己沒把握的地方,這或許就是機械的嚴謹思維)

現在回憶這個決定,的確有些輕狂,實際最終的結果是機械的專業基礎課內容都忘了,但是機械的思想和理念都在,不斷影響著我,機械學習的數學,電子,控制等課程的內容,在嵌入式軟體中到處都會用到。實際上,現在我還是沒有跳出機械的手掌心,隨著軟體乾的越來越多,自己懂一些硬體的優勢反而顯現出來,而且當自己想借助軟體作用於物質世界的時候,想自己做一個機構,總會後悔自己把機械拋棄的決定。但是,在那個時候,這個輕狂的決定至少讓我成功轉行了。

回到正題,研二開學我就買上了軟體專業的所有專業基礎課教材,包括數學,程式語言,演算法和資料結構,軟體工程,作業系統原理,計算機網路,資料庫等等,而且買的都是國外翻譯過來的知名教材,比如《演算法導論》,《深入理解計算機系統》等,深知本科有時候講課會跳過一些內容,而我為了保證知識的系統,每本書都從頭到尾看,至少兩遍,重點的三遍。還要安排程式設計實踐。為了培養寫程式碼的感覺(我後來將其稱為碼感,如果間隔幾天不寫幾行程式碼,再寫程式碼會覺得大腦僵硬,那就是碼感丟失了),每天至少要寫一到兩個小時的程式碼。為了課題,我買了一個ARM開發板,做嵌入式的不做ARM+Linux還是趕不上潮流的。這一年,我基本每天早上7點學習到晚上12點,很累,壓力也很大,但很充實。看著機械本專業同學研究生的愜意生活,再看看自己,也會有一些難以言說的感覺,當時自己心中只有兩個字:堅持。

研三就要準備畢業了,找工作,寫論文,這時候發現自己程式設計功底已經突飛猛進了,寫行程式碼信手拈來(Linux C/C++),也沒有什麼卡頓的感覺,我覺得找工作不成問題了,可是真正開始找工作,發現自己還是有差距,心目中的BAT完全沒有競爭機會。看著機械的同學一個個簽了三方(央企,國企,研究院),自己的三方乾乾淨淨,不免慌張,也曾向老師求助,希望找個機械的企業,做回機械,但是老師這個時候再一次鼓勵我,堅持自己的決定,先不要急著放棄。終於在11月,簽到了一家做安防監控的公司,屬於嵌入式行業,做的東西和自己的課題也很對口。研三畢業前還幫助老師做了一套系統的軟體架構和原型,我覺得我已經算是一個合格的軟體工程師了。

研究生三年在忙碌中過得很快,現在回想起來,實現了自己最大的目標,這個成果不容置疑。但是,三年本該在浪漫之都大連留下的快樂回憶卻不多,回想起來,頭腦中只有那山,那海,那校園和那些人,卻好像沒有我。不過人生本就如此,有舍有得,不該貪心,自己最大的心結解了,而且如願以償進入軟體行業,實現了愛好與工作的統一,我知足了。現在就希望就等孩子大些,帶上老婆孩子,回去再看看。

每個階段過去,我總會想這個階段對我最有幫助的人,研究生三年有三個人:徐老師——對我的生活和學業都給予了莫大的幫助;老婆——在我迷茫時不斷地告訴我堅持,覺得對的就去做;自己——從0開始靠自己的學習和努力走入自己喜歡的行業。

上班前,本以為自己可以靠自己的本事做些成就了,但是上班後發現,人外有人,天外有天,實踐中還有更多我要追求的思路和工作方法。