程序修行从“拔刀术”到“万剑诀”
程序修行路上走了一段時間,終于成為了高級程序員,然后就該碰到瓶頸了。近來就有高級程序員和我聊起這個瓶頸問題,這正是《兩種增長類型》這篇文章中提到的「對數(shù)增長」的瓶頸期。
在這個對數(shù)緩慢增長的瓶頸期,我也曾困擾許久。在摸索嘗試了一段時間后,慢慢走出下面這樣一條路徑,下面我想用點形象的類比來說明。
拔刀斬
拔刀術來自日本古武道,其核心思想便是一擊必殺,利用瞬間高速的拔刀攻擊對敵人造成出其不意的打擊。講究的是快,也即速度和鋒利度。
武士不斷修行拔刀術,力求一擊殺敵,而程序員學習和練習編程的過程也是類似的。最終,你的編程技到達了一個什么樣的程度,就是看它的鋒利度。面臨一個程序問題能否一刀見血,一擊必殺。
剛入門的程序員上線發(fā)布碰到了一個問題,抓耳撓腮、冥思苦想、加班加點終不得解。于是跑來向你這個高級程序員請教,此時時鐘指向了凌晨一點。你放下手中剛泡好正準備吃的方便面,一支燃燒著的半截煙頭掛在你的指尖。你猶豫了一下:是猛抽兩口還是滅掉煙頭去處理這個緊急問題?最終你終究不舍的把半截煙頭小心的放在方便面盒邊沿,再用塑料的方便叉把面蓋和煙頭一起固定住。
然后,你挽起了袖子走到這個年輕程序員的電腦前,迅速掃了幾眼報錯的錯誤日志,再調出你心愛的 vi 編輯器,噼里啪啦的改動了幾行代碼,保存、關閉、再重新構建、發(fā)布。電腦黑底白字的界面不停的滾動著,你已站起身向散發(fā)著兩種味道的方便面走去,并回頭輕輕對年輕程序員說了聲:可以了。
這就是你向年輕程序員展示的你的拔刀術,問題一斬而絕。好吧,這是一種詭異的優(yōu)雅,似乎任何問題對于電影里的程序員,在電腦前噼里啪啦敲上幾行代碼都能解決。現(xiàn)實中大部分時候都比看上去更困難一些,真實世界的拔刀術和劍心(動漫《浪客劍心》主角)的「天翔龍閃」相比,終歸顯得笨拙許多。
在我們追求「天翔龍閃」的境界時,看上去并不遠,卻越走越慢了,似乎永遠也走不到,然后我們知道這就是進入了瓶頸區(qū)。
御劍術
這個招數(shù)的類比來自好多年前(初中)玩過的一個電腦游戲——《仙劍奇?zhèn)b傳》。如果過去面臨問題你需要拔刀解決,那這里的刀就是你的知識、技能和經驗。那御劍術里的劍又是什么?
在一篇關于高級程序員的文章中,提出了一個組合三角的觀點,先看下面這張圖:
從編程入門到成為高級程序員,你需要得到的幫助和指導越來越少,而你能提供的幫助和指導應該越來越多。所以前面那個場景中,作為高級程序員的你更理想的做法是去指導年輕程序員如何解決問題的思路,而不是自己拔刀,唰唰兩下搞定。
對,很多高級程序員都會以“等把他教會,我自己都搞定了”為由,忍不住自己拔刀。理解掌握并應用好一種知識或技巧是你的「拔刀術」,但分享傳遞并教授這種知識或技巧才是「御劍術」,而劍就是你面前的年輕程序員。
曾經多少次面對年輕程序員交付的結果,都有一種懊惱的心情,懷疑當初是不是該自己拔刀?突然就會理解了駕校老司機為何總是滿腔怒火的吼著:讓你松點離合,只松一點兒就好...但當初我一開始不是松少了,就是熄火了。
「御劍術」是你修行「萬劍訣」的必經之路,恩,游戲里也是這么設定的。
萬劍訣
所有的程序員都是從修行「拔刀術」開始,但只有極少數(shù)人最終走到了劍心「天翔龍閃」的境界,所有未能突破的我們都進入了對數(shù)慢增長區(qū)間。我們曾經不斷學習和練習終于練到拔刀由心,收發(fā)自如,終成習慣,但為了突破這個瓶頸區(qū)卻正是需要打破這個習慣。
「萬劍訣」正如其名,御萬劍而破敵。回到現(xiàn)實中,這是一項高杠桿率的技能。而高杠桿率的活動包括:
- 一個人可以同時影響很多人。
- 一個人可以對別人產生長遠的影響。
- 一個人所提供的技術、知識或信息,會對一群人的工作造成影響。
這就是「萬劍訣」的核心要訣。應用到程序員修行之路上,修行拔刀術有成的程序員如若也具備了技術領導力,他可能就逐步走上了架構師之路。而如若他也喜歡分享、交流和傳授,那么同時也具備了技術布道師的特性。
「萬劍訣」和「御劍術」的共通之處在于都以人為劍,觀察、揣摩每把劍的特性,先養(yǎng)劍再御劍最后以訣喚之。若「拔刀術」是自己實現(xiàn)的能力,那「御劍術」和「萬劍訣」都是借助他人使之實現(xiàn)的自信和能力,只是后者相比而言規(guī)模更大,杠桿率更高。「萬劍訣」的重心在追求問題解決的覆蓋面,而面臨每個問題就需要依賴每把劍的鋒利度了。
另外「御」之一字更著重了一層控制的含義,而「訣」之一字在于影響多于操控,這里面的關鍵點就是劍本身的成熟度。不夠成熟的劍只能「御」之,足夠成熟的劍方能「訣」之。
...
走上「萬劍訣」之路后,還能再領悟「天翔龍閃」的奧義么?
寫點文字,畫點畫兒。
微信公眾號「瞬息之間」,遇見了不妨就關注看看。
總結
以上是生活随笔為你收集整理的程序修行从“拔刀术”到“万剑诀”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IP数据库的定位能力在商业端的具体应用有
- 下一篇: “大数据”加盟“网格化”管理