BAT管理者都在思考:爲何技術最牛的碼農當不了首席架構師?

BAT管理者都在思考:爲何技術最牛的碼農當不了首席架構師?

 

過去的金三銀四的招聘季,公司的管理者都在思考:在如今的市場環境下,到底應該爲本身的公司注入怎樣的新鮮血液來維持發展。工程師們一樣也在思考如何得到更多成長和晉升的途徑。前端

不是人人都能作架構師

Eduards Sizovs 是 DevHub 的創始人,立志於爲軟件工程師羣體提供專業的職業諮詢服務,同時也是一位歐洲知名的技術佈道師。程序員

今天的文章基於 Eduards Sizovs 的行業經歷,主要介紹瞭如今程序員市場中稀缺的 「T」 型人才(既擁有豐富的技術背景,同時對業務也有必定的理解能力),以及這類人才在組織中發揮的重要做用,爲工程師羣體描繪了一條新的職業發展道路,幫助我的和公司獲得更長遠的發展。面試

今天,個人前同事 Alex 給我打了個電話,討論了一下他如今所在的新興互聯網公司的一些境遇。編程

Me:最近怎麼樣呀?後端

Alex:還行吧,最近公司在招一個首席架構師。緩存

Me:那挺好的,你沒去爭取一下麼?安全

Alex:我去了,可是被老闆拒了,聊了一下他以爲我不太合適。網絡

Me:你以爲本身能勝任麼?多線程

Alex:廢話,我有 7 年的大型項目經驗,精通各類架構。能持續產出簡潔高效的代碼並能主動去解決各種歷史遺留問題,流轉到我這裏的工單都能最快速地處理。我應該是全組代碼水平最好,研發效能最高的架構師了,不提我提誰?架構

Me:那你想過沒有,或許就是這個緣由致使你沒有被選上?

隨後咱們聊了些其餘的事就掛了電話,雖然 Alex 不過高興,可是我感受還挺好的,由於找到了問題的關鍵。

BAT管理者都在思考:爲何技術最牛的碼農當不了首席架構師?

 因而,我給 Alex 公司的老闆 Andrey 打了個電話。

Me:很久不見,據說大家最近在招首席架構師,爲何不直接從現有團隊裏面提拔一個呢?

Andrey:好比 Alex ?

Me:好比 Alex。

Andrey:公司現有的技術團隊的確擁有不少很厲害的架構師,可是我認爲他們都不太具有一個首席架構師所必需的素質。

Me:能展開說說麼?

Andrey:這個事情的邏輯是這樣的:一個首席架構師跟通常程序員的主要區別並不在於他是不是團隊中最聰明的那個,而在於他是否有團隊驅動力,是否能持續推進團隊的改善和進步,能幫助團隊中的新人快速地進階。雖然不必定要像精神領袖那麼厲害,但必須具有相應的領導力,這種領導力不只須要體如今研發團隊中,還要能影響產品、運營、市場等部門的同事,甚至也要能在管理層擁有必定的決策權。因此我認爲一個首席架構師須要能在公司內更好更快地組織資源,推進組織總體向前,並帶來正向的企業文化。

BAT管理者都在思考:爲何技術最牛的碼農當不了首席架構師?

 Me:因此你認爲首席架構師在幫助程序員的同時也要去了解非技術人員的問題?

Andrey:沒錯,常常聽到程序員們抱怨「業務方面」的同事徹底不懂技術,溝通效率也很是低,但光是抱怨解決不了任何問題,必需要有人在中間搭橋,解決這些問題。

首席工程師的定位就至關於公司內部的外交官。他必須有足夠的溝通能力,能跟不一樣的人打交道;能遊走在不一樣的部門,打通上下層溝通渠道;要勇於提出那些隱藏在公司內部卻不多有人勇於說起的問題,並具有足夠的領導力來贏得你們的支持。

Me:從你的描述來看,這我的既要有豐富的技術背景也須要有必定的對業務的理解能力。

Andrey:這個職位須要的是 「T」 型人才,不只僅深耕於技術領域,對不少原理型的東西有深厚的積累,同時還要能延展出去,跟運維、品控、安全、產品、人力、市場等領域的人共同協做,幫助公司進步。

Me:感受是一個一半工程師一半業務人員的感受。

Andrey:理應如此,如今大部分研發團隊都僅僅把功能上線的數量看成考評的惟一指標,這種方式其實已通過時了。

BAT管理者都在思考:爲何技術最牛的碼農當不了首席架構師?

 對於任何以盈利爲目的的公司來講,賺錢都是公司最重要的目標之一。如今不少功能都是爲了上線而上線,產品、技術、運營、市場等團隊之間缺少有效溝通,上線了一堆功能卻沒有辦法給公司帶來任何增加點。

咱們須要更多 「業務型」 程序員,他們能從全局出發,理解整個產品從最初的設計到部署再到如何才能打動客戶給公司帶來更多的效益,可以找到公司現有的不足並承擔起相應的責任來解決問題。

這些工做多是解決研發流程問題,或者是創建新的跨部門溝通機制,甚至是解決招聘問題。藉助鍵盤來實現商業價值的機會其實遠比工程師們想象的要少,若是你手中只有錘子,那你看全部的問題都以爲像釘子。

對於個人公司來講,越多 」業務型「程序員越好,而一個好的首席架構師能給其餘程序員樹立一個學習的榜樣。因此我以爲找一個首席架構師的意義不亞於一個創業合夥人。

Me:可是按照你的標準,基本上已經篩掉了市面上包括 Alex 在內的 99% 的程序員了。

Andrey:一個首席架構師是一個能給公司內不一樣組織都帶來影響的人,這樣的人正如你所說的,市面上 99% 的程序員都不能知足個人需求,可是爲了公司的發展,也只能繼續尋找了。

總的來講,我以爲咱們這個行業須要:

  • 更多的「僅以上線目的程序員」,業務性程序員。
  • 更多的 」碼農「,T 型人才。
  • 更多的 「抱怨」,跨組織溝通技巧。

首席架構師核心技術能力

那麼,一名首席架構師該擁有的核心技術能力是什麼?

(1) 要具有紮實的Java基礎

這裏所謂紮實的Java基礎不是咱們一般所理解的Java語法、面向對象的概念,而是能深入理解Java的多線程開發,熟練使用NIO技術優化網絡編程,瞭解JVM的底層機制,具有底層性能調優的能力,這些技能偏偏是Java開發人員每每忽略的基礎。

BAT管理者都在思考:爲何技術最牛的碼農當不了首席架構師?

 (2) 深刻學習經常使用開源框架

不少小夥伴可能會很困惑,爲何BAT的面試官老是喜歡問源碼?其實咱們經常使用的Spring、MyBaits這樣的框架能夠說是JAVA裏面最經典的教科書,從中你能學習到不少寫代碼的經驗技巧,而去悟開源框架中蘊含的優雅架構設計之道這纔是最重要的。

BAT管理者都在思考:爲何技術最牛的碼農當不了首席架構師?

 (3) 高性能分佈式系統設計與應用

根據雙十一日誌統計,前端系統有效請求約60w以上的QPS ,然後端cache的集羣峯值近2000w/s、單機也近30w/s,互聯網大廠的架構師面對的就是這樣的生產環境,因此分佈式、緩存、消息這樣搭建高性能系統的技術必須掌握。

BAT管理者都在思考:爲何技術最牛的碼農當不了首席架構師?

 (4) 微服務(分佈式服務技術)

微服務架構是一種架構風格,整個應用被劃分並設計爲以業務域爲模型的鬆散耦合的獨立服務,方便橫向擴展能力、伸縮性強、便於開發和維護等等這些是微服務與生俱來的優點。

BAT管理者都在思考:爲何技術最牛的碼農當不了首席架構師?

 (5) 溝通合做的能力

程序員的戰鬥,每每不是一我的的戰鬥,咱們如何在一個平臺下高效的去重,進行代碼review,對功能進行調整、debug,作到在統一的規劃下步步爲營,混亂的堆代碼的過程當中找到本身的記錄。這一切都依賴於有效的工具,Git、Maven和jenkins。

BAT管理者都在思考:爲何技術最牛的碼農當不了首席架構師?

 讀者福利

最後,我整理了一些相關架構資料,技術知識點剖析教程,還有和廣大同仁一塊兒交流學習共同進步,還有一些職業經驗的分享。能夠加個人私人交流羣【Java高級互聯網架構:964357187】點擊進入

BAT管理者都在思考:爲何技術最牛的碼農當不了首席架構師?

 

BAT管理者都在思考:爲何技術最牛的碼農當不了首席架構師?
相關文章
相關標籤/搜索