EMC中國研究院院長孫宇熙:大數(shù)據(jù)時代程序猿的生存之道
孫宇熙 | 2016-03-08 11:56
【數(shù)據(jù)猿導讀】 當下,社交媒體生成了大量的數(shù)據(jù),有各種各樣的社交媒體,有了社交媒體之后整個數(shù)據(jù)結(jié)構(gòu)的形式都在發(fā)生改變,出現(xiàn)了結(jié)構(gòu)化半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù),那我們,尤其是程序猿該如何面對這些變化

大家晚上好!我是孫宇熙,非常高興能來到華章線上課堂。今天晚上跟大家聊一聊大數(shù)據(jù)時代的程序員生存之道。我主要談五個方向,一個是大數(shù)據(jù)所蘊含的價值;接下來,談一談大數(shù)據(jù)的來龍去脈,它的現(xiàn)狀跟未來。還有一部分是云計算與大數(shù)據(jù)。在這個過程當中,會穿插一些我們程序員應(yīng)該獲得的一些技能,最后聊一聊程序員的職業(yè)生涯規(guī)劃。
EMC中國研究院院長孫宇熙
我們先來看一看大數(shù)據(jù)時代的催化劑。這里顯示催化劑其實有三樣:社交媒體、移動互聯(lián)網(wǎng)和物聯(lián)網(wǎng)。我們先從社交媒體開始,大家知道從20世紀90年代開始,一直到當下,社交媒體生成了大量的數(shù)據(jù),有各種各樣的社交媒體,有了社交媒體之后整個數(shù)據(jù)結(jié)構(gòu)的形式都在發(fā)生改變,從原來單一的數(shù)據(jù)、可以在關(guān)系 型數(shù)據(jù)庫當中存儲的一些數(shù)據(jù)變成了更加豐富類型的數(shù)據(jù),特別是半結(jié)構(gòu)化、類結(jié)構(gòu)化跟非結(jié)構(gòu)化的數(shù)據(jù),像各種各樣的視頻、音頻、文檔、文件等等,這是催化劑之一,數(shù)據(jù)量爆發(fā)式的增長。
第二個催化劑就是移動互聯(lián)網(wǎng)。我們知道,蘋果跟谷歌分別推出iOS跟Android這兩大類設(shè)備幾乎已經(jīng)變成了我們所使用的移動設(shè)備的主體。它們極大的豐富了數(shù)據(jù)傳輸,包括生活當中聯(lián)網(wǎng)的方式,同時也產(chǎn)生了大量的數(shù)據(jù)。
大數(shù)據(jù)時代的第三類催化劑,我們稱之為物聯(lián)網(wǎng),有人也管它叫工業(yè)互聯(lián)網(wǎng),它其實是在移動互聯(lián)網(wǎng)的基礎(chǔ)之上的一次延伸。據(jù)IDC和Gartner的統(tǒng)計,預計2020年全球范圍內(nèi)有大概300億,甚至有人預測大概有2000億 種聯(lián)網(wǎng)的設(shè)備,也就是平均每個人有幾十個不同的設(shè)備,包括各種各樣可穿戴的設(shè)備、包括原來移動互聯(lián)網(wǎng)的一些設(shè)備,它們會生成更多類型的數(shù)據(jù),而且數(shù)據(jù)的生成通常以流數(shù)據(jù),或者快數(shù)據(jù)的形式產(chǎn)生。所以,這三大催化劑其實要求我們要有新的大數(shù)據(jù)的設(shè)計的架構(gòu),包括設(shè)計的理念,然后它要能去對這種豐富的數(shù)據(jù)類型進行處理。
我們現(xiàn)在來看一看大數(shù)據(jù)在過去的十年到二十年間整個技術(shù)架構(gòu)的發(fā)展趨勢。“大數(shù)據(jù)”這個名詞最早被準確地提出是1998年在硅谷SGI公司的首席科學家。在20世紀90年代,我們見證了整個關(guān)系型數(shù)據(jù)庫,包括數(shù)據(jù)倉庫的高速發(fā)展,幻燈片2的最左邊所示的產(chǎn)品,包括IBM的DB2、Oracle、SAP、開源的MySQL、PostgreSQL,它們是這個時代赫赫有名的關(guān)系型數(shù)據(jù)庫,當然也有一些MPP的,后面我們會提到所謂大規(guī)模并行處理的數(shù)據(jù)庫架構(gòu)。
那么,時間往前推進到2005-2015年,過去的十年之中出現(xiàn)了兩大陣營——Hadoop跟NoSQL。Hadoop非常具有代表性,它的底層是一個Hadoop的分布式的文件系統(tǒng),上面實際上是MapReduce,雖然雅虎最早推出開源的Hadoop,隨后被業(yè)界大肆追捧,但雅虎實際上是受到谷歌GFS跟谷歌的MapReduce的啟迪,Hadoop是其中一大陣營,非常適合尤其做批處理。
NoSQL是Notonly SQL的簡稱,也可以理解為它不僅僅是SQL,SQL的強項其實是對結(jié)構(gòu)化數(shù)據(jù)的處理。如果不僅僅是SQL意味著它可以很大程度上處理更豐富的數(shù)據(jù)類型,也就是非結(jié)構(gòu)化、半結(jié)構(gòu)化、類結(jié)構(gòu)化的數(shù)據(jù),那么就涉及到各種各樣的數(shù)據(jù)庫了,有鍵值數(shù)據(jù)庫Redis、GemFire,寬表類的數(shù)據(jù)庫Cassandra,比如像MongoDB所謂的文檔數(shù)據(jù)庫,還有一些所謂的圖數(shù)據(jù)庫Neo4j等等。NoSQL的陣營里面的東西也非常豐富,和Hadoop類似,也有大量的開源架構(gòu)。
我們知道,Hadoop非常適合對海量的數(shù)據(jù)進行批處理,NoSQL非常適合對數(shù)據(jù)進行交互性處理。當然,這兩個陣營之間也會有一些交叉。但是,通常來說,它們并不擅長實時處理,至少這不是它們最初的設(shè)計目標之一。當然我們知道后來Hadoop向前發(fā)展,有基于內(nèi)存的Spark,到后來發(fā)展成流數(shù)據(jù)Spark Streaming等等,NoSQL也是向那個方向發(fā)展。還有一點,在20年前早期的關(guān)系型數(shù)據(jù)庫當中,很多都符合這種交易處理的一些原則。我們換另外一個緯度看,就是OLAP跟OLTP,即在線分析系統(tǒng)跟在線的事務(wù)處理,或者交易處理系統(tǒng)。通常來說,在NoSQL跟Hadoop設(shè)計的早期原則當中,它們或者是做OLTP,或者做OLAP,把它們兼而有之也是業(yè)界的一個發(fā)展趨勢,這個時候我們引入了表中的NewSQL,無獨有偶,它最早也是由谷歌公司推出的。業(yè)界最早把它叫做谷歌Spanner,它在全球范圍內(nèi),可以在多個數(shù)據(jù)中心之間實現(xiàn)一個跨數(shù)據(jù)中心的、能保證數(shù)據(jù)的可用性、分區(qū)容忍性、強一致性,ACID的效果。
之后就是NewSQL的出現(xiàn),NewSQL可以簡單理解為它支持事務(wù)和交易處理的強一致性。在這個基礎(chǔ)之上,它其實又滿足了數(shù)據(jù)的可用性和分區(qū)容忍度。根據(jù)CAP理論,一致性、可用性、分區(qū)容忍度不能同時滿足,但是NewSQL在很大程度上已經(jīng)顛覆了這一點,最典型的就是谷歌的Spanner,在全球的數(shù)據(jù)中心之間,可以保證跨數(shù)據(jù)的可用性、一致性跟高度的分區(qū)容忍度。
不過NewSQL這個陣營當中,開源的選擇非常少,不論是谷歌 Spanner、SAP HANA,還是VoltDB,我們現(xiàn)在已知的是Pivotal GemFire是非常有可能開源的。GemFire大家可能感到陌生,大家熟知的12306訂票網(wǎng)站的性能改進很大程度上來自于GemFire。2013年的春節(jié)之后,12306整個系統(tǒng)從IBM的DB2(跑在小型機上的DB2系統(tǒng)),改為GemFire,用了十對PC服務(wù)器,把車票查詢的速度提高了大概上千倍左右,也就是所有的查詢都會變成秒出,這對業(yè)界是非常具有影響力的一件事情,但是很可惜,知道的人非常少。
準確地說,GemFire是一種鍵值數(shù)據(jù)庫,當然它能處理的數(shù)據(jù)類型也非常復雜,跟Redis非常類似。Redis早期也被認為是鍵值數(shù)據(jù)庫,其實它可以處理的東西變得相當相當?shù)膹碗s。比如,Redis可以根據(jù)圖片、多媒體的文件來作為它的主鍵進行哈希搜索,大家知道哈希的運算速度。簡單來說,大數(shù)據(jù)架構(gòu)技術(shù)的發(fā)展趨勢出現(xiàn)了這幾個不同的陣營,Hadoop、NoSQL跟NewSQL,原來老的關(guān)系型數(shù)據(jù)庫也并沒有死掉,都是在齊頭并進。我們常說分久必合、合久必分,它們這些陣營之間其實都有一些向?qū)Ψ饺タ繑n和融合的一個趨勢。換一個緯度說就是OLAP跟OLTP的這些功能在一個系統(tǒng)之間都會出現(xiàn)。
我們再來看一看大數(shù)據(jù)對我們各行各業(yè)的影響,因為這個跟我們的生活息息相關(guān)。我們知道,金融行業(yè)、互聯(lián)網(wǎng)行業(yè)、電信行業(yè)、零售業(yè)、能源,包括政府行業(yè),包 括醫(yī)療行業(yè),這些行業(yè)當中多多少少大家都有接觸或了解,大數(shù)據(jù)對于這些行業(yè)未來的業(yè)務(wù)發(fā)展趨勢將產(chǎn)生重大影響,對于去更貼近客戶、了解客戶的需求具有非常重要的意義。
我們下面再來看一看大數(shù)據(jù)所面臨的,并且需要解決的問題。我總結(jié)了五大問題。大數(shù)據(jù)的存儲是首當其沖的,數(shù)據(jù)從哪里來,數(shù)據(jù)存到哪里?之后大數(shù)據(jù)要如何去 管理,再下一步是怎么分析大數(shù)據(jù),要分析出什么樣的結(jié)果,有什么樣的目的,大數(shù)據(jù)分析過程中要應(yīng)用什么樣的工具做這件事情,這就升華出所謂的大數(shù)據(jù)科學的 概念。最后,前面你做的所有事情,最后是為了貼近用戶,要貼近結(jié)果,這種展現(xiàn)的形式是大數(shù)據(jù)的引用。
先看一看大數(shù)據(jù)的存儲,存儲歷程大概可以分為四個階段。早期的本地存儲和直連的存儲類型,幻燈片當中就不再體現(xiàn)了。我們說分布式存儲,大家可以這么簡單理解,就是存儲并不直連到主機之上,比如NDAS等,而是分別以文件和塊方式存儲。分布式存儲向下一步發(fā)展,發(fā)展到什么情況呢?發(fā)展到云存儲。
云存儲其實沒有一個真正意義上的行業(yè)標準,只是有既定的標準。這就是亞馬遜的S3的 標準,它是一種對象存儲。我們說存儲的三大形式,文件類型的存儲、塊存儲,第三大類型就是對象存儲,也是最后出現(xiàn)的。存儲再往下一步發(fā)展是什么樣的形式 呢?就是軟件定義的存儲,大家都聽說過一個概念,叫做軟件定義的數(shù)據(jù)中心。在軟件定義的數(shù)據(jù)中心當中,第一部分是虛擬化,包括后來的容器技術(shù),以及容器化,這都是對計算的一種虛擬化,帶來速度的提高。
軟件定義數(shù)據(jù)中心當中的第二塊技術(shù)是網(wǎng)絡(luò)的虛擬化。我們說它三大要素,計算、網(wǎng)絡(luò)與存儲,最后其實被虛擬化,或者被軟件來定義的,通過對存儲進行虛擬化與 軟件的定義以獲得更高的靈活性,其實這是一個多層抽象的概念。目的是為了能讓上層的應(yīng)用,或用戶以更低廉的成本去使用存儲,然后更方便地對要存儲的數(shù)據(jù)進行定義。
我們再來看一看大數(shù)據(jù)管理。我們采用的緯度是SaaS,就是一切以服務(wù)的形式去交付。傳統(tǒng)情況下,從最底層的網(wǎng)絡(luò)存儲、服務(wù)器,一直到之上的虛擬化,再到上層的應(yīng)用,都需要IT部門用人工的方式來進行各種各樣的部署、配置和優(yōu)化。云服務(wù)有三種不同的形式,我們分別叫基礎(chǔ)架構(gòu)即服務(wù)(IaaS),還有平臺即服務(wù)(PaaS),以及軟件即服務(wù)(SaaS)。這三種方式也是從兩邊向中間融合的過程。
SaaS類提供的服務(wù)其實就是從最底層的硬件,一直到最上層的應(yīng)用,都是由服務(wù)提供商來提供的。比如說人力資源的一些應(yīng)用,包括CRM、ERP等都是典型的SaaS。另外一個陣營就是IaaS,現(xiàn)在絕大多數(shù)公有云的服務(wù)提供商其實提供的都是一種IaaS的服務(wù),當然它會向中間,或者會向上做這種融合,什么叫做向上融合?就是現(xiàn)在整個看大數(shù)據(jù)管理當中都是以一種技術(shù)棧的形式,底下是硬件,之上是虛擬化的層,有操作系統(tǒng)、中間件、運行時、數(shù)據(jù)和應(yīng)用。
那么,中間出現(xiàn)的就是PaaS,所謂的平臺即服務(wù)。平臺即服務(wù)里面有很多不同的陣營,最主要的兩大陣營應(yīng)該是以谷歌為首推出的Kubernetes,縮寫K8S,另外就是以VMware、EMC為主推出的Cloud Foundry,通常稱之為結(jié)構(gòu)性的PaaS。K8S則稱為非結(jié)構(gòu)化的PaaS。開源的、創(chuàng)業(yè)型的公司比較喜歡K8S,大公司比較喜歡Cloud Foundry。
對于程序員來說,其實帶來兩個很重要的概念。一個概念叫做開發(fā)與運維合二為一。傳統(tǒng)的IT企業(yè)中,開發(fā)、測試、運維可能是不同的團隊來完成的事情,而在PaaS下,現(xiàn)在可能是集中在一個團隊,甚至一個人身上,這對程序員來說其實提出了新的要求。另外一個概念就是叫做CI/CD,它代表持續(xù)的集成和持續(xù)的交付。
在互聯(lián)網(wǎng)的時代、大數(shù)據(jù)的時代,交付與集成的速度變得越來越快,也就是所謂迭代的速度越來越快,它包括自我迭代的速度。從原來的需要6個月(甚至更長時間)才可能做一次軟件更新,到現(xiàn)在我們甚至是希望每天都能做更新,或者至少兩周做一次更新(比如移動的應(yīng)用),這對于程序員而言,意味著你要使用新的開發(fā)模式、新的工具鏈、新的軟件開發(fā)平臺,這些東西其實都是PaaS關(guān)注的。所以,我們說SaaS是非常高層的一個東西,最終交付的是完整應(yīng)用。IaaS其實和底層的很多硬件、很多底層的運行時操作系統(tǒng)、虛擬化的技術(shù)去打交道。我認為在相當長一段時間內(nèi),PaaS是程序員最需要關(guān)注的。
我們再來看一看大數(shù)據(jù)分析,了解有哪些工具、哪些緯度可以幫助我們更好地了解如何展開工作。大家看左邊的比較表,其實我們可以從大數(shù)據(jù)的整體架構(gòu),它的運營成本、可靠性、能處理的數(shù)據(jù)的實時性、規(guī)模性,還有能對多么豐富的非結(jié)構(gòu)化、半結(jié)構(gòu)化數(shù)據(jù)進行處理,是不是可以從復雜的多表關(guān)聯(lián)的緯度去看,大家其實可 以看到Hadoop、NoSQL、流數(shù)據(jù),包括MPP的數(shù)據(jù)庫,其實各有千秋,因為時間關(guān)系,我們在這里就不深入展開了。
我們現(xiàn)在再來聊一聊大數(shù)據(jù)科學。這張圖大家可能沒那么熟悉。我們先說一下在大數(shù)據(jù)處理的過程當中,隨著數(shù)據(jù)量變得越來越大,數(shù)據(jù)的流動性,即數(shù)據(jù)產(chǎn)生的速率越來越高,我們經(jīng)歷了什么樣的階段呢?其實是三大階段,20世紀90年代是商業(yè)智能的時代,BI的時代,那個時候我們做的工作是什么?那個時候做的主要可以概括為“后知后覺”。這時,數(shù)據(jù)已經(jīng)產(chǎn)生了,也許是去年產(chǎn)生的,也許是上個月產(chǎn)生的,也許是昨天產(chǎn)生的,總之我們沒有能力做實時的數(shù)據(jù)分析。
從“后知后覺”向前發(fā)展我們稱之為“因地制宜”,就是對數(shù)據(jù)以近實時,或者實時的速度和能力處理大量的數(shù)據(jù)。再往下發(fā)展我們認為你可以有一種“未卜先知”的能力,當我們使用了機器學習和深度學習,當我們使用這些復雜算法和統(tǒng)計模型的時候,通過對現(xiàn)有數(shù)據(jù)的分析,能判斷未來會發(fā)生什么,這是非常具有價值的。我們看到,整個大數(shù)據(jù)科學的發(fā)展,引發(fā)了一種新的職位。
《哈佛商業(yè)周刊》在前幾年的時候提出了大數(shù)據(jù)科學家的說法。數(shù)據(jù)科學家是21世紀最性感的一個職業(yè)。大數(shù)據(jù)科學家和30年前開始出現(xiàn)的數(shù)據(jù)分析師,他們有什么本質(zhì)的區(qū)別呢?我們認為大數(shù)據(jù)科學家是具有多種能力的人才。大家看PPT右面的三個圓,同心圓交匯的那部分就是大數(shù)據(jù)科學家應(yīng)具有的能力。最基礎(chǔ)的能力是“黑客”的能力,即強大的編程能力,所有的程序員都應(yīng)該具備這個能力。如果大家要往這個方向轉(zhuǎn)變,需要有數(shù)學和數(shù)理統(tǒng)計的知識。
最底下的藍色的圓是行業(yè)知識,大數(shù)據(jù)科學家不僅要有編程的能力、數(shù)理統(tǒng)計能力,還需要有行業(yè)的知識。無論你進入的是醫(yī)療行業(yè)、電力行業(yè)或者是金融行業(yè),都 需要去了解行業(yè)所具有的特點。如果大家對大數(shù)據(jù)科學家職位非常感興趣,我對大家的建議是要進入到一個行業(yè)當中,了解它的行業(yè)的發(fā)展和商業(yè)運行的機制,再結(jié)合你的數(shù)理統(tǒng)計跟編程能力,我相信大家會有很好的發(fā)展。
最后一個問題是大數(shù)據(jù)應(yīng)用。我們來談大數(shù)據(jù)應(yīng)用的三個特性。第一,大數(shù)據(jù)的敏捷性,敏捷性意味著你的迭代速度會越來越高,所謂的找熱點、搶先機、以事件為 驅(qū)動等等都增加了應(yīng)用的敏捷性,對于大數(shù)據(jù)應(yīng)用的開發(fā)也是挑戰(zhàn)。第二,是應(yīng)用的彈性,應(yīng)用的彈性跟底層架構(gòu)的彈性是不可分割的。這個部分也比較容易理解,當有熱點出現(xiàn)之后,底層的基礎(chǔ)架構(gòu)會隨著需求增長而變化,應(yīng)用也需要有這種變化的能力。最后是應(yīng)用的服務(wù)化。這也不難理解,前面所有的基礎(chǔ)架構(gòu)即服務(wù)、平臺即服務(wù),都已經(jīng)變?yōu)橐苑?wù)為導向。
我們現(xiàn)在直接看下一頁——第三平臺的引用,其實指的就是互聯(lián)網(wǎng)時代、物聯(lián)網(wǎng)時代的應(yīng)用,它的一個核心的特點是MSA,也就是微服務(wù)架構(gòu)。從PPT右邊的部分大家能看到,微服務(wù)架構(gòu)其實也是現(xiàn)在非?;鸨囊粋€領(lǐng)域,大家如果要是希望深入了解,可以搜索相關(guān)的資料。
云應(yīng)用的12要素是Heroku的一個共同創(chuàng)始人最早提出的,微服務(wù)架構(gòu)的12個特征幾乎已經(jīng)成為行業(yè)的一個圣經(jīng),所有人都會去引用,大家可以到網(wǎng)上查一查。還有自服務(wù)的敏捷架構(gòu),指的就是PaaS,我們說PaaS提供了敏捷的架構(gòu),他讓程序員、用戶可以自己定制服務(wù)。還有一個第三平臺引用,MSA有一個很大的特點就是基于API的協(xié)作,也就是說,傳統(tǒng)的應(yīng)用當中,其實每一個應(yīng)用都是獨享資源/獨占資源,應(yīng)用之間以程序調(diào)用的方式交互,如果改變一個程序,整個應(yīng)用都需要下線。
基于微服務(wù)架構(gòu),就是把復雜的應(yīng)用程序拆分為不同的服務(wù),這些服務(wù)之間以API作為交互的接口。還有一點需要說明,在大數(shù)據(jù)、云計算的時代,做架構(gòu)/應(yīng)用的設(shè)計時有一個理念叫面向故障的設(shè)計。什么叫做面向故障的設(shè)計,其實指的是你的系統(tǒng)當中要有足夠多的冗余。最典型的例子就是Netflix,Netflix所有的基礎(chǔ)機構(gòu)都跑在亞馬遜的云上。
Netflix設(shè)計了一套Chaos Monkey,相當于隨機在亞馬遜的云上,在Netflix的架構(gòu)之上,它去破壞掉一些已有的應(yīng)用,已有的服務(wù),讓已有的基礎(chǔ)架構(gòu),比如網(wǎng)絡(luò)、存儲,或者一些CPU去下線,以此來測試整個系統(tǒng)的健壯性。這在第三平臺的應(yīng)用和微服務(wù)的體系結(jié)構(gòu)當中其實是非常有意義的。
我們看一看大數(shù)據(jù)的現(xiàn)狀。右面這張圖還是比較關(guān)鍵的。我們看到,第三平臺應(yīng)用發(fā)展和增長的速度非常高,是第二平臺的10倍。但是,如果看應(yīng)用的絕對數(shù)量,其實還是第二平臺更高。如果大家已經(jīng)在第二平臺上工作,比如你從事的是Oracle、Java的工作,不必慌張,可以借鑒學習第三平臺,但是,第三平臺并不會在短期之內(nèi)完全取代第二平臺,因為很多公司就是因為過于激進向第三平臺遷移,造成了業(yè)務(wù)的反復,這也是得不償失的。
做一個小小的總結(jié),云計算到今天發(fā)展了十年,改變了IT的形態(tài)、IT交付的方式。那么,大數(shù)據(jù)改變了什么?大數(shù)據(jù)改變了我們的業(yè)務(wù)、應(yīng)用和管理方式,大數(shù)據(jù)是在云計算時代最重要的領(lǐng)域。
下面我們要簡單聊一聊開源的趨勢?,F(xiàn)在我們所處的時代叫做共享經(jīng)濟的時代,開源大行其道。如果大家對LAMP (Linux + Apache + MySQL +Perl/PHP/Python) 有所了解,我們可以認為整個大數(shù)據(jù)和云計算時代,主流的基礎(chǔ)架構(gòu)的底層用的都是這些相關(guān)的技術(shù)。那么,除了Java依然穩(wěn)居所有編程語言的之首外,大家看到黃色的曲線在過去的十年當中是增長得如何之快,假以時日,我們甚至有理由相信,Python會取代Java。右上角的那個曲線,上面指的是Oracle數(shù)據(jù)庫的市場份額,下面是MySQL數(shù)據(jù)庫的市場份額,雖然有放緩的趨勢,但開源的風頭之勁是不可低估的。
我們說開源的發(fā)展欣欣向榮。它也代表至少在相當長一段時間里開源技術(shù)會對程序員技能的幫助非常之大。我的建議是大家更多的去關(guān)注開源的技術(shù)。
最后我們說一下程序員的職業(yè)生涯如何規(guī)劃。一個程序員未來的發(fā)展過程當中,通常有兩條通道,一條我們管它叫IC,Individual Contributor, 指個體的貢獻者。個體貢獻者再向成熟、高端發(fā)展,可以變成構(gòu)架師,變成一個團隊技術(shù)的領(lǐng)頭羊,或者變成一個PM,作為項目經(jīng)理、產(chǎn)品經(jīng)理,作為獨立的貢獻者。在這個團隊當中,其實有幾條不同的路線可以向上發(fā)展。
程序員的另外一個發(fā)展方向就是管人,變成People Manager,很多程序員都愿意往這個方向作為嘗試,我覺得這要看你個人的性格與興趣。如果你非常愿意跟人打交道,非常關(guān)注內(nèi)心感受和需求,我覺得你比較適合去做Manager,一步步走向管理崗位。如果你在技術(shù)上有長期的、執(zhí)著的關(guān)注與發(fā)展,那么不妨更多地往構(gòu)架師、系統(tǒng)構(gòu)架師方向去培養(yǎng)自己。
無論是做IC,還是做Manager,大家都可以根據(jù)的自身的需求、訴求,包括你自己的意愿來做出一個明智的選擇。但是無論怎么做,我們對新技術(shù)的關(guān)注是不變的。我們今天做這個分享,也是希望大家能對這些新興的大數(shù)據(jù)的技術(shù)和它的來龍去脈有一個基本的了解。
互動環(huán)節(jié)
提問1:程序員除了技術(shù)方面的儲備,還需要哪些軟技能?
孫宇熙:溝通的技能非常重要!無論是口頭、書面還是演講、展示、說服別人、甚至辯論的技能...
提問2:您在招聘程序員時,最關(guān)注他的哪些方面?
孫宇熙:靠譜就行 - 英雄不問出身,膽大、心細、上手快(學習能力強)、并行處理問題能力 -一個人身上很難都匯集全了,但是碰上了一定要拿下。
提問3:作為一個大數(shù)據(jù)程序員,非要學習精通J2EE嗎,不學習J2EE能走多遠?
孫宇熙:這個問題其實非常有趣,Java從1994年出現(xiàn)到現(xiàn)在已經(jīng)20多年了,即便是大數(shù)據(jù)的發(fā)展也沒有拋下Java,它的市場份額始終雄居榜首。我個人這么認為,大數(shù)據(jù)其實有不同的門類和派別,Java只是其中一種,我得承認它是最流行的語言之一,還有比如Python, R語言、Go語言等等,還包括不同的處理框架,比如MadLib之類,如果你有興趣、有精力,嘗試了解熟悉或者上手實踐Java是有意義的,如果你已經(jīng)在大數(shù)據(jù)領(lǐng)域當中是一個高手,其實沒有必要再非要去再學Java。
提問4:哪方面的統(tǒng)計技能在大數(shù)據(jù)時代比較需要?
孫宇熙:我應(yīng)該換個角度回答這個問題,如果你是學統(tǒng)計學或者精算出身,其實你要去轉(zhuǎn)行做大數(shù)據(jù)并不是很難。我認為你已經(jīng)具有了前面所說的三個元當中的數(shù)理統(tǒng)計能力,你需要從基礎(chǔ)的編程開始,至少熟悉或者了解一種編程語言,90后的同學都喜歡Python,早期可能學第一門語言很吃力,需要幾個月的時間,但是我可以告訴大家,在我們研究院,我們一些同學觸類旁通學一門新的語言大概就是半個下午,真正精通大概要兩個星期,這取決于精通到什么程度,一邊查著手冊,一邊學一種更為復雜的應(yīng)用,也算是一種精通。
提問5:前面講的都是面向工科背景(程序員、碼農(nóng)),而對于文科背景的,如何在大數(shù)據(jù)的時代分一杯羹?數(shù)據(jù)科學家是21世紀最性感的工作,文科生也可以性感一把嗎?
孫宇熙:這個問題是關(guān)于文科生是不是也可以進入大數(shù)據(jù)這個行業(yè),如果用開玩笑的方法說,我覺得文科生至少可以做現(xiàn)在新興的一種職位叫做程序員鼓勵師,文科同 學可以考慮一下這方面發(fā)展的機會,當然這純屬開玩笑。我認為文科的同學雖然缺少一些數(shù)理統(tǒng)計跟編程的知識,但是行業(yè)經(jīng)驗依然非常重要。舉個簡單例子,醫(yī)療行業(yè)的醫(yī)生,取決于醫(yī)生算理工生,還是文科生,我認為醫(yī)生算個半文科生,醫(yī)療背景的專家,在一個公司當中,需要和大數(shù)據(jù)的程序員一起來工作,才能實現(xiàn)醫(yī)療 大數(shù)據(jù)的功能。這其實可以認為是一種文理結(jié)合。
提問6:作為高校老師,選用什么樣的教材可以讓學生能夠講練一體地學習這些大數(shù)據(jù)方面的知識,能否給一些好的學習資料?
孫宇熙:我要回答一下這位老師的這個問題??赡芪业慕ㄗh會有一點點偏頗,我覺得無論是云計算,還是大數(shù)據(jù)的發(fā)展,其實工業(yè)界在這個時代是領(lǐng)先于學術(shù)界的。所以說,我建議去參考一下工業(yè)界相關(guān)的資料和書籍。我的同事兩年前曾經(jīng)寫過的一本《大數(shù)據(jù)——戰(zhàn)略、技術(shù)與實踐》,我覺得是一個非常好的科普,或者大數(shù)據(jù)進階的書籍,我覺得也適合作為高校教材。
提問7:如何進入大數(shù)據(jù)這個行業(yè)?
孫宇熙:其實隨著云計算跟大數(shù)據(jù)的深入人心,它其實改變的、顛覆的是所有行業(yè),是我們生活當中所有的角落。還是回到三個圓的問題,我們說你要有一些基礎(chǔ)的編 程經(jīng)驗,要有行業(yè)知識,要有數(shù)理統(tǒng)計知識,做好這些準備,我覺得進入大數(shù)據(jù)行業(yè)是一件水到渠成的事情,只是時間問題而已。
來源:華章微課堂
刷新相關(guān)文章
我要評論
活動推薦more >
- 2018 上海國際大數(shù)據(jù)產(chǎn)業(yè)高2018-12-03
- 2018上海國際計算機網(wǎng)絡(luò)及信2018-12-03
- 中國國際信息通信展覽會將于2018-09-26
- 第五屆FEA消費金融國際峰會62018-06-21
- 第五屆FEA消費金融國際峰會2018-06-21
- “無界區(qū)塊鏈技術(shù)峰會2018”2018-06-14
不容錯過的資訊
-
1#后疫情時代的新思考#疫情之下,關(guān)于醫(yī)
-
2眾盟科技獲ADMIC 2020金粲獎“年度汽車
-
3數(shù)據(jù)智能 無限未來—2020世界人工智能大
-
4#2020非凡大賞:數(shù)字化風起云涌時,共尋
-
5#榜樣的力量#天璣數(shù)據(jù)大腦疫情風險感知
-
6#榜樣的力量#內(nèi)蒙古自治區(qū)互聯(lián)網(wǎng)醫(yī)療服
-
7#榜樣的力量#實時新型肺炎疫情數(shù)據(jù)小程
-
8#榜樣的力量#華佗疫情防控平臺丨數(shù)據(jù)猿
-
9#后疫情時代的新思考#構(gòu)建工業(yè)互聯(lián)網(wǎng)新
-
102020可信云大會丨《云MSP發(fā)展白皮書》重