跨越断层,突破边界
????????之前我說過程序員的職場階梯,而階梯不過就是很多人已經走過的路,我們只需要沿著這條路去持續成長就能爬上還算不低的樓層。只是到了一定樓層后我們會發現上面似乎還有幾層,但卻看不見下一層的樓梯了。因為再往上走的人就不多了,也就沒能成了路,自然也就看不見,這可能就是所謂成長階梯的斷層。
????????在程序員的成長階梯上,到了一定階段,我們可能會面臨方向的選擇,不同的方向選擇意味著不同的路徑,會碰到不同的斷層,而跨越斷層也需要不同的方法。
????????那我們會面臨怎樣的方向選擇呢?
方向
????????在我的技術成長路上,我看到了三個方向,正好可以用三個字來表達:
“高”
“精”
“尖”。
????????“高” 指的是 “高級(High-grade)”,“精” 代表 “精確(Precision)”,而 “尖” 則是 “尖端(Advanced)”。這是我所看到的技術人前進的三個主要方向,而這三個方向的走向往往還是互斥的。
????????高級,說的不是更高級的技術,因為技術之間的橫向比較沒有高低級之分,比如操作系統、數據庫、網絡編程、機器學習等技術,沒法比出個高下。這里的“高級”,如其英文是更高等級的意思,是職位和人的級別。而往高等級走的技術人,離 “精” 自然只能越來越遠,畢竟站的高就只能看得廣,但很難看得精確了。
????????精確,就是把一門技術做到真正的精通。現在技術的分工越來越細,通常能精通一兩個細分領域已實屬不易。而要做到精,其實越往后付出越多,但感覺提升卻變得越來越慢。都到 95 分了,再往后每提升 1 分都需要付出艱辛的努力。走到細微深處,也很難再看得遠、看得廣了。
????????尖端,似乎聽起來像 “精” 的極致,其實不然,這完全是另一條路。“高” 與 “精”,是工業界的實踐之路,而 “尖” 是理論界的突破之路。只有能推進人類科技進步的技術才稱得上尖端,就如 IT 界歷史上著名的貝爾實驗室里的科學家們做的工作。
“????????高”“精”“尖”三個字,三個方向,三條路,各有各的機遇與風險。在三條路的岔路口,工作多年的你若止步不做選擇,也許就止于一名普通的程序員或資深的技術人。若繼續選擇一個方向走下去,越往高處走,高處不勝寒,一旦落下,你知道再也回不去了;而走向精深之處,沿著技術的河流,溯根回源,密林幽幽,林聲鳥不驚,一旦技術的潮流改了道,你知道你可能會迷失;而尖端之路,或者有朝一日一鳴驚人,青史留名,或者一生碌碌。人工智能的發展史上,曾有一段時間找錯了路,讓學界止步不前,而這一段時間就是走尖端之路的學者們二十年的歲月。
????????“高” 是往宏觀走,“精” 是往微觀走,“尖” 是去突破邊界。這三條路,“高” 和 “精” 的方向在業界更常見,而 “尖” 不是工業界常規的路,畢竟業界擁有類似貝爾實驗室這樣機構的公司太罕見,所以 “尖” 的路線更多在學術界。因而后面我們主要探討 “高” 和 “精” 兩個方向的路徑斷層與跨越方法。
高
????????高的兩條典型路線如下:
程序員—架構師—技術領導者
程序員—技術主管—管理者
????????往高處走,每一次角色的轉變,都是斷層。有時候,公司里到了一定級別的程序員就會被冠以架構師的稱呼,但工作的實質內容依然是資深程序員平時做的事,如:一些關鍵系統的設計和實現,解決一些困難的技術問題。
????????這些工作中的確有一部分也算是架構師的內容,但如果不能認識到架構師工作內容的實質,再往高處走也就很難實現斷層的跨越了。而架構工作的實質是創造一個模型,來連接、匹配關于業務、技術和團隊之間的關系。
????????其中的 “業務” 屬于架構師工作內容中的領域建模;“技術” 是匹配領域模型的技術實現模型;“團隊” 是關于個體之間如何組合的結構,需要滿足個體技術能力與技術實現模型的匹配。由這三個元素連接和匹配構成的模型中,“業務” 是變化最頻繁的,其次是 “團隊”,而變化頻次最低的反倒是 “技術”。
????????每一項元素發生變化,都意味著架構模型需要去適應這種變化,適應不了變化的模型就需要升級。而常見的組織架構調整,也就意味著 “團隊” 的溝通路徑變化了,因為康威定律(系統設計的通信結構和設計系統的團隊組織的溝通結構是一致的)的緣故,必然帶來架構模型的適應性變化調整。
????????透過具體的實質再往高處抽象到本質,你會發現架構工作的本質是在通過模型調優生產關系,從而提高生產效率和生產力。這是一條杠桿之路,通過找到其中的關鍵支點去放大輸出,擴大價值。
????????在架構模型三元素中,技術本身就是一種杠桿,而團隊和業務是價值支點。
曾經,技術的草莽時期,是一個英雄輩出的年代。兩個人可以創造 Unix、C 語言,一個人也可以發明 Linux,也可以寫出 Foxmail。掌握了技術,就可能創造歷史,那時技術的杠桿很高。
????????如今,是技術的成熟時期,個體英雄少了,更多是一種團隊和集團軍作戰的方式。如果你是技術的絕世高手(精的極致),那你也需要找到一支契合你技能的場景與隊伍,加入進去。此時個人的技術杠桿也許不像曾經那么高,但也許你們這個隊伍還是有機會能創造歷史的。
????????前幾年,Facebook 曾收購了一家叫 WhatsApp 的公司,花了 190 億美元。這家公司當時僅 50 人,而其中一半是技術人員,這應該是近年用技術杠桿撬動價值之最了吧。
????????在 WhatsApp 這個例子中的價值支點是什么?是產品(業務),連接用戶、形成網絡。技術本身的價值通過這個產品業務形態支點,在每個活躍用戶身上得到了放大。
????????而另一個價值支點,是借助團隊,但這只適合高級別的技術人員,比如:技術管理者或架構師。但團隊也需要能創造真正的價值,才能實現利用杠桿放大價值的效果。在商業環境下,任何一種產品業務形態,其最終能實現價值,都會存在一個價值網絡。這個網絡中覆蓋了各種角色,技術只是其一,若要找到最好的價值支點,那么通常會在離價值來源比較近的地方。
????????技術像是一根棍子,能發揮多大價值,取決于棍子本身的品質和運用的方式。而往高處走的技術人,要跨越這條路徑的斷層,就是要認識清楚這個價值網絡,并找到最適合技術發揮的價值點。
精
????????精的路線是一條 “專家” 之路。
????????曾經定義過 “專家”,我說:專家可能就是某個領域中你繞不過去的人吧。這個定義中包含兩個點,一個是領域,另一個是繞不過去。第一點表達了某個范圍,第二個則模糊地表達了這個范圍的大小,繞不過去其實是一個很大的范圍了。
????????比如,若你處在物理學領域,牛頓就是你繞不過去的人,之后是愛因斯坦。而在計算機領域,圖靈定義了計算機的邊界,也是這個領域繞不過去的人。但這樣的天才人物,百年來才出一個,如果都要達到這個水平才算是專家,可能就太難了,從而失去了指導意義。
????????如今反思,其實用這兩點來定義專家也是可以的,只是需要更清晰地明確領域和量化范圍。大至國家、社會、行業,小到公司、團隊、小組,都有自己關于專家的定義。
????????曾經,好些年前,我最早在公司的幾個同事組成的小組內研究引入 Java NIO 的技術來編寫網絡程序,讀了一些相關的書和開源框架代碼(Mina、Netty),周圍的幾個同事就戲稱我為 Java NIO 的專家。這就是用領域(Java NIO 是一個很細分的技術領域)加范圍(局限于周圍組內幾個同事,他們要解決 NIO 的網絡編程問題都繞不過我)定義專家的方式。
????????因而,像前面說的愛因斯坦、牛頓、圖靈,他們既是行業(學科維度)范圍內的,也是世界(地理維度)范圍內的專家。而公司內的專家職級定義,其范圍無非就是與公司經營相關的某個領域,其大小無非就是公司組織架構的某一層級之內。
????????走向專家之路,就是精確地找到、建立你的領域,并不斷推高壁壘和擴大邊界的過程。
????????那么如何建立屬于自己的、更大范圍內且具備足夠識別性的領域?這就是 “精” 的路徑中的非連續性斷層問題。曾經讀過一篇吳軍的文章,談到了工程師成長中的類似問題,他用了一個公式來描述解法:
成就 = 成功率 x 事情的量級 x 做事的速度
????????在連續的成長階段,我們的成長主要體現在不斷提升做事的熟練度,也就是上述公式中的速度和成功率,但這兩個指標到了一定的熟練度階段后就會碰到物理極限。實際情況是,一個資深的工程師的速度甚至不會比一個初級工程師快兩倍,但可能成功率會高幾倍,甚至十倍,這就是傳說中的一個頂十個的程序員,但離極限也就差不遠了。
????????而要成為傳說中以一敵百的程序員,只有一個可能,他們做的事情和其他人不在一個量級上。現實案例中,就有如 Linus 這樣的人。所以,一直做同樣的事,都是寫代碼,也可以跨越斷層,但關鍵是,你寫的代碼體現在什么量級的事情上。
????????問題的量級變了,邏輯就不一樣了。作為程序員,我們會有直觀的感受,用戶量級越過了一定的門檻后,我們編寫、維護和部署程序系統的方式都會發生本質的變化。而提升量級最難的就在于我們要放下曾經熟悉的方式和習慣,站在更高的維度去看更大量級的事情,并且找到適合這個量級事情的合適解決方案。
????????面臨成長路上的非連續斷層,以及角色之間的無形壁障,該如何跨越斷層,突破邊界?我們著重從成長路線的兩個方向:“高” 和 “精”, 提供了分析和解法。
????????高的路線,需要借助技術的杠桿,認清所處的價值網絡,找到合適的價值點,撬動更大的價值;
????????精的路線,在做事情的成功率和速度接近自己的極限后,只能去提升事情的量級,才能發揮出專家的價值。
????????明晰了不同路線的價值方向,但每個人腳下的路都是具體的、不同的,我們跨越的方式也不會一樣。在成長的路上,你碰到了斷層沒,又是如何跨越斷層的?
總結
- 上一篇: win11右键菜单和win10右键菜单修
- 下一篇: 计算机控制器说法错误的是,江苏专转本计算