2011年4月21日星期四

有理想的程式師必須知道的15件事

作為程式師,要取得非凡成就需要記住的15件事。
1、走一條不一樣的路
在有利於自己的市場中競爭,如果你滿足於“泯然眾人矣”,那恐怕就得跟那些低工資國家的程式師們同場競技了。
2、瞭解自己的公司
以我在醫院、諮詢公司、物流企業以及大技術公司工作的經驗來看,這一點所言不虛。

不同公司的運營模式差異極大。如果你理解企業的運營模式,那你就不一樣了!在這家公司中(或者對客戶而言),你是參與業務運營的資產,你的工作能直接產生效益!

3、與最優秀的人為伍
很早以前,我喜歡打籃球,被分配到一個水準比較高的隊裡。一開始適應的確很困難,但環境的壓力越大(重大比賽),我的長進也就越明顯。

每個領域其實都一樣:你周圍人的水準(以及對你的期望)越高,你就會變得越優秀。

4、製造差異
每年學習一門新程式設計語言。為什麼不呢?不斷嘗試新事物,你關注的技術種類越多,腳下的路就越寬廣,你的職業生涯就會日新月異。不知道幾年後Java的趨勢如何?那就學習Clojure。學Ruby還是Python?這兩種語言都可以試試啊。然後你才能知道哪種語言更適合某個特定的項目。看,掌握的語言多了,才能在需要的時候信手拈來吧。

5、畏懼,是最大的敵人
還是直接從書中摘一句吧:“在畏懼中做出的職業規劃,很可能會讓自己後半輩子就一直被‘圈禁’在小隔斷裡,永遠不會有創造明天輝煌的時刻。沒錯,那樣是安全,但有意思嗎?”

6、要成為多面手
如果你掌握了所在領域的知識,那你只能是一名專業人士。用PHP程式設計?花點時間設置一台Apache伺服器,讓PHP和MySQL都跑起來。一直在用jQuery?試試Prototype。你懂了吧。

7、一個字:做
別指望別人過來教你該怎麼做,出去,自己學著去做!

8、找一位好老師
找一位好老師可以讓你在學習技術的時候有的放矢。作者給我們講述了別人是怎麼指導他學習的(順便說一句,作者在這本書裡講了很多個人經歷的小故事,他居然從一位演奏家轉行來做軟體發展!):“好好研究一下目錄服務,熟悉一種UNIX變體,然後再掌握一門指令碼語言。”

請記住這句禪宗諺語:“循路覓宗師,形影不相離,師知吾亦知,吾乃成宗師。”

9、主動教會別人
教會別人是一種最好的學習方式。寫一篇博客能幫你搞清楚一個問題。為此,你必須先掌握很多材料,同時還要有條有理地講給別人聽(寫作技能)。如書中所言:“要想知道自己是不是真的明白,你就講給別人聽聽。”

10、實踐,實踐,再實踐(訓練)
只有進行大量實踐(花大量的時間)才能掌握某種技術。看的很多,寫的很少,遇到問題,改一改,又去讀代碼,……(這樣下去是不行的)。

要特別警惕拖延症。其實,往往只要有了開頭就好辦了。

自我加壓,效果會更好。我曾在一篇博客中提到帕金森定律:緊張的時限可以讓你提高工作效率。為什麼不把這個定律用到學習上呢,比如說在y時間內學會x?

11、從小處入手
每天都取得一項小成果,每天都要堅持做(寫在博客上?)。這樣一來,你只能讓自己比昨天更進步,而不能說自己比上星期進步了一點。

12、享受過程
關注當下,而不是目標,享受那些在追逐未來目標的途中可能無暇顧及的小勝利。人總要生活在當下。我享受程式設計的過程,就像享受程式設計的結果一樣。

13、不要喪失危機感
越是成功,就越容易犯重大錯誤。永遠不要忘了危機感,特別是要認識到你今天所知道的,到了明天可能就會一文不值。過去的榮耀不能保你永遠無虞。

據書中所說,你最好是要讓自己能夠“通用”,而不要對哪種技術或哪個公司產生依賴。你所掌握的某些技能,甚至你的工作,到了明天都可能會變得毫無價值。因此要不斷提高/豐富/擴展自己的技能。

14、推銷自己
為某個項目貢獻自己的一份力量,寫一篇博客,共用自己的原始程式碼,成為對某個社區有用的人。
當然,做這些事可能需要激情,要看你的愛好,但這些事也會間接地推廣你的工作成果,證明你的實力,提高你的知名度。

15、關注市場
書中還提到了“預警極客”,也就是那些始終引領技術發展的人。這些人說過的話往往帶有預見性,他們提到事物也許過幾天就會成為頭條新聞。關注這些人,常看他們的Twitter和博客。

沒有留言: