[轉(zhuǎn)]思考的力量—談?wù)劤绦騿T成長背后的思考力

(作者: 阿里巴巴.余延冬)

一衰倦、引言

我們來看一下幾類在程序員成長花鹅、發(fā)展的常見問題发侵,如果你或多或少存在一些交掏,那么恭喜你,這篇文章值得你仔細(xì)往下看了:

  1. 你自認(rèn)為付出了跟別人同樣的努力刃鳄,但是你的成長確實(shí)更慢一些盅弛,比如學(xué)得比別人慢,排查問題比別人慢,出方案老是有漏洞等等熊尉;
  2. 你覺得你只是在疲于應(yīng)付需求罐柳,自己做的事情完全沒有技術(shù)含量(很多人覺得自己做的業(yè)務(wù)開發(fā)就是沒有技術(shù)含量,但我認(rèn)為每個領(lǐng)域都有自己的技術(shù)含量狰住,只是有沒有g(shù)et到)张吉;
  3. 你發(fā)現(xiàn)總是在犯同樣的錯誤,或者做的事情不斷地在同一個水平循環(huán)催植;
  4. 每次當(dāng)需要晉升的時候肮蛹,你發(fā)現(xiàn)根本講不出來(很多人會認(rèn)為是表達(dá)能力問題,但是我認(rèn)為不是)创南;
  5. 當(dāng)你換一個新的領(lǐng)域伦忠,你發(fā)現(xiàn)自己的經(jīng)驗(yàn)好像用不上。稿辙。
  6. 你一直很難搞懂老鳥說的“認(rèn)知升級”到底是什么概念昆码?不同級別的技術(shù)思維能力到底有什么差別?為什么晉升的是他邻储,而不是我赋咽?

并且,我會告訴大家一些技術(shù)成長的誤區(qū)吨娜,我先點(diǎn)出來:

  1. 只要把事情搞定了脓匿,成長是自然而然的事情——可能過段你發(fā)現(xiàn)之前犯過的錯誤后面一個都沒有避免;
  2. 我只要努力宦赠,996甚至007陪毡,我就能夠成長比別人快——可能你發(fā)現(xiàn)你干得最多但是并沒有拿到最好的結(jié)果;
  3. 我盡力了勾扭,還是比別人慢毡琉,應(yīng)該是我智商確實(shí)差一些——恭喜你,其實(shí)大家智商并不會有太大差別妙色;
  4. 別人表現(xiàn)好绊起,或者晉升了,只不過是比我表達(dá)能力更強(qiáng)而已——可以負(fù)責(zé)任地告訴你燎斩,這并不是僅僅是表達(dá)能力問題;

先拋一個非常重要的結(jié)論:“思考力”是程序員需要具備的一種至關(guān)重要的素質(zhì)蜂绎。掌握了思考力栅表,你就掌握了在互聯(lián)網(wǎng)領(lǐng)域,這種高度“智力密集型”行業(yè)成長的鑰匙师枣。上面這幾個成長的問題和誤區(qū)怪瓶,跟沒有掌握思考力有著非常重要的關(guān)系,而且我發(fā)現(xiàn)所有發(fā)展比較順暢的同學(xué)践美,他們的思考和學(xué)習(xí)能力是非常強(qiáng)悍的洗贰。

我個人在工作中找岖,一直有意或者無意地鍛煉自己和團(tuán)隊(duì)同學(xué)的思考力,包括哪些是對我們最重要的思考力敛滋,如何去訓(xùn)練思考力许布,有一些心得,希望能夠分享給大家绎晃。

二蜜唾、關(guān)于思考力

思考力是一門很深的學(xué)問,包括認(rèn)知科學(xué)庶艾,心理學(xué)袁余、教育學(xué)、邏輯學(xué)咱揍,如果要系統(tǒng)化學(xué)習(xí)颖榜,是需要看很多書的,推薦的有:

  1. 《金字塔原理:思考煤裙、表達(dá)和解決問題的邏輯》-[美] 芭芭拉·明托掩完,這本書系統(tǒng)闡述了思考、表達(dá)和解決問題的邏輯积暖,也是麥肯錫的思維能力基礎(chǔ)藤为,算是一本比較標(biāo)準(zhǔn)的思考力教材;
  2. 《麥肯錫教我的思考武器》- [日] 安宅和人夺刑,作者根據(jù)自己在麥肯錫公司工作時積累的豐富經(jīng)驗(yàn)以及腦神經(jīng)學(xué)的專業(yè)背景缅疟,設(shè)計(jì)出一套極具邏輯性的問題解決思維模式;
  3. 《思維的本質(zhì)》-[美]約翰·杜威 遍愿,這本書是美國著名教育家約翰·杜威的代表作存淫,闡述了思維訓(xùn)練的基礎(chǔ)理論和實(shí)踐;

本文并不是探討思考力的深層理論沼填,而是分享我們從日常的技術(shù)學(xué)習(xí)和項(xiàng)目過程中沉淀下來的思考力桅咆,以及如何培養(yǎng)這些思考力,這些思考力幾乎我們每天都可以用到坞笙,只要你有一定體感岩饼,你一定會感同身受。

三薛夜、有哪些對程序員最重要的思考力

1.原理性思維-找出知識背后的原理

有的人會說籍茧,為什么要思考原理,而不是直接掌握知識就可以了梯澜?我只需要會用就行了啊寞冯。

我們先來舉一些技術(shù)方案設(shè)計(jì)的案例:

  1. 為什么訂單創(chuàng)單要先create,然后enable?這其實(shí)是一種采用二階段提交解決分布式事務(wù)的思路吮龄,只是從一般的事務(wù)框架延展到交易領(lǐng)域俭茧;
  2. 業(yè)務(wù)系統(tǒng)中為什么要使用消息?因?yàn)橄⑹褂玫氖怯^察者模式漓帚,觀察者模式的好處是可以實(shí)現(xiàn)多個消費(fèi)事務(wù)與觸發(fā)事務(wù)的解耦母债;
  3. 為什么業(yè)務(wù)系統(tǒng)中會使用DTS來做補(bǔ)償?這本質(zhì)上是一種最終一致性BASE理論解決分布式事務(wù)的一種思路胰默;
  4. 為什么更新數(shù)據(jù)的時候一定要在sql中加上版本比對或者狀態(tài)比對场斑?這本質(zhì)上是一種借助DB實(shí)現(xiàn)的樂觀鎖機(jī)制;

進(jìn)一步牵署,你會發(fā)現(xiàn)再大到系統(tǒng)架構(gòu)和頂層設(shè)計(jì)的案例:

  1. 比如阿里系的技術(shù)框架NBF漏隐、TMF、早期的webx奴迅,各類框架設(shè)計(jì)理念青责,逃不脫設(shè)計(jì)模式,比如開閉原則取具,模板方法脖隶、責(zé)任鏈、工廠模式暇检、開閉原則产阱;
  2. 不管是底層中間件,錯綜復(fù)雜的業(yè)務(wù)系統(tǒng)块仆,在設(shè)計(jì)的時候永遠(yuǎn)無法離開核心的業(yè)務(wù)建模构蹬,比如實(shí)體與實(shí)體關(guān)系的構(gòu)建;在分析這類系統(tǒng)的設(shè)計(jì)思想時悔据,你會發(fā)現(xiàn)最好的工具就是UML庄敛!

實(shí)際上除了軟件領(lǐng)域的原理,還有商業(yè)設(shè)計(jì)的原理科汗,比如案例:

  1. 所有的售中退款前必須要先取消履約藻烤,所有的履約過程中發(fā)生缺貨都需要退款,為什么头滔?因?yàn)榻灰椎幕驹瓌t是:**“錢貨平衡”**怖亭,錢和貨的變更必須是最終同步的(允許短期的不平衡),你掌握了錢貨平衡的基本原理坤检,交易中的很多復(fù)雜的流程設(shè)計(jì)就很好理解了兴猩;
  2. 在設(shè)計(jì)財(cái)務(wù)系統(tǒng)、庫存系統(tǒng)時候缀蹄,業(yè)務(wù)流程、業(yè)務(wù)邏輯可能非常復(fù)雜,導(dǎo)致你暈頭轉(zhuǎn)向缺前,這時候**“有借必有貸蛀醉,借貸必相等”的財(cái)務(wù)平衡性原理**就發(fā)揮作用了,你只要知道這個原理衅码,很快就能看懂各類財(cái)務(wù)流程拯刁、庫存流轉(zhuǎn)流程,以及各類數(shù)據(jù)對賬邏輯逝段;
  3. 在我的領(lǐng)域“高可用線下收銀系統(tǒng)”進(jìn)行線下系統(tǒng)容災(zāi)的時候垛玻,有各種容災(zāi)方案的設(shè)計(jì),會員容災(zāi)奶躯、商品容災(zāi)帚桩、交易容災(zāi)、支付容災(zāi)嘹黔,不同的容災(zāi)手段看起來讓你眼花繚亂账嚎,但是他們有沒有共同遵循的原則呢?有儡蔓,這就是**“讓消費(fèi)者最快速度完成交易郭蕉,但保持最后追溯的能力”**。你只要get到這個基本原理喂江,設(shè)計(jì)各類容災(zāi)策略就會得心應(yīng)手了召锈。

此外,我們的工作流程获询、管理手段涨岁,同樣也蘊(yùn)含著深層的原理,非常有意思筐付,大家可以抽空仔細(xì)推敲一下卵惦,比如:

  1. 為什么團(tuán)隊(duì)機(jī)制要透明?溝通要透明瓦戚?
  2. 為什么要有owner意識沮尿,一樣的干活,owner意識會有什么不同呢较解?
  3. 為什么管理者不能管得太細(xì)畜疾,也不能放羊?到底哪些該管印衔,哪些不該管啡捶?

所以,掌握了知識背后的原理奸焙,帶來的好處是:

  1. 軟件系統(tǒng)的復(fù)雜度越來越高瞎暑,我們所面對的場景越來越多彤敛,掌握原理實(shí)際上可以大幅度降低我們對于知識的記憶量,知識量是爆炸的了赌,但是原理絕對是可控的墨榄!
  2. 原理性的東西比直接的知識有更強(qiáng)的復(fù)用度!記住最核心的原理勿她,當(dāng)你面對新的場景時袄秩,你會驚喜地發(fā)現(xiàn),你的理解速度大大加快逢并!這個點(diǎn)大家應(yīng)該有體會之剧,比如可能之前我們都學(xué)習(xí)過dubbo等底層的RPC通信框架的基本原理,但是你如果僅了解了他的基本用法砍聊,你會發(fā)現(xiàn)對你現(xiàn)在做業(yè)務(wù)系統(tǒng)沒有什么幫助背稼!但是,當(dāng)你了解的是dubbo如何尋址辩恼?如何做容災(zāi)雇庙?如何做擴(kuò)展,你會發(fā)現(xiàn)現(xiàn)在我們?nèi)プ鰳I(yè)務(wù)系統(tǒng)灶伊,其實(shí)設(shè)計(jì)的原理是一樣的疆前,并沒有本質(zhì)區(qū)別!這樣你之前研究中間件的設(shè)計(jì)思想就可以快速用到業(yè)務(wù)系統(tǒng)上面聘萨。
  3. 另外探求原理的過程竹椒,本身很有樂趣!這是一個非常有價(jià)值的思維訓(xùn)練過程米辐,不斷對系統(tǒng)設(shè)計(jì)思想胸完、業(yè)務(wù)設(shè)計(jì)思想、做事情的工作方式翘贮,追尋背后的原理赊窥,并找到他們之間的共性,在我看來非常有樂趣狸页,一段時間訓(xùn)練以后锨能,你會發(fā)現(xiàn)你看透本質(zhì)的能力越來越強(qiáng)!

好芍耘,那么我們程序員的工作中址遇,究竟有哪些與原理性知識是需要我們掌握的呢?按我們團(tuán)隊(duì)的實(shí)戰(zhàn)經(jīng)驗(yàn)來看:

  1. java斋竞,linux倔约,數(shù)據(jù)結(jié)構(gòu)和算法,數(shù)據(jù)庫坝初,網(wǎng)絡(luò)通信與分布式計(jì)算的原理浸剩,這幾類是比較重要的基礎(chǔ)知識钾军,我們在做方案設(shè)計(jì)、編碼绢要、問題排查中會運(yùn)用得很多巧颈;
  2. 設(shè)計(jì)模式,UML這個是對系統(tǒng)架構(gòu)設(shè)計(jì)必要要掌握的知識袖扛,當(dāng)你經(jīng)歷了很多大規(guī)模的軟件系統(tǒng)設(shè)計(jì),回到根本上十籍,你會發(fā)現(xiàn)逃不出這一塊的理論和工具蛆封;
  3. 領(lǐng)域性的基本原則,比如我們上面提到的“錢貨平衡”勾栗,“財(cái)務(wù)平衡公式”惨篱,“線下收銀讓消費(fèi)者最快速度走人”,這種邏輯需要大家get到這些領(lǐng)域性的設(shè)計(jì)原理围俘,甚至自己去總結(jié)出這種原理砸讳;
  4. 關(guān)于管理學(xué),人際溝通界牡,心理學(xué)的一些基本原理簿寂,大家可以按照自己的實(shí)際需求去看一下;

如何在工作中學(xué)習(xí)和運(yùn)用這些原理宿亡,我覺得有一個最佳實(shí)踐

  1. 首先常遂,對你可能用到的領(lǐng)域知識,建立一個基本的概念挽荠,看書克胳,看文章,找行業(yè)資深的人去聊圈匆,都可以得到漠另。注意,這里需要有一個基本的概念就可以跃赚,這樣你在有可能touch到這些原理的時候笆搓,你會有意識,也不至于花很多時間来累;
  2. 在實(shí)踐中砚作,有個意識是“多問一下為什么”,并一直“刨根問底”嘹锁,最終肯定能夠追查到背后的最終原理葫录;這里面還要注意思考一下,為什么在這個地方會運(yùn)用這個原理领猾,也就是找到“場景”和“原理”的關(guān)聯(lián)關(guān)系米同,這樣你的理解會更加深刻骇扇;
  3. 了解了原理以后,在實(shí)踐中運(yùn)用一下面粮,這樣你對這個原理的理解就會非常深刻少孝,并且你知道如何去運(yùn)用這原理。
  4. 如果這是一個非常重要的原理熬苍,建議大家如有余力去結(jié)合經(jīng)典的書籍系統(tǒng)化學(xué)習(xí)稍走;

2.結(jié)構(gòu)化思維-構(gòu)建自己的知識樹

知識樹要解決的問題,我們看一些場景:

  1. 為什么我知道很多東西柴底,但是當(dāng)場景來的時候老是會記不起來使用婿脸?;
  2. 完成一個方案你只能想到一些點(diǎn)狀的手段柄驻,還有其他方案被漏掉了狐树;
  3. 講一件事情的時候邏輯非常混亂鸿脓,前后沒有邏輯性關(guān)聯(lián)抑钟;

但是很有可能你的知識都是知道的,為什么會出現(xiàn)這種悲勔翱蕖在塔?

這個就跟大腦中的知識結(jié)構(gòu)有關(guān),這是知識學(xué)習(xí)中“索引”沒有建立拨黔,也就是說心俗,你的知識只有點(diǎn),沒有線蓉驹!大家想一想城榛,把東西亂七八糟地丟在房間中,到用的時候沒有查找的線索和路徑态兴,怎么找的到呢狠持?

我們來看一下我們工作場景的結(jié)構(gòu)化的典型案例,大家體會一下:

項(xiàng)目中測試MM提了一個bug瞻润,我總結(jié)出來的比較標(biāo)準(zhǔn)的問題定位步驟

  1. 確認(rèn)剛才是否有過代碼變更和部署喘垂,因?yàn)橛斜容^高的概率是剛才變更的代碼又搞壞了……
  2. 追蹤鏈路日志看鏈路是否有異常;
  3. 通過RPC的控制臺調(diào)用看接口輸入輸出是否符合預(yù)期绍撞;
  4. 追蹤關(guān)鍵方法的入?yún)⒑统鰠⒄眨词欠裼袉栴};
  5. 定位到方法細(xì)節(jié)后傻铣,推理邏輯是否有問題章贞;
  6. 如果無法通過推理,那就最后一招非洲,回放異常流量debug鸭限,這樣肯定能夠找到原因蜕径;

某個鏈路耗時比較長,需要進(jìn)行性能優(yōu)化败京,我的分析步驟是:

  1. 通過實(shí)際流量制造一個耗時較高的trace兜喻;
  2. 進(jìn)行trace分析,看清楚耗時最多的原因赡麦,然后按優(yōu)先級進(jìn)行排序朴皆;
  3. 針對對原因找解決方案,可能的方案有
    1. 減少數(shù)據(jù)訪問次數(shù)或者計(jì)算量泛粹,常見手段是增加cache:
      1. 線程內(nèi)的invokeCache车荔;
      2. 分布式緩存tair
      3. 頁面緩存……
    2. 增強(qiáng)處理速度,比如多線程加速戚扳;
    3. 減少循環(huán)調(diào)用次數(shù),比如請求合并后再分發(fā)族吻;
    4. 減少數(shù)據(jù)處理范圍帽借,比如減少查詢內(nèi)容,異步加載分頁超歌;
    5. 邏輯簡化砍艾,比如邏輯進(jìn)行優(yōu)化,或者非核心邏輯異步化等巍举;
    6. ……
  4. 改掉以后脆荷,回放同樣的case,看性能消耗是否滿足預(yù)期懊悯,不滿足預(yù)期繼續(xù)優(yōu)化蜓谋;

如何熟悉一個新系統(tǒng),我的步驟是:

  1. 要一個測試賬號炭分,把相關(guān)功能走一遍桃焕,這樣能非常快地了解一個系統(tǒng)的功能捧毛;
  2. 看關(guān)鍵的核心表結(jié)構(gòu)观堂,這樣可以快速了解系統(tǒng)的領(lǐng)域模型;
  3. 根據(jù)功能步驟找到系統(tǒng)對外的接口列表呀忧,了解系統(tǒng)的L0業(yè)務(wù)流程师痕;
  4. 下載系統(tǒng)工程,熟悉整個工程結(jié)構(gòu)和模塊職責(zé)而账;
  5. 以一個最重要的流程為入手點(diǎn)胰坟,閱讀代碼,看清楚核心的執(zhí)行邏輯泞辐,可以變看邊畫時序圖腕铸;
  6. 制造一個debug場景惜犀,以debug方式走一遍流程,這樣可以實(shí)際加深一下對系統(tǒng)的理解狠裹;
  7. 做一個小需求虽界,掌握相關(guān)的流程和權(quán)限;

下單這里來了一個新的需求涛菠,出一個技術(shù)方案的步驟:

  1. 看清楚之前的需求莉御,把這個需求所在的場景和鏈路大致閱讀一遍,搞懂俗冻;
  2. 找到需求的變化點(diǎn)礁叔;
  3. 分析變更的方案,涉及的內(nèi)容可能會有:
    1. 數(shù)據(jù)結(jié)構(gòu)會不會變迄薄,如何變琅关;
    2. 交互協(xié)議會不會變,如何變讥蔽,交互協(xié)議分為:
      1. 端和組件要不要變涣易;
      2. 和下游接口要不要變;
    3. 執(zhí)行邏輯會不會變冶伞,如何變新症,執(zhí)行邏輯變更的細(xì)化考慮點(diǎn):
      1. 是否變更域服務(wù);
      2. 是否變更流程編排
      3. 是否變更主干邏輯响禽;
      4. 是否變更擴(kuò)展點(diǎn)
      5. 是否變更擴(kuò)展點(diǎn)的內(nèi)部邏輯徒爹,變更內(nèi)部邏輯的時候,又可以進(jìn)一步拆解:
        1. 重構(gòu)原有的方法芋类,覆蓋之前的邏輯隆嗅,那就需要進(jìn)行回歸;
        2. 通過邏輯路由到新的方法侯繁,這里需要增加路由邏輯榛瓮;
  4. 穩(wěn)定性方案;
  5. 發(fā)布方案巫击;

可以看到禀晓,面對任何一個場景,不管多大多小坝锰,我們所需要掌握的知識或者技能都可以構(gòu)建成一個樹結(jié)構(gòu)粹懒,同類之間上順序關(guān)系,上下之間是父子關(guān)系(或者粗細(xì)顆粒度)顷级。

當(dāng)這個樹在大腦中構(gòu)建起來以后凫乖,你會發(fā)現(xiàn)你做什么事情都是有一個明確的分析和執(zhí)行邏輯,不太可能產(chǎn)生遺漏和混亂!

那么如何訓(xùn)練出自己的知識樹呢帽芽?我給一些比較有效的實(shí)踐方案:

  1. 一定要總結(jié)出自己的知識樹删掀,而不要盲從書本上的或者別人的,為什么呢导街?一是因?yàn)槿说乃季S速度和習(xí)慣披泪、技能有一定差異,不一定每個人都是一樣的搬瑰;二是如果沒有內(nèi)化別人的知識成為自己的知識款票,這棵樹不太能夠很熟練地運(yùn)用;
  2. 習(xí)慣性總結(jié)泽论,做完任何一個事情艾少,都習(xí)慣性地回顧一下,往自己的樹上面掛新東西翼悴,這個是構(gòu)建知識樹的必備手段缚够,這個總結(jié)不需要花很多時間,比如做完事情后花個幾分鐘回顧一下就可以鹦赎,但是需要堅(jiān)持谍椅;
  3. 推薦一個很常見的工具:xmind,把自己的樹記錄下來钙姊;
  4. 訓(xùn)練自己的思維習(xí)慣和做事方式變得結(jié)構(gòu)化,當(dāng)你做事情的時候维蒙,習(xí)慣性用樹的方式推進(jìn)异希,強(qiáng)迫自己安裝這個方式來一喘。

3.擴(kuò)展性思維-舉一反三,拓展思維

擴(kuò)展性思維的核心目標(biāo)是提升我們思維的廣度膊毁,也就是讓我們的知識樹變得更加開闊;

我在工作中總結(jié)出來的擴(kuò)展性思維的兩個關(guān)鍵的擴(kuò)展方向:

(1)舉一反三:解決同類型的N個問題

舉一反三的好處是:“我們能否用同樣的知識和手段去解決類似的相關(guān)聯(lián)的幾個類似問題”基跑,先舉一些案例:

  1. 當(dāng)發(fā)現(xiàn)某個系統(tǒng)的jvm參數(shù)配置存在一個錯誤配置婚温,不是僅僅修復(fù)這個系統(tǒng)的jvm配置,而是把負(fù)責(zé)的幾個系統(tǒng)都檢查一下是否需要統(tǒng)一修改媳否;
  2. 系統(tǒng)中存在某個bug導(dǎo)致產(chǎn)生了臟數(shù)據(jù)栅螟,不是直接訂正已發(fā)現(xiàn)的臟數(shù)據(jù),而是根據(jù)特征拉取出所有的臟數(shù)據(jù)篱竭,進(jìn)行一次性處理力图;

這種思維方式的特征是舉一反三,觸類旁通掺逼,相當(dāng)于產(chǎn)生批處理的效果吃媒,可以大大提升解決問題的效率,避免重復(fù)處理。

(2)尋求更多的可能性:拓展解決問題的不同手段

拓展思維常見的手段是:是否能夠換更多的理解方式赘那,或者更多的解法刑桑,舉一些案例:

  1. 產(chǎn)生故障的時候,快速止血除了回滾以外募舟,還有哪些方案祠斧?如果故障處理經(jīng)驗(yàn)豐富的人一定知道,除了回滾胃珍,其實(shí)還有系統(tǒng)降級梁肿,運(yùn)營活動降級等多種方案;
  2. 除了寫更加健壯的代碼觅彰,還有哪些手段都可以提升系統(tǒng)的容錯性吩蔑?還有數(shù)據(jù)監(jiān)控,單據(jù)閉環(huán)等多種手段填抬;

當(dāng)解決問題的手段更多了烛芬,思維就開闊了。

4.抓重點(diǎn)思維-提升效率飒责,方便記憶和傳遞

當(dāng)我們發(fā)現(xiàn)知識樹構(gòu)建起來以后赘娄,怎么樣使得記憶和使用的效率變高?而且對外傳遞的時候更加容易讓人理解宏蛉?抓重點(diǎn)思維要解決的場景是:

  1. 如果每件事情都按照知識樹方式做遣臼,效率可能不會特別高,有更快的辦法么拾并?
  2. 在對外溝通表達(dá)的時候揍堰,要表達(dá)核心思想,否則別人會很難理解你的表達(dá)內(nèi)容嗅义;比如大家再晉升答辯屏歹、項(xiàng)目匯報(bào)的時候一定會有體會。

解決這兩類困惑之碗,核心思路是要抓住重點(diǎn)和脈絡(luò)蝙眶。

但是抓住重點(diǎn)和知識結(jié)構(gòu)化之間并不矛盾,而且我認(rèn)為是有先后次序的褪那,一定要先建立知識結(jié)構(gòu)化幽纷,然后才能從里面篩選出重點(diǎn),否則知識的體系是不完整的博敬。

那么篩選重點(diǎn)的思路有哪些呢霹崎?

(1)歸納法

采用歸納法,把細(xì)節(jié)隱藏掉冶忱,呈現(xiàn)知識的脈絡(luò)尾菇,這是一種非常好的思路境析;尤其是大家再準(zhǔn)備晉升ppt時,ppt的每一頁都需要?dú)w納一個核心觀點(diǎn)派诬,不是全是細(xì)節(jié)劳淆,這個非常重要!并且訓(xùn)練歸納的能力默赂,本身就是對知識理解深刻程度的一種反映沛鸵;

(2)優(yōu)先級法

優(yōu)先級策略往往應(yīng)用于在多項(xiàng)任務(wù)之間找到最最關(guān)鍵或者收益最大的那個任務(wù)項(xiàng),比如完成一個事情可能有若干個步驟缆八,其中哪個步驟是最有效的曲掰,大致可以做一個排序。在實(shí)施的時候奈辰,你可以按照優(yōu)先級去落實(shí)栏妖。

但是找到效果最好的那個任務(wù)項(xiàng),在不同場景下是不同的奖恰,跟我們的熟練程度和經(jīng)驗(yàn)有關(guān)吊趾。就像老中醫(yī)把脈,越有經(jīng)驗(yàn)判斷越準(zhǔn)瑟啃,這塊沒有什么捷徑论泛,只能不斷練習(xí)自己找到哪些任務(wù)項(xiàng)在什么場景下更加重要;

5.反思性思維-思考哪里可以做得更好

反思性思維是提升知識質(zhì)量和深度的一個關(guān)鍵能力蛹屿。因為只有不斷反思才能讓下一次在上一次基礎(chǔ)上升級屁奏,而不是重復(fù)循環(huán)。

常見的反思案例:

  1. 有個問題我查了2個小時错负,師兄只花了10分鐘坟瓢,這是為什么呢?是他的業(yè)務(wù)比我熟悉湿颅?思路比我清晰载绿?還是知道某個我不知道的工具粥诫?**一定要找到關(guān)鍵的差異點(diǎn)油航,然后彌補(bǔ)掉這個差距**;
  2. 一個項(xiàng)目項(xiàng)目做完了怀浆,從方案設(shè)計(jì)谊囚,研發(fā)過程,質(zhì)量保障上面执赡,哪些地方下次可以做得更好镰踏?**找到不足,下次避免沙合;**

對于我們技術(shù)團(tuán)隊(duì)奠伪,哪些內(nèi)容值得反思,我們團(tuán)隊(duì)的經(jīng)驗(yàn)是:

  1. 這個項(xiàng)目商業(yè)價(jià)值OK嗎?是否取得了預(yù)期的效果绊率?
  2. 項(xiàng)目中我的能力有哪些問題谨敛,有哪些做的好的和不好的?
  3. 系統(tǒng)設(shè)計(jì)的優(yōu)勢和不足滤否?
  4. 項(xiàng)目質(zhì)量保障是否可以做得更好一些脸狸?
  5. 研發(fā)過程和項(xiàng)目管理是否有不足?

反思性思維的實(shí)踐藐俺,注意有兩個點(diǎn)比較關(guān)鍵:

  1. 反思性思維最重要的意識:做事情的過程總有優(yōu)化的空間炊甲,每次都要有進(jìn)步;如果沒有這種心態(tài)欲芹,那么很難持續(xù)地進(jìn)行反思卿啡;
  2. 反思是一種習(xí)慣和潛意識,可以再不經(jīng)意之間經(jīng)常進(jìn)行耀石,其實(shí)不需要很形式化地花很多時間牵囤,有時候做完一個事情,習(xí)慣性思考一下就可以滞伟;

四揭鳞、鍛煉思考力的有效實(shí)踐

1.意識覺醒

意識覺醒是提升思考力最重要的一個點(diǎn),我認(rèn)為梆奈。只要形成了這種意識野崇,就已經(jīng)成功了一半。

很多同學(xué)思維能力沒有上去亩钟,是沒有意識到思考力這個概念乓梨,只是機(jī)械地做事情,做事情清酥,做事情……每次都在同一個思維層次上面轉(zhuǎn)悠扶镀,不可能有本質(zhì)的提升。

從初級工程師焰轻,高級工程師臭觉,技術(shù)專家,高級專家辱志,資深專家……級別提升靠什么蝠筑?多接了多少需求?多寫了多少代碼揩懒?這些因素會有什乙,但是關(guān)鍵因素不是這些,而是思考力在不斷提升已球,思維方式在不斷進(jìn)化臣镣,進(jìn)而導(dǎo)致業(yè)績產(chǎn)出必變得更加優(yōu)秀辅愿,產(chǎn)生的是事半功倍的效果。

能夠堅(jiān)持看到這里的同學(xué)忆某,一定是能夠知道思考力的重要性了渠缕。

2.保持信心

現(xiàn)在知道思考力的重要性了,很多同學(xué)可能認(rèn)為自己是一個不夠聰明的人褒繁。為什么我努力了亦鳞,還是不行?

給大家一個信心:有位大師說過:在相同的文明程度和種族背景下棒坏,每一個正常人的潛意識與意識相加之和燕差,在精神能量意義上基本上是相等的。

我?guī)缀踅佑|到的很努力但是成長速度不快的同學(xué)都是因?yàn)闆]有沒有掌握正確的方法坝冕;

只要掌握了正確的方法并堅(jiān)持訓(xùn)練徒探,思考力絕對可以提升。

3.空杯心態(tài)

思考的過程其實(shí)是對人的知識進(jìn)行不斷刷新和重構(gòu)的過程喂窟,這里一定要保證空杯心態(tài)测暗,對新的環(huán)境,新的理念磨澡,新的技術(shù)持開放態(tài)度碗啄。否則就是自己給自己制造阻力。

4.思考的時間從哪里來稳摄?

常見的借口是“我連需求都做不完稚字,哪來的時間思考”?

訓(xùn)練思考力其實(shí)并不需要太完整的時間厦酬,我的口訣是:“1.利用碎片時間胆描;2.抓住工作的過程”

  1. 利用碎片時間仗阅,比如上下班路上的時間昌讲,吃飯的時候,可以把剛才或者今天的事情想一想减噪,想通了短绸,然后定期匯總一下就可以;
  2. 抓住工作的過程旋廷,注意鸠按,每次每次出技術(shù)方案礼搁,優(yōu)化代碼饶碘,排查問題,處理故障馒吴,準(zhǔn)備晉升……都是一次訓(xùn)練的機(jī)會扎运。在做事情的過程中就可以思考并快速實(shí)踐瑟曲;

5.思考力提升沒有什么判斷標(biāo)準(zhǔn)?

有的豪治,一般來說思考力有三個度:廣度洞拨、深度、速度负拟,這你自己就能夠感覺出來的:

  1. 廣度:就是你自己的知識樹能夠長多大的范圍烦衣,越廣知識越淵博;比如從“如何寫一個多線程程序”掩浙,提升到“如何做系統(tǒng)性能優(yōu)化“花吟,再到“如何做系統(tǒng)穩(wěn)定性備戰(zhàn)”,這就是一種廣度的提升厨姚;
  2. 深度:就是你自己的知識樹的葉子節(jié)點(diǎn)有多深衅澈,越深對知識了解越透徹;比如從“分布式事務(wù)問題解決思路”谬墙,到“利用最終一致性解決分布式事務(wù)”今布,再到“利用DTS解決分布式事務(wù)”,這就是一種深度的提升拭抬;
  3. 速度:就是建立和刷新知識樹的速度了部默。比如原來你想清楚一個建模方案要一天,現(xiàn)在只需要半小時可以想清楚造虎,那就是速度的提升了甩牺。

6.好的工具有推薦么?

還是推薦一個工具:Xmind累奈,這個最土的工具最有效贬派。可以下載手機(jī)版和PC版本澎媒,隨時進(jìn)行記錄搞乏。

7.一定要相互分享

思考雖然主要是靠自己,但是一定要相互分享戒努。因?yàn)樗伎际侵橇顒忧攵兀嗷シ窒硗耆軌蛉〉?+1>2的效果;

注意分享可以有很多形式储玫,比如我們團(tuán)隊(duì)最經(jīng)常的是:

  1. 項(xiàng)目分享:重大項(xiàng)目是一定要分享的侍筛,包括架構(gòu)設(shè)計(jì)經(jīng)驗(yàn),過程經(jīng)驗(yàn)撒穷,質(zhì)量提升經(jīng)驗(yàn)匣椰,都需要分享出來;
  2. 周會分享:團(tuán)隊(duì)周會重點(diǎn)過進(jìn)度端礼?那太浪費(fèi)啦禽笑,了解進(jìn)度和風(fēng)險(xiǎn)看周報(bào)就可以了入录。周會是學(xué)習(xí)分享的好時機(jī)重點(diǎn)就是一些關(guān)鍵的方案,架構(gòu)設(shè)計(jì)理念佳镜,好的工具僚稿,甚至工作無關(guān)的內(nèi)容;
  3. 群內(nèi)分享:當(dāng)有個人踩坑以后蟀伸,在群里面提醒一下大家蚀同,這是一個很及時的分享方案;
  4. 年度/季度分享:這時候適合找個風(fēng)景優(yōu)美喝茶的地方啊掏,大家講一講自己的成長和思考唤崭,非常有幫助;
  5. 小圈子:大家形成自己的小圈子脖律,隨時都可以相互傾訴一下自己的心得體會谢肾,其實(shí)這種效果也很好;

8.技術(shù)Leader在訓(xùn)練大家思考力中的職責(zé)

在技術(shù)團(tuán)隊(duì)中小泉,技術(shù)Leader的思考力意識芦疏、能力和實(shí)際行動,決定了一個團(tuán)隊(duì)的整體思考力水平和成長速度微姊!

一個團(tuán)隊(duì)要提高思考和學(xué)習(xí)的能力酸茴,首先得這個團(tuán)隊(duì)Leader的思考意識就要提上來,如果團(tuán)隊(duì)Leader沒有思考意識兢交,也沒有把團(tuán)隊(duì)同學(xué)的成長放在心上薪捍,那么整個團(tuán)隊(duì)的思考力和成長速度絕對快不起來。

在提升團(tuán)隊(duì)整體思考力的實(shí)踐中配喳,技術(shù)Leader的職責(zé):

  1. 先要把自己變成一個思考者酪穿,自己做表率,以身作則晴裹;
  2. 意識心態(tài)上先變過來被济,要把團(tuán)隊(duì)同學(xué)的成長速度最為最重要的職責(zé)之一,沒有這個意識都是空談涧团;
  3. 多創(chuàng)造思考的條件和氛圍只磷,一定要抓住任何機(jī)會(代碼reivew、方案評審泌绣、周會都可以)鼓勵大家去思考和分享钮追;
  4. 控制團(tuán)隊(duì)節(jié)奏,給大家學(xué)習(xí)和思考留出一定的時間阿迈;
  5. 及時的引導(dǎo)和示范元媚,有的同學(xué)可能掌握會偏慢一些,這時候需要有耐心去引導(dǎo)同學(xué)找到思考的感覺;
  6. 不必過多干預(yù)細(xì)節(jié)惠毁,發(fā)揮大家的群體智慧,而不必做過多干預(yù)崎页,更不能以個人的意志去強(qiáng)迫別人接受鞠绰。

五、重要觀點(diǎn)小結(jié)

好了飒焦,到這里可以給重要觀點(diǎn)做個小結(jié)蜈膨,時間緊的同學(xué)們可以直接讀這一段:

  1. 思考力對程序員的成長至關(guān)重要,團(tuán)隊(duì)和個人都需要有意或者無意識地提升思考能力牺荠;
  2. 對程序員最重要的思考力有:原理性思維翁巍、結(jié)構(gòu)化思維、反思性思維休雌、擴(kuò)展性思維灶壶、抓重點(diǎn)思維
    1. 原理性思維是根基,因?yàn)闆]有搞懂的情況下所有的知識建構(gòu)都是空談杈曲;
    2. 結(jié)構(gòu)化思維幫助我們建立了我們的知識樹驰凛;
    3. 反思性思維不斷對知識進(jìn)行重構(gòu),是實(shí)現(xiàn)認(rèn)知升級的必備條件担扑;
    4. 擴(kuò)展性思維可以提升知識的廣度和深度恰响;
    5. 抓重點(diǎn)思維可以加快知識的使用效率和傳遞效率;
  3. 在提升思考力的實(shí)踐中:
    1. 思考力提升最關(guān)鍵的是意識的轉(zhuǎn)變涌献;
    2. 要對思考力的提升充滿信心胚宦;
    3. 多在工作中去鍛煉思考力,不需要花太多額外的休息時間燕垃;
    4. 多相互分享枢劝;
    5. 團(tuán)隊(duì)Leader要團(tuán)隊(duì)同學(xué)的成長和把思考力提升作為最重要的內(nèi)容,并拿出實(shí)際行動卜壕。

——————————————————————————————
我再增加一些我學(xué)習(xí)領(lǐng)域知識的經(jīng)驗(yàn):
1.看知乎呈野,知乎上面去查一些行業(yè)的經(jīng)驗(yàn),一般可以得到比較專業(yè)的回答印叁。我需要學(xué)習(xí)一個領(lǐng)域概念的時候一般先查一下知乎上面的回答被冒,這個比看原生的領(lǐng)域書籍要更快一些,更容易篩選出本源性的知識轮蜕;然后當(dāng)需要深入的時候昨悼,再去看書;
2.和領(lǐng)域的牛人去請教跃洛,至少阿里的牛人一般是很開放的率触。只有和牛人溝通你才能很快get到行業(yè)的精髓和坑點(diǎn),少走很多彎路汇竭,很多信息書上是不告訴你的葱蝗,或者看書很難摸索出來⊙ㄕ牛現(xiàn)在很多投資人去做行業(yè)研究,采取的最快速度就是找行業(yè)資深人士直接聊两曼,這種方式是一樣的皂甘。但是溝通前你需要具備一些基本的概念_
3.自己總結(jié)也是一條路悼凑,但是需要你先掌握:“原理性思維”偿枕,“擴(kuò)展性思維”,先把領(lǐng)域的問題本質(zhì)挖出來户辫,和之前的問題進(jìn)行關(guān)聯(lián)對比渐夸,然后再用自己之前積累的技術(shù)思維或者商業(yè)思維去嘗試分析。所以前提一定要掌握我文中的這幾種思考力渔欢,然后你就可以自己去總結(jié)出一些你創(chuàng)造的原理墓塌,甚至你自己的方法論!
——————————————————————————————
最近更新:看到點(diǎn)贊奥额、收藏桃纯、評論的同學(xué)們非常多,線下也收到不少同學(xué)的咨詢溝通披坏,非常有感觸态坦!感覺大部分同學(xué)都還是思考得太少了,甚至有的職業(yè)生涯浪費(fèi)了好多時間棒拂,非成√荩可惜!但是這個意識覺醒非常重要帚屉,剩下的都是手段得突破和堅(jiān)持訓(xùn)練的過程谜诫。

也歡迎同學(xué)們私聊我,我們一起溝通探討9サ喻旷!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市牢屋,隨后出現(xiàn)的幾起案子且预,更是在濱河造成了極大的恐慌,老刑警劉巖烙无,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锋谐,死亡現(xiàn)場離奇詭異,居然都是意外死亡截酷,警方通過查閱死者的電腦和手機(jī)涮拗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人三热,你說我怎么就攤上這事鼓择。” “怎么了就漾?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵呐能,是天一觀的道長。 經(jīng)常有香客問我从藤,道長催跪,這世上最難降的妖魔是什么锁蠕? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任夷野,我火速辦了婚禮,結(jié)果婚禮上荣倾,老公的妹妹穿的比我還像新娘悯搔。我一直安慰自己,他們只是感情好舌仍,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布妒貌。 她就那樣靜靜地躺著,像睡著了一般铸豁。 火紅的嫁衣襯著肌膚如雪灌曙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天节芥,我揣著相機(jī)與錄音在刺,去河邊找鬼。 笑死头镊,一個胖子當(dāng)著我的面吹牛蚣驼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播相艇,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼颖杏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了坛芽?” 一聲冷哼從身側(cè)響起留储,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎咙轩,沒想到半個月后欲鹏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡臭墨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年赔嚎,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡尤误,死狀恐怖侠畔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情损晤,我是刑警寧澤软棺,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站尤勋,受9級特大地震影響喘落,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜最冰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一瘦棋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧暖哨,春花似錦赌朋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至达布,卻和暖如春团甲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背黍聂。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工躺苦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人分冈。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓圾另,卻偏偏與公主長得像,于是被迫代替她去往敵國和親雕沉。 傳聞我的和親對象是個殘疾皇子集乔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 陽春三月,咋暖還寒坡椒,萬物復(fù)蘇之際扰路,碧綠的薺菜,脆嫩的筍子倔叼,各式各樣的野菜便進(jìn)入了人們的視野汗唱。 在物質(zhì)匱乏的時代,野...
    美美的后花園閱讀 1,245評論 0 4
  • 詩 是生活的寄托 是情感的襯寫 生活本充滿詩意 總有屬于自己的一個詩境 有的人的生活精彩紛呈 有的人的生活索然無味...
    凌風(fēng)少主閱讀 177評論 0 0
  • 做一個可愛的人丈攒。不埋怨誰哩罪,不嘲笑誰授霸,也不羨慕誰,陽光下燦爛际插,風(fēng)雨中奔跑碘耳,做自己的夢,走自己的路框弛。 你盡情熬吧辛辨,反正...
    徐駱祁閱讀 369評論 3 5
  • rLaura/第?6輪 3 時間定投:30分鐘身體挺拔+面帶微笑+聚焦學(xué)習(xí) ?一句話復(fù)盤:做一下復(fù)盤會有新發(fā)現(xiàn)!...
    女力覺醒閱讀 73評論 0 0
  • 自我介紹: 我是羅陽瑟枫,一個走在追求自我成長和綻放道路上的人斗搞。身份是:一位小學(xué)老師,一名8歲半男孩兒的媽媽,心能量師...
    羅陽and陽陽閱讀 1,706評論 0 0