回覆列表
  • 1 # 跨界架構師

    架構師的主要職責在招聘網站上都有寫,而且在不同公司的不同崗位可能有些差異。

    所以主要來說說需要具備哪些綜合能力以及如何提升吧。

    具備哪些能力

    首先你要知道任何的軟體之上承載的是業務,先有業務才有軟體的誕生。所以你對業務要有比較好的瞭解。不用面面俱到,但是廣度一定要有,並且儘量要達到熟悉的水平,否則你無法在宏觀層面把控架構設計與業務發展的合理性。比如:

    你得知道整個系統承載了哪些業務?這些業務之間又有什麼關係?如何運轉的?

    只有瞭解了這些,你才能知道如何用技術去“撬動”它,發揮技術最大的價值。

    關於技術,架構師做的工作是一個宏觀層面的工作,所以必須要有一個高視角和良好的抽象設計能力。因為只有視角更高,你才能發現更多的問題。而抽象設計是“架構”工作的本質,怎麼去抽象,怎麼去設計。前者靠的是分析能力,能否儘可能多的將不確定性識別出來,變成確定性的東西。後者靠的是規劃能力,規劃不是指整出個完美的、高大上的框架,而是適合當前環境的框架。這裡的適合就是儘可能的平衡好時間、人、錢這三要素

    想更詳細的瞭解,可以翻閱我的個人釋出的文章《從架構設計到架構師》:

    https://www.toutiao.com/i6579420163462922759/

    另外還有一些不管是不是架構師都需要掌握的通用技能,如溝通能力。制定架構方案可能是少數人的事,但是真正的去落地是全員的事,需要發揮溝通能力,或者說談判能力,給你的技術能力加速、加槓桿。

    如何學習

    關於業務,只能自己深入到一線去問,看文件等。

    關於技術,首先你得找到一把自己的武器,找一門語言深入去學,把底子打紮實,武器磨鋒利了才能做後面的事情。然後修煉網路原理、作業系統原理等內功,這些其實是一個蓄力的東西,一時半會看不出效果,但是會逐漸變成你成長道路上的加速引擎,讓你後發制人。如下圖:

    關於溝通能力等軟技能,是我們大部分技術人的短板。但只要做到這2點就會有很大改善。

    一是克服自己的心理障礙,充滿自信的去說服別人。二是需要學習一些心理學的知識,所謂知己知彼。

    那麼如何落實呢?

    實際在學習的時候,切勿停留在“看知識”的層面,不管看到什麼,多想一下自己怎麼去運用它,有沒有作用。像技術的話,現在框架冒出來的速度越來越快,不要沒有目的的去追逐,做好歸類,深入剖析其中的一個,其他的一通百通,瞭解起來也很快。還可以走一下“捷徑”,透過觀察實際發生過的事情細節,加上深度思考,去嘗試直接套用他人的思想到你的場景中,二次加工,形成你自己的思想。

    既然看到這了,送我一個「贊同」吧,支援我的創作

    也可以「關注」我,帶你以技術思維看世界~

    內容包括:架構設計丨分散式系統丨產品丨運營丨個人深度思考。

  • 2 # F浮名H

    主要是管理與技術兩方面的能力,管理與技術兩手都要硬,而技術是基礎。技術不行、退化了,那隻好做 PPT 架構師、首席佈道師之類的。

    技術能力

    軟體架構師是一位具有一定技術、產品、專案和團隊等管理能力的高階程式設計師(程式設計高手),通常是一個開發團隊裡面技術最牛(或者比較牛)的少數幾個人之一。架構師自身的技術水平和管理水平不行,常常會把團隊帶溝裡,重要性可想而知。

    成為架構師需要較長時間的一線開發經驗的積累。單純看工作年限,一般 3-5 年可成為初級架構師,5-8 年可成為中級架構師,8-10 年以上可成為高階軟體架構師,當然這只是大致的估計,具體達到何種水平還要看架構師的實際能力。

    經年累月,摸爬滾打,一位優秀的軟體架構師需要掌握的技術能力很多,先說幾個最基本的。

    建模

    軟體開發領域的建模能力,主要是指抽象的思考能力。

    普通碼農通常用程式碼思考,負責一個系統中的幾個小模組,所以思維常常侷限在低層(low-level)、戰術(tactic)的層面,考慮的基本上大多是某個功能、某個模組實現的具體細節與技巧。這是應該而且正常的,是團隊合理分工的結果。

  • 中秋節和大豐收的關聯?
  • 為什麼手機上不能玩經典的那些單機遊戲?