優秀的程序員在學習方法上有哪些奇技淫巧?

如題


寫代碼多問問為什麼,讀書不能光讀,要實踐。


目前的經驗是:

只有沒有人打擾的情況下,你才能學習新的東西。

有的人喜歡半夜2點過後,有的人喜歡凌晨6點開始。心無旁騖,無人打擾才是效率的最大保證。


謝邀,所謂的優秀的程序員我們先將其假定為在工作崗位上取得一定成就,或有自己著作、知名項目的程序員。

這類人之所以能達到一定的高度,其主要原因很簡單,無非就是「堅持」兩個字,有的人可能要持不同觀點,認為自己已經堅持4~5年了,仍然無什麼建樹。但實際上是這類人堅持的仍然不夠,大牛可以堅持每天研究技術不少於6小時,並以此強度堅持研究10年,而菜鳥往往是前幾天可以每天研究12小時,後幾天每天研究4~5小時,在往後恐怕每天連1小時都研究不上了。如果是這樣,你日均研究技術30分鐘,持續5年,人家則是日均研究技術6小時,持續10年,總時間花費程度是你的20餘倍,試問你怎麼可能跟人家比高低呢?

那麼問題來了,如何才能很好地做到堅持呢?以個人的經驗來看,我認為主要是從以下三個角度去保障:

1. 足夠的動力

一定要明白自己當前做的事的目的是什麼,哪怕一個最簡單的目的,哪怕這個目的在別人看來多弱智,不用去理他,只要你自己認為這個目的更夠給你帶來足夠的動力,那麼就肆意的讓他去驅動你做事。

要記住,足夠的動力是確保你能堅持下去的最主要因素。由於慾望的缺乏等原因會導致你動力不足,動力不足直接又會導致你難以堅持,再往後深入發展就是你會感覺自己整個人的執行力會崩塌式下降,最後整個人都會萎靡不振。因此,一個人的執行力乃至精神狀態如何,其根本就在於你的動力是否強勁或產生動力的慾望是否牢固,這是我仔細觀察近100名信息安全愛好者學習過程的出來的結論。

2. 足夠的時間

人非聖賢,我們都不會分身,你需要知道自己的時間是有多麼的寶貴,特別是對於有了事業及家庭的人來說,如果先要保證自己能夠扮演好人生中的若干角色,是需要你花費大量時間的。如果你對自己的時間沒有一個合理的規劃,到了公司就拿全部時間處理事務性問題、遇到新項目就拿寶貴的業餘時間加班、回到家就整夜陪老婆看電視嘮嗑、放了假就整日陪家人出遊或陪孩子瞎胡鬧,那你將被你的生活所綁架。

年齡越大,安排出時間學習技術就越不容易,個人精力問題會導致你每天的可用時間逐漸變少,如果你沒有一個科學且嚴格的時間表,那麼結局不是你無法保證足夠的時間學習技術,就是扮演不好你人生中的角色

請記住,每個技術大牛之所以牛,不是簡單的在技術上花費了更多時間那麼容易,而是因為他們製造出了更多的時間,或是為技術犧牲了一些常人所不願意犧牲的東西

3. 螺旋式上升

幹什麼事都有一個人盡皆知的道理「不要試圖一口吃成一個胖子」,其實還有一個更重要的道理沒人重視,那就是更要「會吃」。胖子們往往都是一群很會吃的人,他們不會一次就吃完一整隻燒雞,而是燒雞吃膩了就去吃點斑魚,斑魚吃膩了就去吃點香橙。他們東吃一些、西吃一些,巧妙地使用不同的食物刺激自己的味蕾,最後一頓飯就吃下了你一天都吃不了的東西。

我們學習技術也是這樣,要學會螺旋式上升、迭代式提高,我們以學習軟體安全為例,第一步需要做的就是C語言能寫幾十行的小程序,認識最常用的彙編指令,並會調試器的基本操作即可。只要你達到這一步,就可嘗試著去破解一些最簡單的小程序了,就可以看懂一些最初級的破解文章了,這些實操所帶給你的成就感是不容小覷的。但是如果反過來,一上手就要把C語言學通學會,這樣做雖然效率上是最高的,但是相對比前者來說,所花的時間過多不說,他所能帶給你的成就感與你為之所付出的代價是不成正比的,這樣就會極易導致你的熱情過度損耗,最後動力不足,難以為繼。

最後,我想表達的是「編程的提高沒有銀彈」,希望我的答案對你有所幫助,歡迎關注我的博客 http://a1pass.blog.163.com


左手代碼右手擼

匿了


不喜歡的不學


無他,唯手熟爾


推薦閱讀:

錯題本是用來看還是用來做?
如何學習才會不再似懂非懂?
最近發現自己學習變的懶惰了,越來越懶,沒有了衝勁,應該怎樣改變自己呢?
如何學好有機化學?有什麼好的教材嗎?
頭天通宵複習第二天早上的考試,能否提高效率?

TAG:互聯網 | 程序員 | 編程 | 學習方法 | Windows開發 |