讀古今文學網 > 程序員必讀之軟件架構 > 進一步的技術能力 >

進一步的技術能力

「T」指的是技術,這也正是優秀的軟件構架師應該懂得的。作為軟件開發者,我們傾向於去搞懂編程語言語法、API、框架、設計模式、自動化單元測試和其他所有日常使用的底層技術。對一個軟件構架師來說,這些也是基礎知識。為什麼?因為扮演軟件構架角色的人要懂技術,這樣他們至少能如實回答以下類型的問題。

  • 該方案是否有效?
  • 我們要這樣去構建嗎?

然而,從熟練掌握不同編程語言的學習曲線來看,軟件專業人員常常只精通一到兩項技術。最後,這些人都會被叫作「Java開發者」、「Oracle開發者」什麼的。我本人曾是如此,也在很多組織中目睹這種情況。如果你還對編程語言的宗教戰爭感到困惑,看看有多少這樣的前綴吧。

儘管我們努力保持開放的思維,但還是受困於單一的技術棧。其實這也沒什麼錯,但你不得不小心地保持開放思維。俗話說,「如果你只有一把錘子,一切看起來都像釘子」。獲得經驗是學習之旅的重要組成部分,但不要被經驗束縛。比如說,並不是每個軟件都需要一個關係型數據庫,但在團隊勾畫候選的軟件架構時,往往第一個就會畫它。