精明的程式設計師 愛學習

2021-06-06 22:13:39 字數 1838 閱讀 7412

先說說我的大學經歷吧:一二年級打基礎,三年級開始做了第乙個大專案,四年級就實習了。要說哪個階段收穫多,什麼時間進步少,其實感覺每個階段收穫都很多。

上學的期間一定要把基礎打紮實,有很多知識看似眼前沒有什麼實際用處,其實不然。

剛上大學的時候,覺得所有必修課裡,數學最難,於是下定決心把數學搞好。整整一年的時間,幾乎每天一有時間就埋頭自習室做數學題。煩躁的時候會疑惑,自己的專業是軟體,可為什麼要這麼拼命去學數學,當時也想不明白,但是是必修課啊,考不好就沒有獎學金了(其他計算機類的課程沒有畫太多功夫,反而成績都不錯),於是繼續拼命地學,最終終於保持在90分之上。到了大三做的那乙個三維重建的專案,發現裡面大量用到了各種矩陣空間轉換的知識。真是非常感激自己當年好好學了線性代數。如若不然,為了應用很多必要的數學原理,或是為了看懂人家**裡面的公式和術語,又要重新拿著書本去啃了。

我經常對自己說,基礎越深,行的越遠。有人說動手能力很重要,沒錯,常常看到一些同學剛學會乙個語言就能編出乙個完整的程式。但是後來發現,這些所謂的「geek」們工作時仍然是在靠體力吃飯。這樣的人在程式設計師這個行列裡,實在是數不勝數。如何能跳出這個體力勞動圈子,我覺得,關鍵就是看乙個人的基礎是不是夠深厚。就像武俠**裡,那些男主們不是偶遇大牛真傳,就是吃了奇奇怪怪的毒蛇**,導致內力深厚卻不會什麼招式。與之相反,反派往往都是拿到一本劍譜就去苦練的人,就會欺負些二流角色,最後與男主的對決中總是被ko得一敗塗地。

做專案的時候,或是實習的時候,感覺單純學習的時間變得及其少。有個和我一組的同學,專案之餘,經常還會去自習室自習,讓我很是佩服。因為我認識的大部分開始接觸專案的同學,泡自習室的時間大打折扣,完全是換了一種生活方式。加之「老闆」們要催進度,或是專案有期限,很難擠出時間來學習。後來去實習了,連自習室這樣的環境都消失了,看書的時間明顯變少。

我很害怕,自己在忙碌中會停止進步,但是我發現沒有,我感覺自己大三大四兩年的收穫並不比之前少。從這兩年一邊幹活一邊學的過程裡,積累了不少經驗。可以拿來分享一番。

現在回想,做三維重建的大半年年時間裡,我讀了有幾百篇*****!為了改進乙個小小的演算法,就要讀十幾篇甚至幾十篇。當時我還是本科,讀的*****大都是研究生們的著作,剛開始還是在「拜讀」,後來就能分得清良莠,知道那些是抄襲,那些是原創。看了人家的乙個想法,自己去實現一下,就可以驗證他的資料是真實的還是杜撰的。我覺得在這個過程裡,進步會非常快。一般讀幾十篇,基本就可以掌握乙個領域比較核心的知識。當然,這個方法有侷限性,與專案密切相關。就像後來在北大軟體學院做的android應用,這樣的專案,就不太適用了。

開發多的時候,在實現或者設計的時候,就會遇到工程性而非學術性的問題。甚至對某一門語言是否能靈活駕馭,就會馬上表現出來。這時,我就愛上了部落格。看別人的技術部落格對自己提高很大的。另外,有些問題,用搜尋引擎是不容易搜出來的。比如,像定義乙個像printf這樣的函式,可是還不知道variable-argument這個詞;或者,在shell裡$* $# 神馬的都是什麼意思。遇到這些問題,最終一定是搜到某一篇帖子裡得到答案的。這種方法積累知識的速度很快。缺點是不像讀書一樣,能夠建立乙個完整而紮實的知識系統。

還有很多小技巧。請教別人顯然就是乙個不錯的方法,如果堅持讀一些比較經典的書籍那是最好不過了,至於哪些書籍是經典的,還是建議先去請教別人,否則你可能會在「深入前出***」或者「21天學會***」上面浪費很多時間。我還經常列印一些主題,大概有一兩頁那麼多,坐一次地鐵的時候就看乙個主題,否則感覺好多時間會浪費在路上,及其心疼。

不論是工作了,還是在上學,要想進步,就必須好好學習,作為前提,必須保持著愛學習的心態。有人說工作忙,「忙」拆開來就是「心亡」二字,無論要做的事情再多,人再忙,心一定不能忙,要冷靜地從每一件事中學習可以學習的東西,這樣你做的事情越多,能學到的就越多,進步也就越大。學而不思則罔,切不可無謂的重複,停止思考而是用身體去記憶。不然,就真的成了「**工」了。

精明的程式設計師 表象之後

小郭寫程式,寫了幾十個檔案的源 當他開始測試的時候,發現執行的結果不正確,於是他踏上了艱難的debug之路。他想 一定是哪個地方有問題 但是,他一遍又一遍審查著每乙個原始檔,每乙個函式,都不能找出問題。在調了兩天之後,終於找到了乙個bug。原來是這裡寫錯了!小郭非常興奮,因為艱難的debug終於獲得...

精明的程式設計師 程式設計師的三個技能

直接開始說,先說是什麼 1.程式設計能力 這條淺顯易懂啦。學生都知道,老師布置乙個大作業,分組,分工,開始,到完成。最後總會發現這樣乙個作業總是由乙個叫做 大腿 的同學一手包攬,從設計到coding再到測試。這種做 大腿 的能力,就是我說的程式設計能力啦。如何能寫出好的 便於維護,又能適應需求的變化...

程式設計師不能一直停留在愛學習的階段

今天在人人都是產品經理的上,看到一篇文章 乙個創業程式設計師的35歲人生總結 下 其實也道出了我曾經作為技術人員,各種失敗的嘗試。下面是一種的一段引用,我非常認可 先說技術,技術是我死磕時間最長的技能。最早在大學選擇flash,完全是出於愛好,當時別說我,全世界估計也沒幾個人能 到僅僅兩年後,fla...