架構師:站在技術的山頂向前眺望
原創【51CTO獨家特稿】鐵打的程序員,流水的技術。程序員的開發生涯可能長達幾十年,但一門技術的平均壽命卻不長。因此作為程序員們的技術領袖,架構師必須有很好的技術前瞻性,要先于大家了解到最新的技術。
#T#
有人談到技術高手與架構師的區別就在于,架構師不光是著眼于現在,不僅僅局限于開發細節,比如如何調用,如何并發等等。而是跳出三界外,考慮一下面向未來問題和潛在風險的應對之道。
那程序員該如何培養自己的技術前瞻性呢?很大程度上來說還是要學好英語,國外的新東西,老東西的新特性肯定都是用英文寫的。即使國內有很多網站也在做外電翻譯,但面對海量的信息肯定是杯水車薪。而且有不少程序員所面對的領域本身關注度就不高,靠外部翻譯似乎很難實時跟進。這時就需要有良好的外語水平,能看懂國外的技術文章和文檔,能與國外相關人士進行交流。
外功是從外部獲得最新技術信息,那么內功就是自己的邏輯思維能力和接受能力。再新的技術,其實也與以前的技術有結合。這也是為什么我們說架構師首先是卓越的程序員,也就是這個道理。
但是架構師并不是將前沿技術的名詞天天掛在嘴上之人,整天只知道在程序員面前大談“云計算,SaaS”這些東西的架構師注定成不了好的架構師。新的技術雖好,但是程序員接受和再培訓還需要時間,還要考慮到系統的兼容性問題。因此,夸夸其談的名詞專家,并不是我們努力的方向。好的架構師,應該提前想到如何為程序員盡可能減輕負擔,比如數據庫軟件新的特性可以提高性能,簡化查詢步驟,那架構師是不是第一時間要引導程序員去適應新的特性,提高開發效率。
被技術潮流拋棄的架構師是可悲的
技術前瞻性還體現在對新技術的選擇上,哪些東西適合自己團隊,哪些不適合肯定要自己心中有本帳。工具選好了再返工的人力成本和時間成本是很多公司沒法負擔的,利潤就那么多,經不起瞎折騰。程序員在自己的學習過程中,也可以適當培訓一下自己,比如新的IDE中有新的功能,但是要安裝這新版本的IDE需要更新系統,更新硬件,還要更新和數據庫的接口。這一套下來花費的時間成本是多少,換算成工資是多少?我想事事都這樣過一遍,我們在做選擇的時候就不會盲目。
架構師在自己所處的領域肯定了解頗深,未來本領域技術該如何發展,應該有自己的理解。也會對未來技術的發展有所期盼,有自己的見解。當然這屬于比較發散的想法,個人有個人的目標。
51CTO總結:技術人生如逆水行舟,不進則退。
本文為《架構師害怕程序員知道的十項技能》中的技術前瞻能力篇。