如何成爲技術大牛?

如何學習一門新的技術?
階段一:
1、確定自己的技術方向
a、深入思考這個世界未來的技術走向,進而確定自己未來的技術優勢
b、對編程產生興趣,並試着從興趣出發去做些什麼
2、學習任何一個新技術,都找一下以下材料,原因:儘可能建立一個全視角,這樣學習和解決bug都比較快
a、下載官方文檔(獲取翻譯版文檔學習會比較快一點)
b、檢索在這個領域中的頂尖牛人,以及他們的技術經驗博客,以便在實踐過程中,解決特定問題
c、去買這個技術方向上,特別重要的好書,系統的知識框架
d、尋找那些帶有註釋的代碼案例,拿到代碼示例特別重要,因爲需要通過模仿來學習
3、確定你要在自己的哪個項目上實踐這個新技術,由此獲得全身心投入的學習動力
a、確定自己的項目主線,清晰地知道自己學習的技術點,不論合適,都在全身心投入。
b、系統地學習及實踐整個新技術 
c、與其他程序員交流,看看是否有共同合作實現及學習新技術的機會      
4、通過自己的磕磕碰碰,將新技術實現
a、學習新的技術,儘可能按照順序,一步一步仔細耐心地完成每個步驟。
b、跳步驟,常常會出錯,因爲你不熟練,會遺漏細節,對於邏輯性更高的事物更是如此。
c、倘若邏輯足夠嚴謹,bug出現的概率就能減少很多。
5、技術實現了之後
a、研究一下,新技術都運用了什麼概念
b、考慮新技術的使用場景,擴大技術的使用範圍
c、考慮新技術的同時,也要考慮新技術的侷限性。
d、進行大量的項目模仿學習
6、總結
a、起源:爲什麼會出現這種技術?有什麼好處?它解決了什麼問題?
b、原理:這門技術的源頭是哪裏?即第一性原理是什麼?如何從第一性原理髮展成現在的原理?
c、概念本質:核心概念有哪些?相關概念有哪些?抽象地看,這些概念的本質是什麼?
d、應用:技術的應用
e、場景:各行各業的應用場景
f、常規用法&特殊用法:場景的具體用法:常規用法、特殊用法
g、相關技術迭代優化:技術內部迭代的歷史、技術外部迭代狀況

階段二:
1、對照:多看看別人的代碼,他們在實現新技術的過程中,與你有什麼不同?哪種做法更好?吸取那些非常棒的設計與寫法

階段三:
1、考慮這個新技術的底層知識與底層實現原理是什麼,必須去看源碼,以便獲得個人技術設計方面巨大的提升

階段四:
1、嘗試自己封裝這個新技術的框架,即嘗試自己去寫這個技術的底層實現

大牛的底層核心競爭力
1、學會如何檢索文檔和問google,這是是高級程序員的核心技能
2、API文檔怎麼看才學得比較快?
學習任何接口,都應該去了解api文件,形成整體的對一個類、一個接口的大概認識
3、紮實計算機基礎知識
    a、計算機科學、網絡、操作系統
    b、數據結構與算法
    c、java虛擬機等底層知識
    d、紮實邏輯學知識、紮實數學知識
    e、紮實每門語言的必備要素(變量、運算符等)、重視基礎概念(例如:生命週期與作用域的概念)
    f、重視編程思想的實現:設計模式、編程思想
4、學習至少六種編程語言(大神的建議)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章