程序員的九陽真經
1. 不要為過去買單
不要活在過去,今天才是最最重要的,明天更重要。
不要彌補過去,那樣會錯過今天和明天,更會把自己迷失在過去的陰影中,會造成總是犯錯,又總是為過去改過,于是生活在一個怪圈之中。
2. 量化目標,把目標具體化
千萬別把一些:掌握,熟悉,高級,專家等一些非常抽象的標準作為你的目標,仔細想一想:什么叫掌握,什么叫熟悉, 什么叫高級什么又叫專家呢? 這些東西不同的人會有不同的理解。
要用具體的,實際的,可測量的量化目標,比如今年年終時存款達到什么樣的數目; 再如明年的月薪達到什么樣的水平;今年讀幾本書; 今年寫多少篇博客;這個月做一個應用程序;參加幾次社區活動;每周發貼數不少于10條等等。
這些具體的量化目標非常之明確,你能否達到,以及你與目標之間的距離也非常之明確,所以實踐起來更容易。
3. 不要做太長遠的計劃
如上一條所說,千萬別做太長遠的計劃,最好別超過5年。 現令世界變化太快,人生的變數也很多,說句老實話凡人看不到太遠的未來。
其實就連喬布斯,蓋茨等人也沒有超過三年之后的詳細計劃。 當然,我們要有夢想和想做的事,但是詳細的計劃最好別超過三年,否則等三年之后你會發現那些當初的計劃非常好笑。
4. 關注過去,還是著眼未來
這是面試時要考慮的事情。
在面試的時候面試官總是不厭其煩的問:你做過什么項目,你解過的有成就感的問題是啥,你學過什么技術,你看過什么書,你解過什么Bug等等。 但是我們需要的人是能解決未來的問題,能做好未來的項目,但是未來會遇到哪些問題,誰也沒知道。
喬幫主和蘋果的團隊的創新能力無人能及,他們創造出了很多的改變了世界的偉大產品, 他們的產品領先于世界至少5年,但你問他們未來5年的手機會是什么樣子?他們也不知道。 偉大的產品都是要經過長期的摸索,試驗,克服數個困難才會形成的,而不是一下子就能想到的。
這其中更為重要的因素是棄而不舍的努力和不斷嘗試的勇氣, 想做偉大產品的決心和敢為天下先的魄力,跟過去做過什么,跟過去解決過什么問題,其實不太相干。
5. 定期清空杯子
如果杯子滿了,就再難裝入新鮮的水。 很多時候,感覺不再有激情了,感覺乏味了,感覺沒有新鮮感了,感覺不想看書了。
這個時候就需要清空杯子,把自己當成一個小孩子,當成一個學生,當成一個剛畢業的孩子, 當成什么都不懂的人,從頭來過,從新開始學習。 會有意想不到的收獲。
另外就是,當找不到問題的突破口時,也需要抹到一切線索和思路,從新再次分析問題。 就好比解數學題一樣,如果亂了,解不下去了,就要忘掉先前的思路,休息一下,然后重新審題, 重新思考,回歸基本,之后便會有新的思路出來,沒準就會找到突破口。
這還有一個好處就是可以保證你不會走偏,因為很多時候由于沒把問題搞清楚,加之心急,導致思路混亂,偏離了真正的問題,于是越來越亂。 這時就需要停下來,重新理清問題,重新思考。
6. 個人僅做小項目,對于團隊大項目,只能參與開源項目
我們的大問題也是缺少項目經驗,但是個人的力量單薄,時間有限,只能完成小項目,甚至是幾百行,幾十行的小程序。
對于團隊協作方面,只能參與開源項目,或者參與社區。
7. 給任何項目(任務)一個時限
就像編程比賽那樣,給每個項目一個時限,有壓力才會有動力,這樣才能讓自己進步。
幾個小時完成一個小工具,幾天完成一個小應用等等,像ACM或者編程馬拉松,或者開放編程比賽那樣, 二三天內做出一個應用,這樣會有成就感,更會學到很多。
8. 參與Topcoder,ACM/OJ等
參與Topcoder,ACM/OJ等,保持算法,分析問題和解決問題的能力。
9. 定期檢查自己
像學生時代的考試一樣,定期的來個面試,或者與老朋友暢談,以回顧和檢查過去這一段時間或一年的得與失和生活的收獲。
特別是對于經驗和技能被看重的IT行業,定期檢查尤為重要。
建議至少一年內要進行一次或幾次面試,通過面試,你能從一個側面知道自己的進步與不足之處,便能知道下一步該如何去做。
更重要的要,通過面試,你能知道自己的不足之處,與理想職位之間的差距,和要努力的方向。