close

html模版專訪唯品會架構師肖樺:做編碼的架構師
摘要:日前,CSDN特別采訪瞭SpringSide發起人肖樺(網名江南白衣),請他分享瞭他眼中的Java以及從碼農到架構師的經驗之道。

日前,CSDN特別采訪瞭SpringSide發起人肖樺(網名江南白衣),請他分享瞭他眼中的Java以及從碼農到架構師的經驗之道。

lexus音響改裝肖樺

CSDN:你是從台北汽車音響改裝推薦什麼時候開始接觸Java的?是什麼地方吸引瞭你?

肖樺:大概從2001年開始接觸Java,之前使用C++,什麼都要自己造輪子。進入Java世界,突然發現很多優秀的類庫可以拿來就用。J2EE的一套東西,雖然後來大傢都批評它做得不好,但EJB、JMS、JMX、JCA,這些東西對於還想著用C++來實現類似功能的衰人來說,有這麼一套標準與實現實在太好瞭。即使在今天看來,J2EE的願景還是很好的,隻是一開始實現的重瞭,讓後來的Spring們搶瞭風頭。而在語言層面,突然就沒有瞭指針,也不用管對象回收瞭。和PHP、ASP比,又仍然是個高大上的靜態語言,對於我這種既喜歡優雅又喜歡簡單的工程師來說是最好的。

CSDN:你怎麼看待Java目前的現狀?

肖樺:Oracle現在對Java還是不錯的,Oracle是個務實的公司,Java的一切往務實的方向靠,比如它的發行計劃,模塊化爭議太多,就把它擱置,從JDK7一直延到JDK9,把能上的菜先上瞭。又比如最近對JDK7也停止免費支持瞭,不再拖著長長的產品線,將精力集中起來。另外,OpenJDK也是另一個選擇。但如果當初是Google得到瞭Java會怎樣呢,誰知道呢?

CSDN:Java發展至今已有二十年瞭,你經歷瞭哪些技術變遷呢?

肖樺:二十年的時間好像很長,但汽車音響改裝價格劃分起來也就三四波的變遷。

語言層面,第一波是JDK5,泛型和新的並發包出來,要不要升到JDK5以支持泛型對很多項目是個困難的選擇,最後是Spring之類幾個核心的三方框架類庫強行升級瞭,才帶著整個Java社區跟隨升級,那時候,每個升瞭級的項目都像走向瞭新生。很多項目也一直用JDK5到現在。

第二波是JDK6、7時,一波基於JVM的新語言出現,比如Scala、Cloujre,但對於不那麼愛玩的項目來說,感覺不大。

第三波就是現在的JDK8,變動之大與JDK5相比並不小,所以現在也等著各個核心的框架如Spring先升級,可見Java社區並不是極客那麼愛玩的地兒。

而在框架層面,J2EE無疑是第一波,Spring、Hibernate、Struts(SpringMVC)是第二波,老掉牙的故事也沒什麼好講瞭。而第三波,我覺得是越來越多互聯網應用使用Java,如果說J2EE和SSH更偏重於傳統企業應用,第三波的技術變遷,更針對大規模、分佈式、高可擴展性、高可靠性的互聯網應用,比如新一波的服務化浪潮。

CSDN:近日,Oracle宣佈停止發佈JDK7安全補丁和升級包,此舉,你怎麼看?

肖樺:Oracle現在就宣佈停止JDK7的安全補丁和升級包感覺有點早,因為據我所知,有些項目升級到JDK8之後,會因為JDK8內部一些實現的改進而造成不兼容,被迫又重新回退的。

但此舉也是可以理解的,一來可以集中精力維護現有的JDK8,因為JDK8的改動太大,依然同等著力地維護兩個版本可能有點吃力。二來,也是為瞭讓更多用戶主動地升級到JDK8來,如前所述,Java用戶的JDK升級意願一向不是很高,都靠著一些重要的開源框架類庫升級瞭才會去升級,Oracle這也有推一把的意思。

CSDN:為何會想到創建SpringSide,有什麼故事可以給我們分享嗎?

肖樺:創建SpringSide是為瞭留下自己的痕跡,這是在寫一本書和做一個開源項目之間的選擇。現在我有點慶幸當初選擇瞭後者,因為一個開源項目你可以堅持七八年不斷地升級,你的用戶也不會嫌你煩。而在做一個高大上的輪子,還是做個簡單務實的封裝與BestPractice的展示之間,我一點也不後悔當初選擇瞭後者,因為個人精力、白天工作、公司變更等原因,以個人為主的輪子型項目很難堅持七八年,不斷地維護它,可能還要大規模重構它的功能適應時代的變遷。當然,也有些項目做到瞭,向它們致敬。

CSDN:SpringSide目前有新版本更新嗎?主要有哪些新特性?

肖樺:SpringSide項目有一陣沒有大更新瞭,不過最近白天的工作從電信領域進入到互聯網領域,會有更多的針對互聯網、大數據的新特性。

CSDN:從一名碼農到軟件架構師,進階之路是什麼?有哪些方法呢?

肖樺:作為一個一直堅持寫代碼的架構師,從碼農到軟件架構師之間好像沒有一條很清晰的界限,是一個知識面與項目經驗的自然積累,以及在團隊中不斷體現出比個體程序員更強的責任後的漸進過程,所以有些敏捷團隊說自己不需要一個架構師,但其實開發者已經做瞭一部分架構的工作,不論他們的職位名稱是什麼。沒有誰能夠惡補完一些書後,然後獲得一個上級任命後就成為一個架構師瞭。再回過頭來,如果要惡補,有些東西還是值得重點加強,比如分佈式架構的基礎與理論、抽象化問題、簡化復雜架構的能力,比如架構文檔化並說給別人聽的能力,比如關於操作系統、網絡的基本功保證你解決問題的能力等等。

CSDN:在日常生活中你是通過哪些方式來提升個人技能的?現在還會經常編碼嗎?

肖樺:除瞭拉書單看書,閱讀文章這些日常的知識攝入手段外,最好白天找個牛人紮堆的地方工作,晚上在微信群裡繼續和整個互聯網的牛人們討論問題。另外,談哲學可能太玄乎瞭,我自己也喜歡簡單的東西,所以可以花點時間培養對美的直覺與訴求,代碼之美,架構之美。我對自己職業的定位就是編碼的架構師,也在百年老店愛立信那裡,看到不少退休前仍在編碼的程序員,所以這將一直是我的目標。

作者簡介:肖樺(網名:江南白衣),開源項目SpringSide(http://springside.io)發起人,70後Java程序員,一個依然每天磨練自己Coding匠藝的架構師,喜歡平實、幹凈的設計。目前就職於唯品會平臺與架構部。

B4BC59535A061FE0
arrow
arrow

    deprq0dzn 發表在 痞客邦 留言(0) 人氣()