中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

大數(shù)據(jù)應(yīng)用發(fā)展史:從搜索引擎到人工智能

2018-12-21    來源:raincent

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用

 

踽踽獨(dú)行上下求索總是痛苦,如果有良師益友陪伴點(diǎn)撥必能事半功倍。從新手碼農(nóng)到高級架構(gòu)師,要經(jīng)過幾步?要多努力,才能成為為人倚重的技術(shù)專家?本文將為你帶來一張程序員發(fā)展路徑圖,但你需要知道的是,天下沒有普適的道理,具體問題還需具體分析,實(shí)踐才能出真知。

架構(gòu)師的“內(nèi)功”

《從 0 開始學(xué)架構(gòu)》專欄已經(jīng)全部更新完畢,我在專欄里給你講述了我的完整架構(gòu)設(shè)計(jì)方法論,包括架構(gòu)設(shè)計(jì)的概念、原則、步驟、技巧、模式等,這些內(nèi)容是我融合多年來的學(xué)習(xí)、實(shí)踐、思考總結(jié)得出來的精華。“王婆自夸”一下,專欄就相當(dāng)于一部《九陽真經(jīng)》,你按照武功秘籍的方法去修煉,自然能夠比站在村口大樹下打木人樁效率要高得多。然而要成為高手,光知道招式還遠(yuǎn)遠(yuǎn)不夠,更重要的是內(nèi)功和判斷,能夠一眼看出對手的弱點(diǎn)或者破綻,知道“什么時(shí)候用什么招式”“遇到什么對手用什么招式”更重要。

以架構(gòu)設(shè)計(jì)原則的“合適原則”為例,專欄講述了架構(gòu)設(shè)計(jì)要遵循“合適原則”,不要過度設(shè)計(jì),這個(gè)點(diǎn)非常關(guān)鍵,能夠避免架構(gòu)設(shè)計(jì)的時(shí)候盲目超前設(shè)計(jì)。但是我們在具體架構(gòu)設(shè)計(jì)的時(shí)候,到底什么是“合適”,專欄也無法給出一個(gè)明確的標(biāo)準(zhǔn)可以放之四海而皆準(zhǔn)去套用,因?yàn)?ldquo;合適”和很多因素有關(guān):業(yè)務(wù)發(fā)展、團(tuán)隊(duì)規(guī)模、技術(shù)實(shí)力、領(lǐng)導(dǎo)的喜好等。此時(shí)到底什么是“合適”就依賴架構(gòu)師的“內(nèi)功”了,很有可能同一個(gè)團(tuán)隊(duì),A 架構(gòu)師認(rèn)為 X 方案是合適的,B 架構(gòu)師認(rèn)為 Y 方案是合適的,原因就在于不同的架構(gòu)師“內(nèi)功”不一樣。

我認(rèn)為,架構(gòu)師的內(nèi)功主要包含三部分:判斷力、執(zhí)行力、創(chuàng)新力,簡單解釋如下:

♦ 判斷力: 能夠準(zhǔn)確判斷系統(tǒng)的復(fù)雜度在哪里,就像武俠高手一樣,能準(zhǔn)確地看出對手的破綻和弱點(diǎn)。

♦ 執(zhí)行力: 能夠使用合適的方案解決復(fù)雜度問題,就像武俠高手一樣,能選擇合適的招式或者方法打敗對手。

創(chuàng)新力: 能夠創(chuàng)造新的解決方案解決復(fù)雜度問題,就像武俠世界里,小一些的創(chuàng)新是創(chuàng)新招式,而武學(xué)宗師能夠創(chuàng)立新的武學(xué)或者心法,例如張三豐創(chuàng)立太極拳一樣。

因此,要成為一個(gè)優(yōu)秀的架構(gòu)師,就需要不斷地提升自己這幾方面的內(nèi)功,而這三方面的能力主要來源于 經(jīng)驗(yàn)、視野、思考。

♦ 經(jīng)驗(yàn): 設(shè)計(jì)過的系統(tǒng)越多、系統(tǒng)越復(fù)雜,架構(gòu)師的內(nèi)功也就越強(qiáng),不管是成功的架構(gòu),還是失敗的架構(gòu),不管是踩坑的經(jīng)驗(yàn),還是填坑的經(jīng)驗(yàn),都將成為架構(gòu)師內(nèi)功的一部分。

♦ 視野: 掌握的知識和技能越多、越深,架構(gòu)師的內(nèi)功也就越強(qiáng),他山之石可以攻玉,站在巨人的肩膀上會(huì)看的更高更遠(yuǎn)。

♦ 思考: 經(jīng)驗(yàn)和視野都是外部輸入,類似于我們吃的食物,但光吃還不行,還要消化,將其變?yōu)槲覀冏约旱臓I養(yǎng),這就是思考的作用。思考能夠?qū)⒔?jīng)驗(yàn)和視野中的模式、判斷、選擇、技巧等提煉出來為我所用,思考也能促使我們產(chǎn)生新的創(chuàng)意和靈感。

結(jié)合上面的分析,從程序員到架構(gòu)師的成長之路,總的指導(dǎo)原則是:積累經(jīng)驗(yàn),拓寬視野,深度思考。按照這個(gè)總的原則為指導(dǎo),接下來我們看看從程序員到架構(gòu)師的成長過程中,具體如何實(shí)踐。

我把程序員到架構(gòu)師的技術(shù)成長之路分為幾個(gè)典型的階段:工程師 - 高級工程師 - 技術(shù)專家 - 初級架構(gòu)師 - 中級架構(gòu)師 - 高級架構(gòu)師。雖然總的指導(dǎo)原則是一樣的,但具體的實(shí)踐方法有很大差別,如果在正確的階段采取了錯(cuò)誤的方法,可能會(huì)出現(xiàn)事倍功半的問題。

工程師

階段描述

成為一個(gè)合格的工程師需要 1~3 年時(shí)間,其典型特征是“在別人的指導(dǎo)下完成開發(fā)”,這里的“別人”主要是“高級工程師”或者“技術(shù)專家”,通常情況下,高級工程師或者技術(shù)專家負(fù)責(zé)需求分析和討論、方案設(shè)計(jì),工程師負(fù)責(zé)編碼實(shí)現(xiàn),高級工程師或者技術(shù)專家會(huì)指導(dǎo)工程師進(jìn)行編碼實(shí)現(xiàn)。

成長指導(dǎo)

工程師階段是最原始的“基礎(chǔ)技能積累階段”,主要積累基礎(chǔ)知識,包括編程語言、編程工具、各類系統(tǒng)的基本使用。以 Java 后端工程師為例,工程師階段需要積累的經(jīng)驗(yàn)和技能有:

♦ Java 的語法、基本數(shù)據(jù)結(jié)構(gòu)的使用。

♦ Eclipse、IDEA、Maven、Linux 命令行等各種工具。

♦ 數(shù)據(jù)庫 CRUD 操作、緩存的基本使用等。

♦ 業(yè)務(wù)系統(tǒng)的基本流程。

工程師階段最好的學(xué)習(xí)方法就是 找經(jīng)典的書籍系統(tǒng)地學(xué)習(xí),而不要遇到一個(gè)問題到網(wǎng)上搜搜然后就解決了事。以 Java 為例,《Java 編程思想》《Java 核心技術(shù)》《TCP/IP 協(xié)議》這類大部頭,一定要完整地看一遍,即使里面很多內(nèi)容當(dāng)前工作暫時(shí)用不上。

高級工程師

階段描述

成長為高級工程師需要 2~5 年時(shí)間,其典型特征是“獨(dú)立完成開發(fā)”,包括需求分析、方案設(shè)計(jì)、編碼實(shí)現(xiàn),其中需求分析和方案設(shè)計(jì)已經(jīng)包含了“判斷”和“選擇”,只是范圍相對來說小一些,更多是在已有架構(gòu)下進(jìn)行設(shè)計(jì)。以 Java 后端工程師為例,高級工程師需要完成的工作包括:

♦ MySQL 數(shù)據(jù)庫表如何設(shè)計(jì),是設(shè)計(jì)成兩個(gè)表還是三個(gè)表?

♦ 是否要用緩存,緩存的 Key 和 Value 如何設(shè)計(jì),緩存的更新策略是什么?

♦ 產(chǎn)品提出的需求是否合理?是否有更好的方式來滿足?

成長指導(dǎo)

從普通工程師成長為高級工程師,主要需要“積累方案設(shè)計(jì)經(jīng)驗(yàn)”,簡單來說就是業(yè)務(wù)當(dāng)前用到的相關(guān)技術(shù)的設(shè)計(jì)經(jīng)驗(yàn)。以 Java 后端高級工程師為例,包括:表設(shè)計(jì)經(jīng)驗(yàn)、緩存設(shè)計(jì)經(jīng)驗(yàn)、業(yè)務(wù)流程設(shè)計(jì)經(jīng)驗(yàn)、接口設(shè)計(jì)經(jīng)驗(yàn)等。當(dāng)接到一個(gè)業(yè)務(wù)需求的時(shí)候,高級工程師能夠組合這些設(shè)計(jì)經(jīng)驗(yàn),最終完成業(yè)務(wù)需求。

高級工程師階段相比工程師階段,有兩個(gè)典型的差異:

深度:如果說工程師是要求知道 How,那高級工程師就要求知道 Why 了。例如 Java 的各種數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)原理,因?yàn)橹挥猩钊胝莆樟诉@♦ 些實(shí)現(xiàn)原理,才能對其優(yōu)缺點(diǎn)和使用場景有深刻理解,這樣在做具體方案設(shè)計(jì)的時(shí)候才能選擇合適的數(shù)據(jù)結(jié)構(gòu)。

♦ 理論:理論就是前人總結(jié)出來的成熟的設(shè)計(jì)經(jīng)驗(yàn),例如數(shù)據(jù)庫表設(shè)計(jì)的 3 個(gè)范式、面向?qū)ο蟮脑O(shè)計(jì)模式、SOLID 設(shè)計(jì)原則、緩存設(shè)計(jì)理論(緩存穿透、緩存雪崩、緩存熱點(diǎn))等。

針對技術(shù)深度,我的建議還是系統(tǒng)地學(xué)習(xí),包括看書和研究源碼。例如,研究 Java 虛擬機(jī)可以看《深入理解 Java 虛擬機(jī)》、研究 MySQL 可以看《MySQL 技術(shù)內(nèi)幕:InnoDB 存儲(chǔ)引擎》、研究 Memcache 可以去看其源碼。

針對設(shè)計(jì)理論,由于涉及的點(diǎn)很多,沒有一本書能夠涵蓋這么多的設(shè)計(jì)點(diǎn),因此更多的是依靠自己去網(wǎng)上搜索資料學(xué)習(xí)。那我們怎么知道哪些地方會(huì)有設(shè)計(jì)理論呢?簡單來說,就是假設(shè)每個(gè)設(shè)計(jì)環(huán)節(jié)都有設(shè)計(jì)理論,然后帶著這種假設(shè)去搜索驗(yàn)證看看是否真的有很熟的設(shè)計(jì)理念。

技術(shù)專家

階段描述

成長為技術(shù)專家需要 4~8 年時(shí)間,其典型的特征是“某個(gè)領(lǐng)域的專家”,通俗地講,只要是這個(gè)領(lǐng)域的問題,技術(shù)專家都可以解決。例如:Java 開發(fā)專家、PHP 開發(fā)專家、Android 開發(fā)專家、iOS 開發(fā)專家、前端開發(fā)專家等。通常情況下,“領(lǐng)域”的范圍不能太小,例如我們可以說“Java 開發(fā)專家”,但不會(huì)說“Java 多線程專家”或“Java JDBC 專家”。

技術(shù)專家與高級工程師的一個(gè)典型區(qū)別就是,高級工程師主要是在已有的架構(gòu)框架下完成設(shè)計(jì),而技術(shù)專家會(huì)根據(jù)需要修改、擴(kuò)展、優(yōu)化架構(gòu)。例如,同樣是 Java 開發(fā),高級工程師關(guān)注的是如何優(yōu)化 MySQL 的查詢性能,而技術(shù)專家可能就會(huì)考慮引入 Elasticsearch 來完成搜索。

成長指導(dǎo)

從高級工程師成長為技術(shù)專家,主要需要“拓展技術(shù)寬度”,因?yàn)橐粋(gè)“領(lǐng)域”必然會(huì)涉及眾多的技術(shù)面。以 Java 后端開發(fā)為例,要成為一個(gè) Java 開發(fā)專家,需要掌握 Java 多線程、JDBC、Java 虛擬機(jī)、面向?qū)ο蟆⒃O(shè)計(jì)模式、Netty、Elasticsearch、Memcache、Redis、MySQL 等眾多技術(shù)。常見的拓展技術(shù)寬度的方法有:

學(xué)習(xí)業(yè)界成熟的開源方案,例如,Java 開發(fā)可以去學(xué)習(xí) Redis、Memcache、Netty 等,Android 開發(fā)可以去研究 Retrofit、Fresco、OkHttp 等。

研究業(yè)界的經(jīng)驗(yàn)分享,例如 BAT、FANG 等大公司的經(jīng)驗(yàn),可以通過參加技術(shù)大會(huì)等方式去近距離了解。

需要注意的是,拓展技術(shù)寬度并不意味著僅僅只是知道一個(gè)技術(shù)名詞,而是要深入去理解每個(gè)技術(shù)的原理、優(yōu)缺點(diǎn)、應(yīng)用場景,否則就會(huì)成為傳說中的“PPT 技術(shù)專家”。例如,以 Java 開發(fā)為例,知道 Netty 是個(gè)高性能網(wǎng)絡(luò)庫是遠(yuǎn)遠(yuǎn)不夠的,還需要學(xué)習(xí) Netty 的原理,以及具體如何使用 Netty 來開發(fā)高性能系統(tǒng)。

初級架構(gòu)師

階段描述

成長為初級架構(gòu)師需要 5~10 年時(shí)間,其典型特征就是能夠“獨(dú)立完成一個(gè)系統(tǒng)的架構(gòu)設(shè)計(jì)”,可以是從 0 到 1 設(shè)計(jì)一個(gè)新系統(tǒng),也可以是將架構(gòu)從 1.0 重構(gòu)到 2.0。初級架構(gòu)師負(fù)責(zé)的系統(tǒng)復(fù)雜度相對來說不高,例如后臺管理系統(tǒng)、某個(gè)業(yè)務(wù)下的子系統(tǒng)、100 萬 PV 量級的網(wǎng)站等。

初級架構(gòu)師和技術(shù)專家的典型區(qū)別是:架構(gòu)師是基于完善的架構(gòu)設(shè)計(jì)方法論的指導(dǎo)來進(jìn)行架構(gòu)設(shè)計(jì),而技術(shù)專家更多的是基于經(jīng)驗(yàn)進(jìn)行架構(gòu)設(shè)計(jì)。簡單來說,即使是同樣一個(gè)方案,初級架構(gòu)師能夠清晰地闡述架構(gòu)設(shè)計(jì)的理由和原因,而技術(shù)專家可能就是因?yàn)樽约涸?jīng)這樣做過,或者看到別人這樣做過而選擇設(shè)計(jì)方案。

但在實(shí)踐工作中,技術(shù)專家和初級架構(gòu)師的區(qū)別并不很明顯,事實(shí)上很多技術(shù)專家其實(shí)就承擔(dān)了初級架構(gòu)師的角色,因?yàn)樵谙到y(tǒng)復(fù)雜度相對不高的情況下,架構(gòu)設(shè)計(jì)的難度不高,用不同的備選方案最終都能夠較好地完成系統(tǒng)設(shè)計(jì)。例如,設(shè)計(jì)一個(gè)日 PV 100 萬的網(wǎng)站,MySQL + Memcache + Spring Boot 可以很好地完成,MongoDB + Redis + Nginx + php-fpm 也可以很好地完成,備選方案設(shè)計(jì)和選擇并不太難,更多的是看團(tuán)隊(duì)熟悉哪個(gè)技術(shù)。

成長指導(dǎo)

從技術(shù)專家成長為初級架構(gòu)師,最主要的是形成自己的“架構(gòu)設(shè)計(jì)方法論”,我的架構(gòu)設(shè)計(jì)專欄其實(shí)就是講述完整的架構(gòu)設(shè)計(jì)方法論,包括架構(gòu)設(shè)計(jì)目的、架構(gòu)設(shè)計(jì)原則、架構(gòu)設(shè)計(jì)步驟、架構(gòu)設(shè)計(jì)模式等,類似的架構(gòu)設(shè)計(jì)方法論還有《恰如其分的軟件架構(gòu):風(fēng)險(xiǎn)驅(qū)動(dòng)的設(shè)計(jì)方法》和《領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)》等。

要形成自己的架構(gòu)設(shè)計(jì)方法論,主要的手段有:

♦ 系統(tǒng)學(xué)習(xí)架構(gòu)設(shè)計(jì)方法論,包括訂閱專欄或者閱讀書籍等。

♦ 深入研究成熟開源系統(tǒng)的架構(gòu)設(shè)計(jì),這個(gè)手段在技術(shù)專家階段也會(huì)用到,但關(guān)注點(diǎn)不一樣,同樣是研究開源系統(tǒng),技術(shù)專家階段聚焦于如何更好地應(yīng)用開源項(xiàng)目;初級架構(gòu)師階段聚焦于學(xué)習(xí)其架構(gòu)設(shè)計(jì)原理和思想,例如 Kafka 的文檔中就有關(guān)于消息隊(duì)列架構(gòu)設(shè)計(jì)的分析和取舍。

結(jié)合架構(gòu)設(shè)計(jì)方法論,分析和總結(jié)自己團(tuán)隊(duì)甚至公司的各種系統(tǒng)的架構(gòu)設(shè)計(jì)優(yōu)缺點(diǎn),嘗試思考架構(gòu)重構(gòu)方案。如果在這個(gè)基礎(chǔ)上真的能夠推動(dòng)架構(gòu)重構(gòu),那就更好了,既能夠?qū)嵺`自己的架構(gòu)設(shè)計(jì)方法論,同時(shí)積累經(jīng)驗(yàn),又能夠展現(xiàn)自己的技術(shù)實(shí)力,拿到結(jié)果。

中級架構(gòu)師

階段描述

成長為中級架構(gòu)師需要 8 年以上時(shí)間,其典型特征是“能夠完成復(fù)雜系統(tǒng)的架構(gòu)設(shè)計(jì)”,包含高性能、高可用、可擴(kuò)展、海量存儲(chǔ)等復(fù)雜系統(tǒng),例如設(shè)計(jì)一個(gè)和 Kafka 性能匹敵的消息隊(duì)列系統(tǒng)、將業(yè)務(wù)改造為異地多活、設(shè)計(jì)一個(gè)總共 100 人參與開發(fā)的業(yè)務(wù)系統(tǒng)等。

中級架構(gòu)師與初級架構(gòu)師的典型區(qū)別在于系統(tǒng)復(fù)雜度的不同,中級架構(gòu)師面對的系統(tǒng)復(fù)雜度要高于初級架構(gòu)師。以開源項(xiàng)目為例,初級架構(gòu)師可能引入某個(gè)開源項(xiàng)目就可以完成架構(gòu)設(shè)計(jì),而中級架構(gòu)師可能發(fā)現(xiàn)其實(shí)沒有哪個(gè)開源項(xiàng)目是合適的,而需要自己開發(fā)一個(gè)全新的項(xiàng)目,事實(shí)上很多開源項(xiàng)目就是這樣誕生出來的。

成長指導(dǎo)

從初級架構(gòu)師成長為中級架構(gòu)師,最關(guān)鍵的是“技術(shù)深度和技術(shù)理論的積累”,例如:

♦ 技術(shù)理論:CAP、BASE 是異地多活的設(shè)計(jì)理論基礎(chǔ)、Paxos 是分布式一致性的基礎(chǔ)算法、2PC、3PC 是分布式事務(wù)的基礎(chǔ)算法等。

♦ 技術(shù)深度:Kafka 用磁盤存儲(chǔ)還能做到高效是因?yàn)榇疟P順序?qū)?Disruptor 高性能是結(jié)合 CPU 預(yù)讀取機(jī)制、緩存行、無鎖設(shè)計(jì)等基礎(chǔ)技術(shù);Storm 的高效異或確認(rèn)機(jī)制;Flink 的分布式快照算法等。

很多同學(xué)對這點(diǎn)可能有疑問,這些技術(shù)理論和技術(shù)深度的事情不應(yīng)該是高級工程師階段或者技術(shù)專家階段就應(yīng)該積累的么?為何到了中級架構(gòu)師階段反而是成長的關(guān)鍵了呢?主要原因在于高級工程師或者技術(shù)專家階段即使去學(xué)習(xí)這些技術(shù),實(shí)際上也比較難理解透徹,更加難以有機(jī)會(huì)去應(yīng)用,更多的時(shí)候只是了解有這個(gè)技術(shù)點(diǎn)而已;而到了中級架構(gòu)師階段,面對高復(fù)雜度的系統(tǒng),很多時(shí)候就是幾個(gè)關(guān)鍵技術(shù)細(xì)節(jié)決定整個(gè)架構(gòu)設(shè)計(jì)的成敗,或者某個(gè)設(shè)計(jì)方案理論上就是不可行的,如果不深刻理解理論和相關(guān)的關(guān)鍵技術(shù)點(diǎn),很難設(shè)計(jì)優(yōu)秀的架構(gòu)。

以我做過的異地多活設(shè)計(jì)方案為例,之前很早我就知道 CAP 理論了,但也僅僅只是知道幾個(gè)概念而已。真正做異地多活的時(shí)候,開始的時(shí)候還是走了不少彎路,試圖做一個(gè)完美的異地多活系統(tǒng),最終發(fā)現(xiàn)這其實(shí)是不可能的,某天突然頓悟:其實(shí) CAP 理論已經(jīng)明確指出來了這點(diǎn),但最初學(xué)習(xí) CAP 理論的時(shí)候,很難有這樣深刻的理解。

高級架構(gòu)師

階段描述

成長為高級架構(gòu)師需要 10 年以上時(shí)間,其典型特征是“創(chuàng)造新的架構(gòu)模式”,例如:

♦ 谷歌大數(shù)據(jù)論文,創(chuàng)造了分布式存儲(chǔ)架構(gòu)、分布式計(jì)算 MapReduce 架構(gòu)、列式存儲(chǔ)架構(gòu),開創(chuàng)了大數(shù)據(jù)時(shí)代。

♦ 在有 MapReduce 分布式計(jì)算架構(gòu)的背景下,Storm 又創(chuàng)造了流式計(jì)算架構(gòu)。

♦ 在虛擬機(jī)很成熟的背景下,Docker 創(chuàng)造了容器化的技術(shù)潮流。

♦ 高級架構(gòu)師與中級架構(gòu)師相比,典型區(qū)別在于“創(chuàng)造性”,高級架構(gòu)師能夠創(chuàng)造新的架構(gòu)模式,開創(chuàng)新的技術(shù)潮流。

成長指導(dǎo)

坦白的說,對于從中級架構(gòu)師如何才能成長為高級架構(gòu)師,我并沒有太好的指導(dǎo),一個(gè)原因是我自我評價(jià)目前頂多算個(gè)中級架構(gòu)師;另外一個(gè)原因是一旦涉及“創(chuàng)造性”,其實(shí)和藝術(shù)就比較類似了,創(chuàng)造性實(shí)際上是很難學(xué)會(huì)的,也很難由老師教會(huì),更多是天分,或者某種場景下靈感爆發(fā)。

參考技術(shù)界幾個(gè)創(chuàng)造性的架構(gòu)案例,我總結(jié)出幾個(gè)可能誕生創(chuàng)造性架構(gòu)的背景條件:

足夠復(fù)雜的業(yè)務(wù)場景:例如谷歌的大數(shù)據(jù)、阿里的雙十一、Facebook 的海量用戶等,業(yè)務(wù)場景越復(fù)雜,給技術(shù)帶來的挑戰(zhàn)更大,更有可能產(chǎn)生創(chuàng)造性的技術(shù)突破。

足夠強(qiáng)大的技術(shù)團(tuán)隊(duì):絕大部分創(chuàng)造性的架構(gòu)都來源于大公司,或者知名的研究機(jī)構(gòu);沒有技術(shù)實(shí)力支撐,想突破也是心有余而力不足。

不滿足于現(xiàn)狀的態(tài)度:例如虛擬機(jī)很成熟但是資源占用太多,所以發(fā)明 Docker;MapReduce 難以做到實(shí)時(shí)運(yùn)算,所以創(chuàng)造 Storm 流式運(yùn)算。

尊重技術(shù)價(jià)值的文化:創(chuàng)造性的東西往往需要投入大量的人力和時(shí)間,而且剛開始一般都不會(huì)很成熟,如果完全結(jié)果導(dǎo)向、KPI 導(dǎo)向,創(chuàng)新技術(shù)很可能在萌芽階段就被否定。

總結(jié)

關(guān)于如何在專業(yè)領(lǐng)域內(nèi)提升,有條著名的“10000 小時(shí)定律”,簡單來說要成為某個(gè)領(lǐng)域頂尖的專業(yè)人才,需要持續(xù)不斷 10000 小時(shí)的練習(xí),例如小提琴、足球、國際象棋、圍棋等領(lǐng)域,無一例外都遵循這個(gè)定律。我認(rèn)為技術(shù)人員成長也基本遵循這個(gè)定律,我在文章中試圖提煉一條通用的成長路徑供你參考,但其實(shí)最關(guān)鍵的還是技術(shù)人員對技術(shù)的熱情以及持續(xù)不斷地投入,包括學(xué)習(xí)、實(shí)踐、思考、總結(jié)等。

最后,你可以統(tǒng)計(jì)一下自己從頭到尾認(rèn)真讀過的技術(shù)書籍?dāng)?shù)量、系統(tǒng)研究過的開源項(xiàng)目的數(shù)量,然后自我評估一下自己目前處于哪個(gè)層級,看看是否有什么發(fā)現(xiàn)?

標(biāo)簽: linux Mysql 大數(shù)據(jù) 大數(shù)據(jù)時(shí)代 谷歌 數(shù)據(jù)庫 搜索 網(wǎng)絡(luò)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:新手福利:免費(fèi)百頁機(jī)器學(xué)習(xí)入門書

下一篇:長文揭秘:阿里如何實(shí)現(xiàn)海量數(shù)據(jù)實(shí)時(shí)分析?