程式員必須懂的架構入門課

来源:https://www.cnblogs.com/itlaobingge/archive/2019/11/25/11928564.html

程式員,真有必要瞭解架構嗎?有的人只關註眼下的“點”,有的人看到了延伸的“線”,還有人暢想出未來的“面”。就像在叢林中穿越,當你迷路找不到方向時,最好就是登上山頂或者爬上樹冠,讓自己有更寬廣的視野,從而找到通往目的地的最佳路徑。既要腳踏實地、低頭趕路,也要抬頭望天、暢想未來,正確的方向比速度更重要。 ...


程式員,真有必要瞭解架構嗎?

在解答這個疑惑之前,我們先來看一則故事:旅行者路過某個工地,建築工人們都在忙碌。出於好奇,旅行者問第一個人在乾什麼,那人頭也沒抬地回答道:我在搬磚。旅行者問第二個人在乾什麼,這個匆匆抬起頭認真地說:我在砌牆。旅行者問第三個人在乾什麼,那個人臉上充滿了光彩,很自豪地說:我在建造聖索菲亞大教堂,將福音傳播給更多人!

有的人只關註眼下的“點”,有的人看到了延伸的“線”,還有人暢想出未來的“面”。就像在叢林中穿越,當你迷路找不到方向時,最好就是登上山頂或者爬上樹冠,讓自己有更寬廣的視野,從而找到通往目的地的最佳路徑。既要腳踏實地、低頭趕路,也要抬頭望天、暢想未來,正確的方向比速度更重要。接下來,我們來看看架構跟你的“點、線、面”關係。

  • 一點

跟壘土坯房不同,建造摩天大樓離不開各式各樣的設計圖紙,構建複雜的應用系統也離不開架構設計。相信你所在的團隊也配了架構角色,或由資深開發兼任,或由專職架構負責。不管你從事哪方面工作,包括產品、開發、測試、運維或項目等,你都要跟架構師打交道,例如:產品可研、概要設計、技術選型、詳細設計、測試規劃、部署規劃、問題解決、招聘面試等等。如果對架構缺乏瞭解,那你就不清楚你跟架構師之間的協作界面,不知道架構師能給你提供哪些支持或幫助,不知道如何跟架構師高效地協作。如果只關心自己眼前的一畝三分地,那你很容易就滯留在“搬磚”層級。

  • 二線

中年危機,35 歲定律,這些命題對於你來說都是客觀存在的。隨著 IT 技術的不斷更新換代,普通程式員在市場上競爭力跟年齡成反比,除非你能提前構建出轉型升級所需的新技能樹。如果沿著技術通道發展,可選的晉升方向有兩個:技術專家,扎根於某個垂直的技術領域,往縱深發展;架構專家,構建出更加全面的技術體系,往廣博發展。雖然進化方向不同,但殊途同歸,最終幫你戰勝危機、突破自我,晉升到更高的職位,獲得了更好的薪酬。如果個人性格特質更適合往架構方向發展,那你有必要提前瞭解架構師的主要職責和必備技能。十年磨一劍,五年小成,十年大成,轉型升級所需的專業技能不是一朝一夕就能練就的。如果你現在就主動籌備 35 歲這場戰役,那你很容易從”搬磚”躍遷至“砌牆”。

  • 三面

學而優則仕,即使修煉成了技術大神,但個人能量總歸是有限的,管理崗是所有通道的終極進化方向,只有帶領更多人,你才能做更大的事。在互聯網行業,“科技是第一生產力”體現的最為淋漓盡致,不管往產品還是管理髮展,擁有深厚技術背景都是優勢。架構師,從某種角度看,就是全面瞭解各種技術或中間件的優劣,然後讓它們在你所設計的方案中揚長避短、優勢互補,發揮出最佳的合作效用。這跟產品維度的業務架構、管理維度的組織架構有異曲同工之妙,等你從技術架構中學習到知人善任、調兵遣將、排兵佈陣等道理,那你就可以站上更高的平“面”了,從“砌牆”躍遷至建造宮殿。

25 歲入行搬磚,30 歲前擔任技術經理、兼職架構,35 歲前轉型應用架構專家,一路走來老兵哥我積累了大量轉型、架構、培訓和咨詢等實戰經驗。近些年我將這些經驗做了整理輸出,曾面向初中級程式員開設過多門面授架構課程,累計參訓學員超千人,頗受好評。接下來,老兵哥我準備在 CSDN 這個分享平臺,把大家關註度最高的這些架構問題梳理出來,希望你持續關註:

  • 架構到底是什麼?它都有什麼作用?
  • 架構的演進過程,不同架構的特點?
  • 架構風格、模式、框架的相互關係?
  • 架構設計的輸入、輸出和工作流程?
  • 不同崗位應該關註架構的哪些方面?
  • 是否有標準來評價架構設計的優劣?
  • 架構師核心職責和必備能力有哪些?
  • 哪些特質適合往架構專家方向發展?
  • 架構專家需要搭建怎樣的知識體系?
  • 如何從資深開發成功轉型架構專家?
  • 架構師之後有哪些可選的發展方向?

暫時先分享到這裡,後續老兵哥會結合個人實踐陸續分享相關經驗,例如:如何通過三步走策略完成轉型、如何藉助段帶式進階構建新技能樹等,期待小伙伴們訂閱交流,謝謝!


您的分享是我們最大的動力!

更多相關文章
  • 自引jquery 1 <style> 2 * { margin: 0; padding: 0; } 3 ul { list-style: none; margin: 100px; } 4 .comment { 5 color: red; 6 } 7 8 .comment li { 9 float: ...
  • 螢火蟲 <style type="text/css"> *{ padding: 0; margin: 0; } #bg{ background: url(img/bg.jpg) no-repeat; background-size: cover; width: 100%; height: 100%; ...
  • 下雪效果 1 <style> 2 * { 3 margin: 0; 4 padding: 0; 5 } 6 #box { 7 width: 1000px; 8 height: 600px; 9 background: #000000; 10 border: 5px solid red; 11 mar ...
  • 選項卡(tab欄切換) 1 <style type="text/css"> 2 *{margin: 0; padding: 0; font-family: "微軟雅黑";font-size: 14px;} 3 #container{ 4 width: 398px; 5 margin: 100px a ...
  • 前端開發工作中經常會碰到奇形怪狀的圖形,當然也少不了UI設計童鞋的腦洞和創意啦,初級的開發人員可能會選擇使用圖片做背景加上位置屬性實現,不過很多時候,CSS能實現的就不要再動用PS等工具了,時間寶貴,經驗更寶貴,畢竟簡單的搬磚很容易就會,不動“聲色“的實現才是來之不易的經(踩)驗(坑) 完事開通難, ...
  • 在看設計模式這本書,遇到一個令人疑惑的for迴圈語句 比較疑惑,因為從平時接觸的來看基本上都是 現在的疑惑如下 實際上上面的語句等同於,這是為什麼 原來這裡等同於把迴圈終止條件和迴圈被執行後執行的語句相結合了即把判斷和賦值放到一起了,一邊迴圈一邊賦值,i--是什麼判斷條件,當i--為fasle即,循 ...
  • 基於offsetHeight和clientHeight判斷是否出現滾動條 by:授客 QQ:1033553122 HTMLEelement.offsetHeight簡介 HTMLElement.offsetHeight 是一個只讀屬性,它返回該元素的像素高度,高度包含該元素的垂直內邊距和邊框,且是一 ...
  • 本次使用動態代理的初衷是學習Redis,使用Java操作Redis時用到Jedis的JedisPool,而後對Jedis的方法進一步封裝完善成為一個工具類。因為直接使用Jedis對象時,為了保證性能,總會需要手動的獲取到連接池中的連接,使用完成後還需要手動的釋放連接,都是完全重覆的操作。所以想要使用 ...
一周排行
  • 比如要拆分“呵呵呵90909086676喝喝999”,下麵當type=0返回的是中文字元串“呵呵呵,喝喝”,type=1返回的是數字字元串“90909086676,999”, private string GetStrings(string str,int type=0) { IList<strin ...
  • Swagger一個優秀的Api介面文檔生成工具。Swagger可以可以動態生成Api介面文檔,有效的降低前後端人員關於Api介面的溝通成本,促進項目高效開發。 1、使用NuGet安裝最新的包:Swashbuckle.AspNetCore。 2、編輯項目文件(NetCoreTemplate.Web.c ...
  • 2020 年 7 月 30 日, 由.NET基金會和微軟 將舉辦一個線上和為期一天的活動,包括 微軟 .NET 團隊的演講者以及社區的演講者。本次線上大會 專註.NET框架構建微服務,演講者分享構建和部署雲原生應用程式的最佳實踐、模式、提示和技巧。有關更多信息和隨時瞭解情況:https://focu... ...
  • #abp框架Excel導出——基於vue #1.技術棧 ##1.1 前端採用vue,官方提供 UI套件用的是iview ##1.2 後臺是abp——aspnetboilerplate 即abp v1,https://github.com/aspnetboilerplate/aspnetboilerp ...
  • 前言 本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。 作者:碧茂大數據 PS:如有需要Python學習資料的小伙伴可以加下方的群去找免費管理員領取 input()輸入 Python提供了 input() 內置函數從標準輸入讀入一 ...
  • 從12年到20年,python以肉眼可見的趨勢超過了java,成為了當今It界人人皆知的編程語言。 python為什麼這麼火? 網路編程語言搜索指數 適合初學者 Python具有語法簡單、語句清晰的特點,這就讓初學者在學習階段可以把精力集中在編程對象和思維方法上。 大佬都在用 Google,YouT ...
  • 在社會上存在一種普遍的對培訓機構的學生一種歧視的現象,具體表現在,比如:當你去公司面試的時候,一旦你說了你是培訓機構出來的,那麼基本上你就涼了,那麼你瞞著不說,然後又通過了面試成功入職,但是以後一旦在公司被髮現有培訓經歷,可能會面臨被降薪,甚至被辭退,培訓機構出來的學生,在用人單位眼裡就是能力低下的 ...
  • from typing import List# 這道題看了大佬寫的代碼,經過自己的理解寫出來了。# 從最外圍的四周找有沒有為O的,如果有的話就進入深搜函數,然後深搜遍歷# 判斷上下左右的位置是否為Oclass Solution: def solve(self, board: List[List[s ...
  • import requests; import re; import os; # 1.請求網頁 header = { "user-agent":'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, li ...
  • import requests; import re; import os; import parsel; 1.請求網頁 header = { "user-agent":'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537. ...