读书 | IT人如何直击本质洞察底层逻辑?
【好書(shū)共讀】|?作者/Edison Zhou
作為IT技術(shù)人,我們不僅要精進(jìn)技術(shù),也要在技術(shù)之外修煉自己的軟能力。本質(zhì)思考,是一種直擊事物本質(zhì)的能力,是思考“思考的方法”,是一切思考的原動(dòng)力。我們不用擔(dān)心這個(gè)能力在其他企業(yè)用不上,因?yàn)樗悄愕摹暗讓硬僮飨到y(tǒng)”。
1為何學(xué)習(xí)直擊本質(zhì)?
無(wú)論做什么工作,思考能力都是必不可少的。換句話(huà)說(shuō),思考能力,往往會(huì)影響一個(gè)人的其他能力,甚至?xí)绊懳覀兊娜松叨取?/p>
金庸小說(shuō)《倚天屠龍記》中,張無(wú)忌學(xué)習(xí)乾坤大挪移的時(shí)候,學(xué)到第五層就只用了幾個(gè)時(shí)辰,而一般人需要幾十年甚至一輩子,前任教主陽(yáng)頂天練到第四層后便走火入魔最后掛了。經(jīng)典電影《教父》中有一句我們可能都聽(tīng)說(shuō)過(guò)的臺(tái)詞:“花半秒鐘就看透事物本質(zhì)的人,和花一輩子都看不清事物本質(zhì)的人,注定是截然不同的命運(yùn)。”
那么,為何張無(wú)忌可以快速掌握乾坤大挪移,又為何有的人可以半秒鐘看透本質(zhì)?
因?yàn)?#xff0c;他們都有“九陽(yáng)神功”護(hù)體,“九陽(yáng)神功”其實(shí)就是他們的內(nèi)功心法,一種本質(zhì)思考的底層能力,換句話(huà)說(shuō),就是他們的底層操作系統(tǒng)。
《企業(yè)IT架構(gòu)轉(zhuǎn)型之道》作者鐘華老師在《數(shù)字化轉(zhuǎn)型的道與術(shù)》中寫(xiě)道:“有道無(wú)術(shù),術(shù)尚可求。有術(shù)無(wú)道,止于術(shù)。”。本質(zhì)思考能力,其實(shí)就是道(內(nèi)功心法),掌握了道,即使目前沒(méi)有術(shù)(獨(dú)孤九劍)也沒(méi)關(guān)系。那么,對(duì)于程序員來(lái)說(shuō),在技術(shù)層面什么是道什么又是術(shù)呢?我個(gè)人認(rèn)為,程序設(shè)計(jì)和軟件設(shè)計(jì)其實(shí)就是道,屬于內(nèi)功,而各種前后端流行框架的花式應(yīng)用和組合則屬于術(shù)。
因此,對(duì)于任何行業(yè)的人,學(xué)習(xí)了解事物的本質(zhì),鍛煉直擊事物本質(zhì)的能力,都是有必要的。特別是我們IT技術(shù)人,往往喜歡認(rèn)為所有的問(wèn)題都是技術(shù)問(wèn)題,試圖用技術(shù)問(wèn)題解決所有問(wèn)題。《軟件設(shè)計(jì)之美》作者鄭曄老師也說(shuō)道,任何試圖用技術(shù)去解決其業(yè)務(wù)需求關(guān)注點(diǎn)的問(wèn)題,只能是越陷越深。這時(shí)候,我們不妨將技術(shù)先放在一邊,試圖去思考業(yè)務(wù)需求的本質(zhì),探究其根本屬性,問(wèn)題根源和底層邏輯到底是什么,或許可以幫助我們技術(shù)人更好地用技術(shù)服務(wù)業(yè)務(wù),最終交付業(yè)務(wù)價(jià)值。
2本質(zhì)思考
什么是本質(zhì)?所謂本質(zhì),其實(shí)說(shuō)的是三件事:
(1)事物的根本屬性
即一個(gè)事物之所以成為它的根本原因,回答這個(gè)事物是什么的問(wèn)題。
思考事物的根本屬性有三種表現(xiàn)形式:給出清晰的定義、做出準(zhǔn)確的簡(jiǎn)單類(lèi)比 和 打出精妙的比方。
(2)問(wèn)題的根源
即導(dǎo)致問(wèn)題發(fā)生的根本原因,幫助我們解決問(wèn)題、解釋問(wèn)題和預(yù)測(cè)問(wèn)題。
(3)現(xiàn)象背后的底層邏輯
即隱藏在各種現(xiàn)象背后不變的規(guī)律,幫助我們舉一反三和融會(huì)貫通,找到同類(lèi)問(wèn)題的普遍根源。
底層邏輯一般具有四個(gè)特點(diǎn):抽象、簡(jiǎn)潔、動(dòng)力來(lái)源 和?通用性。
那什么又是本質(zhì)思考?
艾菲在《直擊本質(zhì)》一書(shū)中下了一個(gè)定義:“透過(guò)復(fù)雜現(xiàn)象,看清事物的根本屬性,看透問(wèn)題根源,看懂現(xiàn)象背后底層邏輯的思考能力”。
圖片來(lái)自劉潤(rùn)《商業(yè)洞察力30講》
那么,我們要如何達(dá)到看透本質(zhì)的思考能力呢?
答案就是:“大膽假設(shè)、小心求證”的溯因推理法。所謂溯因推理,就是從現(xiàn)象B推出原因A,而本質(zhì)思考是從現(xiàn)象和問(wèn)題出發(fā),找到導(dǎo)致其發(fā)生的根源和底層邏輯。因此,溯因推理?和 本質(zhì)思考 是相似的。
這種溯因推理法的思考方式,也有一個(gè)目前比較時(shí)髦的名字:“第一性原理”,已經(jīng)被眾多大廠(chǎng)的大佬們廣為采用和推崇,比如特斯拉的CEO埃隆馬斯克就是其中的一個(gè)代表性人物。
“大膽假設(shè)、小心求證”是道,那么具體如何落地?艾菲在《直擊本質(zhì)》書(shū)中給出了一些方法,即我們所說(shuō)的術(shù),如下圖所示:
在上圖所示的這些方法里邊,結(jié)構(gòu)性分析法和系統(tǒng)性分析法是相對(duì)較為復(fù)雜的分析方法,結(jié)構(gòu)型分析法主要應(yīng)對(duì)靜態(tài)的分析,而系統(tǒng)性分析法則主要應(yīng)對(duì)動(dòng)態(tài)的分析。
所謂系統(tǒng),就是由要素和連接關(guān)系構(gòu)成,實(shí)現(xiàn)某種目的的模型。我們會(huì)通過(guò)一些系統(tǒng)的循環(huán)圖來(lái)分析其結(jié)構(gòu),看到這個(gè)系統(tǒng)是如何運(yùn)作的,其中的增強(qiáng)回路、調(diào)節(jié)回路是怎么樣的,是否具有延時(shí)效應(yīng)等等。當(dāng)我們能夠看清楚整個(gè)系統(tǒng)的結(jié)構(gòu)與運(yùn)行模式時(shí),問(wèn)題的根源就會(huì)說(shuō)落實(shí)出,而問(wèn)題的解決辦法也會(huì)逐漸清晰。
圖片來(lái)自劉潤(rùn)《商業(yè)洞察力30講》
比如,當(dāng)我們?nèi)タ慈萜鞯臅r(shí)候,如果只看表象我們認(rèn)為它是一個(gè)輕量級(jí)虛擬機(jī),容器與容器之間實(shí)現(xiàn)了相互隔離的。但當(dāng)你深入分析之后,容器其實(shí)是一個(gè)基于進(jìn)程這個(gè)已有概念下的新模型。容器實(shí)例的本質(zhì)仍然是一個(gè)Linux進(jìn)程,只不過(guò)它使用“障眼法”(Namespace實(shí)現(xiàn)隔離+Cgroups實(shí)現(xiàn)限制)為這個(gè)進(jìn)程設(shè)置了一些“邊界”,使之成為了一種特殊的Linux進(jìn)程。而容器化的本質(zhì)如果只看表象我們會(huì)認(rèn)為它是只是一種應(yīng)用打包的方式,當(dāng)你深入了解之后,你會(huì)發(fā)現(xiàn)容器化技術(shù)其實(shí)是提供了一個(gè)沙盒環(huán)境,只不過(guò)這個(gè)沙盒環(huán)境也有點(diǎn)特殊,它就像是一個(gè)集裝箱,將應(yīng)用"裝"了起來(lái)。為什么是集裝箱,而不是其他箱?因?yàn)?#xff0c;這個(gè)集裝箱不管被運(yùn)輸?shù)侥睦?#xff0c;只要打開(kāi)就可以直接使用。沒(méi)錯(cuò),你可能猜到了,它就是容器鏡像,它保證了不同環(huán)境之間可以在操作系統(tǒng)級(jí)別運(yùn)行環(huán)境的一致。為什么可以一致?因?yàn)樗皇且粋€(gè)操作系統(tǒng)所包含的文件、配置和目錄,并不包含OS內(nèi)核,我們可以將其掛載在任何容器的根目錄上。容器鏡像的本質(zhì)又是什么?如果看表象我們認(rèn)為它就是一個(gè)個(gè)的壓縮包,可以隨時(shí)通過(guò)docker pull從各個(gè)鏡像倉(cāng)庫(kù)里面拉下來(lái)。但如果深入分析,你會(huì)發(fā)現(xiàn)容器鏡像其實(shí)是一組聯(lián)合掛載的rootfs(根文件系統(tǒng)),這些rootfs位于/var/lib/docker/aufs/mnt目錄下,是為容器進(jìn)程提供隔離后執(zhí)行環(huán)境的文件系統(tǒng)。而Docker公司創(chuàng)新地設(shè)計(jì)了“分層鏡像”的概念,其背后也是對(duì)于多個(gè)rootfs的連接關(guān)系的處理,換句話(huà)說(shuō),也是建立了一個(gè)模型,這個(gè)模型是一個(gè)由可讀寫(xiě)層、init層和只讀層構(gòu)成的多個(gè)rootfs的分層架構(gòu)。
又如,Kubernetes目前已經(jīng)成為了容器編排領(lǐng)域的事實(shí)標(biāo)準(zhǔn),那么Kubernetes的本質(zhì)又到底是啥?如果我們初一看,Kubernetes就是一個(gè)幫助我們實(shí)現(xiàn)快速的容器集群管理和調(diào)度的工具。但是,Kubernetes在頂層設(shè)計(jì)上,并沒(méi)有選擇走Swarm或Mesos的老路,而是選擇了創(chuàng)建一個(gè)新的模型,而Docker只是這個(gè)模型中的一個(gè)符合標(biāo)準(zhǔn)規(guī)范的要素之一(你可能知道,在K8s v1.20之后不再使用Docker,我們需要使用其他CRI運(yùn)行時(shí)如Containerd或CRI-O了)。這個(gè)模型,統(tǒng)一定義了應(yīng)用與應(yīng)用之間的關(guān)系,緊密協(xié)作無(wú)間的就放在了Pod里,需要批量管理的Pod就會(huì)放到Deployment里,需要共享信息卻又不是隨便能看的就會(huì)放到Secret里,而不想被直接訪(fǎng)問(wèn)還想實(shí)現(xiàn)負(fù)載均衡的多個(gè)Pod就會(huì)找Service來(lái)幫它們做代理入口...... 此外,這個(gè)模型還統(tǒng)一了應(yīng)用運(yùn)行的形態(tài),即定義了基于Pod改進(jìn)后的對(duì)象,如Job、CronJob、DaemonSet等。最后,這個(gè)模型如何和我們交互呢?它定義了一個(gè)“聲明式API”的使用方式,可以讓我們通過(guò)yaml等方式和K8s集群進(jìn)行交互。可以看到,如果K8s沒(méi)有提供一個(gè)新的模型,而是走Swarm的老路,它可能不會(huì)從三足鼎立的廝殺中突出重圍,而開(kāi)發(fā)者要做的,就是首先要看到這個(gè)新的模型并理解它,然后再應(yīng)用它。
在技術(shù)世界里,需要我們透過(guò)表象去觀察本質(zhì)的地方太多太多......
3思維破局
思考問(wèn)題的本質(zhì)是思維的第一次提升,而遷移思考、升維思考和逆向思考則可以讓思維進(jìn)行第二次的提升。
遷移思考
所謂遷移思考,就是將思維模型和底層邏輯運(yùn)用到更多的領(lǐng)域,從而解決各種各樣的問(wèn)題。但是,需要注意的是擴(kuò)展應(yīng)用到的這些領(lǐng)域,需要與當(dāng)前問(wèn)題屬于“表面不同,本質(zhì)相似”的關(guān)系。
巴菲特的合伙人查理·芒格曾說(shuō):“一個(gè)人只要掌握80~90個(gè)思維模型,就能夠解決90%的問(wèn)題,而這些模型里面非常重要的只有幾個(gè)。”
升維思考
思考問(wèn)題的本質(zhì)可能并不能解決所有的問(wèn)題,這時(shí)就需要我們提升思維高度、增加維度,甚至跳出原來(lái)的框架,這就是所謂的升維思考。升維思考的本質(zhì)是對(duì)價(jià)值觀、人生觀和世界觀的重新審視,拓展和重塑。
在升維思考的多個(gè)方法里,對(duì)我最有影響的應(yīng)該是無(wú)邊界思考法了,這就引出了有限游戲和無(wú)線(xiàn)游戲的概念。這個(gè)世上至少有兩種游戲,一種是有限游戲,另一種是無(wú)限游戲。有限游戲以取勝為目的,而無(wú)限游戲以延續(xù)游戲?yàn)槟康摹?/p>
其實(shí),我們一出生就生活在一個(gè)有限游戲里:
小時(shí)候的游戲是“好好學(xué)習(xí),努力考第一”,每次游戲都有排名,都有贏家。每次游戲,我們和父母都如臨大敵。
大學(xué)時(shí)的游戲是“看誰(shuí)能找到好工作”,投身于考研、雅思托福GRE、筆試和面試、LeetCode刷題,這個(gè)游戲的結(jié)果就是贏家可以去世界500強(qiáng),去頭部企業(yè)拿高薪。
工作后的游戲是“看誰(shuí)早晉升、看誰(shuí)買(mǎi)房多、看誰(shuí)車(chē)子豪、看誰(shuí)的孩子能成為別人家的孩子......”
在我們玩游戲的過(guò)程中,大部分人都開(kāi)始過(guò)得大同小異,最終慢慢地就活成了同一種人,即以比別人過(guò)得更好取得勝利為目標(biāo),一直要處于社會(huì)主流價(jià)值觀內(nèi)的人。不過(guò),同時(shí)我們也失去了一些自由,因?yàn)槲覀儗⒆约旱娜松拗圃诹艘粋€(gè)小方框里。
因此,我們需要用無(wú)邊界思考方法去打破這種限制,活出無(wú)限游戲的自由。《有限和無(wú)限的游戲》一書(shū)的作者詹姆斯·卡斯曾說(shuō):“有限游戲是有劇本的,而無(wú)限游戲則是傳奇性的”,所以,如果我們能夠不斷地?cái)U(kuò)展邊界和探索邊界,不再執(zhí)著于輸贏,人生也就會(huì)變得不同。
在這個(gè)人生的無(wú)限游戲里,我們可以不斷地去追求對(duì)知識(shí)的探索、對(duì)智慧的追求、對(duì)美好的向往、對(duì)自我的覺(jué)知與探索 和 對(duì)他人的幫助,我們的人生觀也會(huì)從有邊界變得寬廣甚至無(wú)邊界,很多問(wèn)題也會(huì)迎刃而解。
逆向思考
在進(jìn)行了無(wú)數(shù)次的正向思考之后,我們可能會(huì)習(xí)慣性地沿著同一個(gè)方向繼續(xù)。這時(shí),不妨試一試逆向思考。所謂逆向思考,就是對(duì)已經(jīng)司空見(jiàn)慣或已成定論的事或觀點(diǎn)反過(guò)來(lái)進(jìn)行思考的一種思維方式。
比如,當(dāng)我們思考做什么才正確的時(shí)候,我們可能會(huì)找不到方向。不妨這時(shí)進(jìn)行逆向思考,先列出那些不該做的事,將它們排除在外,也不失為一種好方法。小霸王/步步高創(chuàng)始人段永平就是這樣思考的典型案例,他有一個(gè)經(jīng)典的“不為清單”,即列出一些原則,但是這些原則是指導(dǎo)企業(yè)“不要做什么”而不是“要做什么”。
又比如,現(xiàn)在主流的編程范式包括:結(jié)構(gòu)化編程、面向?qū)ο缶幊?和 函數(shù)式編程,每種編程范式在設(shè)計(jì)時(shí)并沒(méi)有說(shuō)建議我們做哪些事,而是對(duì)我們程序員的能力施加了約束,即哪些事情不要做。
結(jié)構(gòu)化編程,限制使用 goto 語(yǔ)句,它是對(duì)程序控制權(quán)的直接轉(zhuǎn)移施加了約束。
面向?qū)ο缶幊?#xff0c;限制使用函數(shù)指針,它是對(duì)程序控制權(quán)的間接轉(zhuǎn)移施加了約束。
函數(shù)式編程,限制使用賦值語(yǔ)句,它是對(duì)程序中的賦值施加了約束。
與其說(shuō)這些編程范式是告訴你如何編寫(xiě)程序,倒不如說(shuō)它們告訴你不要怎樣做。理解這一點(diǎn),你才算是真正理解了這些編程范式。
4學(xué)習(xí)總結(jié)
“紙上得來(lái)終覺(jué)淺,絕知此事要躬行”,學(xué)習(xí)和打開(kāi)我們技術(shù)人的思維,了解事物的本質(zhì)以及如何進(jìn)行本質(zhì)思考后,就需要在日常的工作生活中試著用這些思想和方法去指導(dǎo)我們?nèi)ネ诰颥F(xiàn)象背后的東西。畢竟,實(shí)踐才是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)!
這里,Edison誠(chéng)心向各位IT技術(shù)人推薦閱讀艾菲的《直擊本質(zhì)》或劉潤(rùn)的《商業(yè)洞察力》一書(shū),先學(xué)習(xí)什么是本質(zhì),本質(zhì)思考/洞察力是什么能力,如何訓(xùn)練本質(zhì)思考/洞察力,或許你就會(huì)有一點(diǎn)答案了。如果你還對(duì)系統(tǒng)思考方法論有興趣,那也推薦閱讀一下《系統(tǒng)之美》。
讀一本書(shū),不難,堅(jiān)持讀書(shū),不簡(jiǎn)單。
IT技術(shù)人,讓我們一起堅(jiān)持多讀好書(shū)。
(1)艾菲,《直擊本質(zhì)》(推薦指數(shù):★★★★★)
(2)劉潤(rùn),《商業(yè)洞察力》(推薦指數(shù):★★★★★)
(3)[美] 德內(nèi)拉●梅多斯,《系統(tǒng)之美》(推薦指數(shù):★★★★)?
Note:這本書(shū)主要講解系統(tǒng)性思考和分析方法論
5思維導(dǎo)圖
如果你不想買(mǎi)書(shū)學(xué)習(xí)本質(zhì)思考,那么花2分鐘來(lái)瞅一眼核心內(nèi)容思維導(dǎo)圖吧:
Note:精華腦圖,可以收藏。
公眾號(hào)內(nèi)回復(fù)“直擊本質(zhì)”可獲得高清腦圖!
年終總結(jié):Edison的2020年終總結(jié)
C#刷題:C#刷劍指Offer算法題系列文章目錄
商業(yè)知識(shí):IT技術(shù)人的底層商業(yè)知識(shí)兵器庫(kù)
.NET大會(huì):2020年中國(guó).NET開(kāi)發(fā)者大會(huì)收官
????掃碼關(guān)注EdisonTalk
不變的依舊是分享!
總結(jié)
以上是生活随笔為你收集整理的读书 | IT人如何直击本质洞察底层逻辑?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 领域驱动设计-从贫血模型到充血模型
- 下一篇: 盘点大厂的那些开源项目 - 小米科技