在我看來,架構師應該是兩個領域的問題的專家。乙個是問題領域,乙個是計算機領域。而且這兩個領域都必須要有很強的基本功。在計算機領域,他必須熟悉很多的體系結構;在問題領域,他必須了解要解決的問題,能夠很快地辨識這些問題,並且可以把這些問題轉換成計算機領域的描述方式。這兩個領域缺一不可,而且了解還必須要深入。
除此之外,架構師必須要具備邏輯思維能力,也就是分析問題和解決問題的能力。其他型別的技術人員只需要了解乙個相對比較小範圍的知識。比如乙個程式設計師,只需要按照架構師給出的解決方案,把你的任務完成就可以了。而架構師要從整體上分析問題、解決問題。他可能對實際的程式不一定非常了解,但是他知道怎麼樣把乙個具體的業務問題變成技術問題,他必須在這方面高人一等。
架構師除了要了解技術領域知識和業務領域知識之外,還可以多了解一些其他領域的知識,這對培養邏輯思維能力很有幫助。像我以前就對很多事情都很感興趣,比如一些物理方面的知識,這也有意無意地訓練了我的邏輯思維能力。當然,這與個人的興趣有關。同時,架構師應該具備關聯不同知識領域的敏感性。人類在做一件事情的時候,有時候會受到啟發關聯到其他的事情,這對手上的工作也是有幫助的。
架構師的分類
現在業界的架構師一般分為系統軟體架構師與應用軟體架構師兩種,二者之間的差距還是很大的。系統軟體關注的範圍更狹窄一些,更關注計算機領域。而應用軟體架構師主要關注的是業務方面。有些公司會把自己內部的架構師分為資料架構師、業務架構師、平台架構師等等,我對這種分法不是很贊同。
乙個架構師實際上應該是乙個領袖。產品或專案在架構上是由他乙個人來決定的。團隊裡面有各種分工,大家考慮問題的出發點可能差別很大。如果沒有乙個架構師來統領全域性,大家的意見就很難統一。這對架構師的要求就非常高了,他必須具備各個方面的專業知識,這樣才能帶領團隊前進。如果把他的職能打散了,實際上是不合理的。而且這些人也不應該叫架構師了,不妨稱之為各個技術領域的分析員。我們看一些偉大的建築,實際上這些建築的架構師只有乙個人。可能會有很多助手來幫他做很多東西。但是一些統領全域性的想法還是要由架構師乙個人來決定。
架構師經常要與孤獨為伴
架構師遇到的最困難的事情,就是必須要做別人沒做過的事情,要比別人領先一步去了解一些知識和技術,事先有乙個清晰的認識,這樣才能幫助團隊其他人。這點是比較難的。經常自己在探索的時候,困難重重,也得不到別人的幫助,只能靠自己孤軍奮戰。
技術架構總是在不斷演變的,對於真正的架構師來說,解決問題的思想、思維方式最為重要。有了這樣的思想和思考框架,再借助一定的工具,就能把自己的思想轉化成解決問題的具體方案。思想,是架構師一生相伴的好朋友。
如果讓我說具體哪些人是非常好的架構師,可能一時說不上來,但是有一句話我可以保證:每乙個成功的產品背後一定有乙個偉大的架構師。
與架構師相關的誤解
目前業界對架構和設計的認識上應該是存在一些誤解的。架構,要分析業務領域的問題,把其中的一些計畫、理念、概念轉換成計算機領域的表達方式,這跟設計還不完全是一回事。設計,就是有了乙個目標之後,做具體的事情,把這些計畫、理念變成程式。而架構是從無到有的,架構師要能「無中生有」地建立乙個模型。設計更像是一種施工人員。
隨著我們國內it
水平的不斷提高,相信大家對於「架構師」這個名稱的定位會越來越清晰。現在好像誰都是架構師,誰都可以做架構師。比爾·蓋茨在退休之前稱自己為「首席架構師」,後來國內很多人也自封為「首席架構師」了,他們可能覺得這個名字很好聽。但是這個職位並不像他們想象的那樣,要能真正深入到領域裡面去,而不是掛乙個好聽的名頭。現在有些企業為了趕時間做專案,對於架構還並不是很重視。實際上架構師的職責是非常重要的。只有架構做好了,產品的生命力才能延續很長時間,否則將來一定會遇到很多問題。
架構師應該不斷學習
除了邏輯思維能力之外,學習能力對於架構師也很重要。比如讓從未接觸過erp
產品的架構師去做erp
產品的架構,可能一開始不知道是怎麼回事,但是有學習能力,再了解一些基礎的東西,他很快就能趕上來。
想成為架構師,沒有捷徑。只有通過自己的努力,在每天的工作中不斷總結,不斷學習。
什麼是架構師
什麼是架構師?架構師是軟體行業中的新興角色,主導系統全域性的分析設計和實施 負責軟體構架和關鍵技術決策。架構師的工作職責 在軟體專案開發過程中,將客戶的需求轉化為規範的開發計畫和文字,並指定這個專案的總體架構,指導整個開發團隊完成這個計畫。梁永昌,趨勢科技研究部和軟體系統架構部副總裁 軟體架構師的工...
什麼是架構師
軟體行業架構師兩個定義 系統架構師是乙個既需要掌控整體又需要洞悉區域性瓶頸並依據具體的業務場景給出解決方案的人。具體來說是乙個確認和評估系統需求,給出開發規範,搭建系統實現的核心構架,並澄清技術細節 掃清主要難點的技術人員。主要著眼於系統的 技術實現 因此他 她應該是特定的開發平台 語言 工具的大師...
架構師知識體系 2 什麼是架構師
軟體行業架構師兩個定義 系統架構師是乙個既需要掌控整體又需要洞悉區域性瓶頸並依據具體的業務場景給出解決方案的人。具體來說是乙個確認和評估系統需求,給出開發規範,搭建系統實現的核心構架,並澄清技術細節 掃清主要難點的技術人員。主要著眼於系統的 技術實現 因此他 她應該是特定的開發平台 語言 工具的大師...