開發人員技術求精的十個步驟

來源:互聯網
上載者:User

From http://forum.eet-cn.com

這篇文章,是從我的《高效開發人員的五個特徵》一文中抽出的一個觀點。從我自身的事業和習慣中,我考慮了很多方式怎麼樣才能有效地學習。

  1. 要看書。在成千上萬的編程圖書中,可能很大一部分根本毫無用處。但是仍然有很多圖書對你的(編程)能力有很大的提升。我一直堅持,相比在網路上尋找很多有用資訊,在同類圖書中尋找要來得更容易更快捷。閱讀技術圖書可心更好地抓住核心內容。對於理論,架構和設計等方面來說,圖書也一樣很有協助。只不過要找到高品質的、權威的資訊,就不如網路上可供尋找的範圍廣。  2. 讀代碼。這也是我很喜歡的一種方式。如果我並沒有幾年的專業編程工作經驗,在學習之初我並不會去讀很多複雜的代碼。如果我要是早些開始學習,我將是一個比現在更好的程式員。但是,開始時我會從一些開源項目裡,去學習那些原始碼(當然,這些代碼不能與我的工作有關,也不是我自己寫的)。要從自己會使用到的,或者自己感興趣的程式開始這項工作。我是從 Paint.net 這個網站裡開始學習的,而且已經積累了很多關於 .NET
的編程技術。 讀別人的代碼可以為你提供更多不同的工作思路,這比你完全憑自己思考得到的工作方式要多。  3. 寫代碼。謹記,要寫大量的代碼。從根本上來講,最好的學習方法就是實踐。如果不寫代碼,你根本不能把(某種語言中)內在的東西學習透徹。學習之初,可以從一些技術指南和圖書中照搬一些盡量簡單的程式。當然,這種照搬是要自己完全手工輸入,而不是複製和粘貼,這兩種之間的效果差別是很大的。這種方法的主旨就在於,使知識內在化,並思考其用法,而不是盲目照抄。學習過程中,要時常尋找新的 API 呼叫方法,這其實是簡單的事情。 最重要的是,要寫一個你自己的程式,不管它是一個簡單的遊戲,或者是一個參與開源項目的程式,還是一個公為你自己使用的簡單外掛程式。用不同的方式來寫程式,盡量嘗試使用新的技術,新的技巧,新的設計方式。一定要讓現在的項目比以往的項目更好。想要成一個優秀的開發人員,這一點是核心。  4. 與其他開發人員交流。像 Apple,微軟,Google 等大公司一樣的新聞描述的一樣,(與其他開發人員交流)可以讓你解決一些複雜的問題。雖然這並不能讓你感覺到自己已經成一個團隊或是社區的成員,但是這種方法可以讓你接觸到更多不同的想法。 不同類型的項目要求不同的設計方法,代碼技術,開發流程和設計思想。如果你工作在一個小團隊裡,你不必與太多的人接觸,只要在使用者群會議中找到一些人(來討論)即可。如果這樣還不行的話,參與到線上論壇中與其他人討論(這時你需要更努力地尋找高品質的討論內容)。  5. 教會別人。相對於僅僅讀代碼之類的工作,教其他人學習可以讓你更深入地學習某個技術,這種方法有著非凡的效果。教會別人某個技術,同樣也會讓你更專註於這種技術,並且可以比別人更深層次地理解它。同樣你也會面對一些問題。 “如果你不能向一個六歲的兒童解析清楚一個概念,那麼其實是你並沒有完全理解它。”Albert Einstein說。 教學情境可以是無窮無盡的:與工作搭檔一對一交流,休息碰面,非正式周會,學習茶會,教室,討論發表會,等等。每周在相同理念開發人員之間舉辦一次30分鐘的非正式會議怎麼樣?每周,讓幾個人來就他們想要更深入瞭解話題,向大家傳授這些技術知識,並且展開討論。如果你知道你將要向團隊成員們傳授正學學習的知識,你是不是更想要瞭解這項技術的每個細節呢?  6. 收聽網路電台。如果你有閒置時間,可以訂閱網路電台節目。我現在最喜歡的編程節目就是 .Net Rocks。這個節目還會做一些視頻節目,叫做 dnrTV 。這樣會讓你即時捕捉到最新最好的技術。一個人是不能學習到所有知識的,而網路電台剛是一個學習瞭解廣泛知識的途徑。  7. 閱讀部落格。部落格遠遠比閱讀者要多,但是其中有一些卻是極其優秀的。我這裡不並不是要推薦部落格,因為網路上已經有了足夠多的部落格。這是與真正在開發你所喜歡和使用的軟體的開者聯絡的好方法。  8. 學習新的語言。即使你已經在 C(++,#) / JAVA 等語言上有很好的造詣,仍然有很多其他可以解決問題的程式設計語言。學習新的語言,是對你已有思維方式的挑戰。這不僅僅是另一種語言,更是對思維的重新架構。的確,所有的語言最後都會被編譯成組譯工具,但是這並不意味著進階語言毫無價值。  9. 學習不正確的方式。除了要學習應該怎麼做,還要學習不應該怎麼做。經常閱讀 Dailywtf.com ,學習你並不知道的經驗傳承。學習適當的物件導向設計方式,代碼寫作方式,和必須要寫的代碼等,是很好的方式,但是如果不細心的話也容易養成不良習慣。學習認識不正確的思路是負責項目開發至關重要的一環。 維基百科對很多覺的不正確方式有十分透徹的分類。  10. 要謙虛。 學習,意味著: 用更好的知識代替不完美的知識增長你所不知道的知識只有承認自己有所不足,才能有學習的動力。歸根到底,就是謙虛,不對嗎?如果你開始認為你已經掌握了所有需要的知識,那麼你就危險了。真正的學習是如饑似渴地追逐知識並使其內在化,這需要很大的努力。我們都知道這一點,但是要必須時常不斷地提醒自己

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.