專訪李智慧型 架構是最高層次的規劃和難以改變的決定

2022-03-23 08:17:15 字數 4446 閱讀 5871

李智慧型(微博、linkedin),目前任職宅公尺網cto,曾供職阿里巴巴與英特爾亞太研發中心,從事大型**、分布式系統、大資料平台方面的研發工作。著有《大型**技術架構 核心原理與案例分析》一書。

csdn:你是如何走上技術這條路的?談談畢業這些年來在工作中的收穫和體驗。

李智慧型:我大學學工業自動化,在校的時候乙個偶然的原因在圖書館看到一本c語言程式設計的書,從此迷上程式設計,但是畢業後從事的卻是儀表工程師的工作。工作四年以後,難以割捨對計算機的熱愛,報考了北京工業大學計算機專業的碩士研究生,然而,錄取的時候卻被調劑到熱能工程專業,於是又稀里糊塗讀了三年汽車內燃機碩士。幸運的是,碩士畢業後我找到了乙份軟體工程師的工作,開始了自己的職業程式設計生涯,而這時我已年近30,距離大學畢業也已經7年了。

所以我的工作體驗就是:如果你真的喜歡一樣東西,你不會在乎為她經歷多少曲折,蹉跎多少歲月。你不會盲從所謂過來人的經驗之談「30歲以後就不能程式設計了」,你會心甘情願把青春獻給她,無怨無悔,無畏於任何結局。

csdn:你目前最關注哪些技術領域?

李智慧型:我目前比較關注的是雲計算與大資料方面的技術。

我在intel工作期間開發過一些大資料相關的產品,也為開源大資料平台apache spark貢獻過**。大資料技術雖然現在火了又火,但是我認為大資料能提供的價值還沒有爆發出來,未來計算機與網際網路可以為人類提供更多個性化服務和主動服務,實現某種意義上的人工智慧,現在做的還遠遠不夠

李智慧型:我開始寫作《大型**技術架構:核心原理與案例分析》這本書是在2023年,那一年中國網際網路出了幾件比較有影響的事,京東的**宕機事件,12306的春運宕機事件,以及多個重要**的洩密事件等等,因此我覺得有必要普及下網際網路技術架構的核心原理與基本方法,讓新入行的網際網路工程師們少走些彎路。

因為定位在網際網路技術知識普及,所以整本書的行文都比較淺顯易懂,只需要一些基礎的專業知識就可以順利閱讀。這本書上市以後也得到廣大讀者的認可,很多讀者私信我說受益良多,也有些學校選用這本書做教科書,還獲得過csdn 2013最受讀者歡迎原創圖書獎、電子工業出版社2014最暢銷圖書獎。我自己很高興這本書能為中國網際網路技術進步貢獻一點力量。

csdn:你個人對架構/軟體架構的理解是?

李智慧型:關於架構的定義有很多,我自己比較喜歡這個:「架構是最高層次的規劃和難以改變的決定」

軟體架構設計應該在乙個很高層面上進行,在做架構設計的時候:

csdn:如何最大限度避免乙個架構設計的失敗?

李智慧型:我個人感覺無所謂失敗的架構,正如沒有完美的架構。只要產品還能繼續開發、維護、使用,再糟糕的架構也不能稱為失敗的架構;而乙個產品如果開發中難以為繼,交付後難以使用,也絕不會僅僅是因為架構設計的失敗。

而要避免糟糕的架構設計,以及避免糟糕的架構設計給專案帶來更多的傷害,我認為最好的辦法就是讓專案組全體成員共同擁有架構;而不是架構師把架構當做個人的私有財產,拒絕他人染指。架構師設計架構,然後專案組共同討論修正,通過討論讓每個工程師都參與到架構設計的過程中,讓每個工程師都理解架構並遵從架構設計去開發。這樣即使架構設計存在問題,也會在開發過程中暴露出來,發現問題的工程師會積極和架構師討論進一步修正完善架構。

李智慧型:**的故障千奇百怪,各種不可思議,但是大多數故障都是處理高併發請求而直接或間接導致的。很多問題在使用者訪問量小的時候,根本不會成為問題,比如執行緒鎖的問題,磁碟爭用的問題,資料庫負載高的問題等,但是使用者訪問量一高,就會爆發出各種故障。高併發場景下的故障很難通過一般的功能測試發現,效能測試可以發現一部分問題,但是一定有一些問題只有在實際的高併發場景中才會出現。

**的技術堪稱國內翹楚,但是每年雙十一為全球電商**交易額創出新高的同時,也是**技術部壓力最大的時候,所有工程師那一天無不戰戰兢兢、提心吊膽,不到狂歡結束,誰也不知道問題會不會出在自己寫的某一行**上。我在《大型**技術架構:核心原理與案例分析》中專門有一章講「大型**典型故障案例分析」,有興趣的同學可以參考。

李智慧型:學習大型**架構技術乙個比較好的辦法是去大型**工作。但是,大型**進入門檻很高,而且內部分工明確,只有少數人能完整了解**整體架構,你很難成為那少數的一些人。

學習大型**架構技術乙個更好的辦法是去一家創業公司,伴隨著這家創業公司逐步成長,成為大型**,你參與其中,自然就學習了大型**的架構技術。可是,創業公司千千萬萬,哪一家才能成長為大型**?

李智慧型:良好的程式設計能力,雖然架構設計不需要程式設計,雖然很多架構師日常工作也不需要程式設計,但是如果你的程式設計能力不過硬,你幾乎無法設計乙個良好的架構,設計出來也難以在開發過程中落實。最主要的,和一群挑剔的工程師合作,如果架構師缺乏良好的程式設計能力,幾乎沒有容身之地,遑論開展工作。

良好的溝通能力,架構師不是把架構設計出來就完事了,必須要讓專案組成員認可架構設計並在開發過程中落實架構設計,必須要和專案組成員頻繁溝通,在各種質疑、建議、疑惑中推進工作。同時,架構設計需要綜合考慮產品、業務以及公司各方面的情況,需要和相關團隊密切合作。總之需要處理大量的溝通協調工作。

此外,有一些不是必須具備,但是具備了會如虎添翼的能力

csdn:在你的書中曾提到,「先成就他人,再成就自己」、「剛開始加入的時候不要急於證明自己,要先融入」、「最好的獎勵就是目標的達成,最大的懲罰就是目標沒實現」、「技術是要解決問題,但是我們要關心的是解決問題的人」、「學會妥協」、「越激烈的爭辯代表越關心這個問題」,對於入門或初級的架構師你有什麼心得和經驗可分享?

李智慧型:要勇於承擔責任,不要害怕失敗。不要怕自己的能力不足以勝任工作,既然公司安排了你做架構師,就是經過反覆權衡慎重考慮的,你就是目前最適合這個職位的人。不要害怕自己犯錯給公司帶來損失,為員工犯錯承擔必要的損失是公司應付的成本之一。相對這些損失,鍛鍊骨幹、磨合團隊、打造敢拼敢闖的企業文化對公司的長遠發展更重要。

要虛心學習,不要不懂裝懂。作為新晉架構師,一定有許多不會的技能技巧,不要因為害怕被同事質疑自己的能力而不懂裝懂。不懂裝懂即使能糊弄過現在,你也不會有更加美好的將來。

csdn:請談一下當前架構師所面臨的挑戰。

李智慧型:架構師是乙個非常有挑戰的工作:

這兩方面的要求對多數人而言是衝突的,很多人年輕的時候擅長學習新知識而缺乏經驗,年長後擅長總結經驗而對新知識反應遲鈍。架構師必須要克服這種衝突,在擁有經驗的同時不停更新自己的知識。stay hungry, stay foolish。

csdn:身為cto您從技術人員轉到管理人員,有什麼技巧?

李智慧型:我做架構師的時候,發現如果開始能設計乙個較好匹配業務的架構,並能和專案組成員就系統架構達成共識,整個專案開發過程並不需要投入太多精力,只要關注專案不要偏離目標即可。我相信大道應該至簡,觸類可以旁通。我做cto也沿用這一思路,和技術部同學們就組織架構、技術體系、工作流程、業務重點達成一致並推行實踐,而不是企圖將個人意志加諸整個團隊身上。

csdn:您現在每天還程式設計嗎?

李智慧型:我在做cto之前,在離開intel前的最後三個月大概寫了一萬行**。但是做cto之後沒有為公司寫過一行**,我會review**,review架構設計,但是我不會寫**,我覺得每個人都應該也有責任把自己的工作做好,cto的工作職責不是寫**,cto寫**是一種越俎代庖

但是cto應該程式設計以保持技術敏感性,他可以寫一些小專案做一些技術驗證,可以參與某個開源專案的開發。甚至也可以為公司寫一些**,但是最好不要將這些**提交到公司的**庫。

csdn:您作為技術人員,可否分享下您的學習知識或技能的方法?

李智慧型:軟體開發領域是乙個變化特別快的領域,新的技術新的工具層出不窮。如果工程師不能快速學習新知識就會被淘汰,如果技術領導者不能快速學習新知識甚至會成為團隊進步的障礙。

學習知識技能首先需要時間,工程師應該用工作時間的20%去學習,如果工作時間抽不出空學習,可以用加班時間學習,如果加班時間也被安排滿滿的,至少能忙完這一陣(自己熟悉了情況後)可以有機會安排時間學習。如果這種機會和希望都沒有的,如果你對自己負責的話,我建議你還是辭職吧。

學習知識技能其次需要方法,工程師應該建立一套自己的知識體系,然後不斷把新知識新技能納入這套體系中。這套體系成熟以後,讀一本自己領域內的技術書,聽一次自己領域內的技術講座,需要學習的新知識不會超過20%,這樣讀書聽講座就會很輕鬆,也很容易就能吸收這些新知識,進入良性迴圈。至於如何建立自己的知識體系,每個人都有不同方法,但是有一點是共同的,那就是學校裡的基礎專業知識一定要掌握好。

李智慧型 架構師訓練營總覽

負責產品及專案的整體架構設計,開發系統核心模組 規劃業務架構的合理演進,能夠制定合理的開發工作計畫並實施 優化現有架構,提出合理可行的重構方案 對新技術保持非常高的敏感度,同時有能力進行評估並合理引入 等等.1.了解架構訓練營的課程設計思路及內容綜述。2.對架構師以及架構工作有乙個深入透徹的理解。3...

專訪 奇虎架構師 技術人才轉管理是浪費

fw 自負 的高階技術人才 但是拋開技術能力,談及高階技術人才性格上的一些特質,李釗深有感觸和無奈,很多人才個性比較強,溝通能力差。我帶人帶了十五六年了。從我的經驗看,一般比較優秀的人性格方面或多或少都有點問題。比如說過度自負,導致他攻擊性強,自我認知膨脹,認為某個問題有沒有其他人都無所謂,但沒有他...

李彥巨集宣布百度架構調整 智慧型雲事業部公升級

在此特別感謝張亞勤 向海龍 王海峰在tg和各集團級技術平台發展過程中的重要貢獻!在新的組織體系下,希望大家繼續秉承 簡單可依賴 的價值觀,為 用科技讓複雜的世界更簡單 這一偉大使命貢獻重要力量!robin 求變是妥協還是突破?第二象限是關鍵使命 護城河,包括pc搜尋和大商業 第四象限是非關鍵使命 護...