程序員如何培養(yǎng)底層思維?
??點(diǎn)擊“博文視點(diǎn)Broadview”,獲取更多書(shū)訊

在阿里巴巴的晉升會(huì)議上,評(píng)委經(jīng)常會(huì)問(wèn):“你的成功可以復(fù)制嗎?”我最初做評(píng)委時(shí)基本不會(huì)問(wèn)這樣的問(wèn)題,因?yàn)槲艺J(rèn)為這樣的問(wèn)題很虛,工作完成就行了,不需要那么多道理。
然而隨著時(shí)間的推移,我發(fā)現(xiàn)這的確是一個(gè)好問(wèn)題。因?yàn)樗梢詤^(qū)分出你是碰巧把事情做對(duì)了,還是你具備了一直做對(duì)事情的能力,二者是有本質(zhì)區(qū)別的。碰巧做對(duì),說(shuō)明你的能力可能還不足,換一種情景,你就不一定能應(yīng)付。因此,好的晉升制度不僅要考查成績(jī),更重要的是考查能力。對(duì)從事腦力勞動(dòng)的技術(shù)人員來(lái)說(shuō),“能力”主要指的是“思維能力”。
正所謂“有道無(wú)術(shù),術(shù)尚可求也,有術(shù)無(wú)道,止于術(shù)”。
說(shuō)到“道”,大家可能會(huì)想到“道可道,非常道”,覺(jué)得它“玄之又玄”。然而我這里所說(shuō)的“道”更側(cè)重于“道理”,即我們做事背后的道理、思維方式是什么。思維能力是比解決具體問(wèn)題更重要的能力。問(wèn)題也許各有不同,但思維方式可以復(fù)制和遷移。我們一旦掌握了正確的思維方式,便可以舉一反三、觸類(lèi)旁通。
例如,我們都知道編程的時(shí)候命名很重要,也很難,可為什么會(huì)這樣呢?如果要深挖其背后的原因,將是一個(gè)非常有趣的話題,甚至可以和哲學(xué)有關(guān)。命名工作中暗含了抽象思維能力和語(yǔ)言哲學(xué),語(yǔ)言本身是抽象的符號(hào),比如當(dāng)你說(shuō)“花”的時(shí)候,指的并不是某一朵具體的玫瑰花、郁金香,而是花的抽象概念。一朵具體的花雖然看得見(jiàn)、摸得著,但總會(huì)有凋零消亡的時(shí)候,而“花”這個(gè)字作為精神實(shí)體將永不會(huì)消亡。所以,抽象的花和具體的花到底哪個(gè)才是本真呢?這是一個(gè)哲學(xué)問(wèn)題。
拋開(kāi)哲學(xué)爭(zhēng)論,就“花”這個(gè)字而言,它是提取了所有花的共性的抽象符號(hào)。命名之所以難,是因?yàn)槟阋?jīng)歷一個(gè)提取共性、歸納要義,并賦予恰當(dāng)名稱(chēng)的抽象思維過(guò)程。因此,要想真正做好命名,除了要掌握一些命名技法,還需要更深層次的修煉——提升抽象思維能力。
又如,有些人說(shuō)話重點(diǎn)突出、易于理解,而有些人則前言不搭后語(yǔ),讓人不知所云;有些人寫(xiě)文章、寫(xiě)郵件思路清晰、有條理,而有些人的文章則詞不達(dá)意、東拼西湊;有些人寫(xiě)的代碼結(jié)構(gòu)清晰、可讀性強(qiáng),而有些人寫(xiě)的代碼則是一團(tuán)亂麻、難以維護(hù)……問(wèn)題的本質(zhì)在于邏輯思維和結(jié)構(gòu)化思維的差異,可邏輯思維和結(jié)構(gòu)化思維又是什么呢?這些思維能力是可以習(xí)得和提高的嗎?
維特根斯坦在《邏輯哲學(xué)論》中說(shuō),思維本身就能解決問(wèn)題,我們所要做的,就是觀察它是如何做到的。
認(rèn)知水平有4個(gè)層次,從低到高依次是“不知道自己不知道、知道自己不知道、知道自己知道、不知道自己知道”。“不知道”并不糟糕,最糟糕的是“不知道自己不知道”,而因?yàn)槿鄙賹?duì)自身思維的觀察和培養(yǎng),所以很多人對(duì)思維的認(rèn)知尚處于“不知道自己不知道”的層次。
這種無(wú)意識(shí)會(huì)導(dǎo)致我們很多時(shí)候盲目地做事。雖然一些人“996”工作很辛苦,但也許大部分工作內(nèi)容是無(wú)意義的重復(fù),在工作過(guò)程中,思維能力并沒(méi)有得到鍛煉和提高。這樣的人即使僥幸晉升成功,他的能力水平仍然停留在低層次。
就像混沌大學(xué)創(chuàng)始人李善友教授說(shuō)的,沒(méi)有好的思維模型,再多的知識(shí)積累也是低水平的重復(fù)。成人學(xué)習(xí)的目的不是獲取更多的信息量,而是學(xué)習(xí)更好的思維模型。
為了幫助大家打破“不知道自己不知道”的思維禁錮,把軟件設(shè)計(jì)中會(huì)用到的各種思維能力顯性化地呈現(xiàn)出來(lái),讓你意識(shí)到原來(lái)有這么多思維模型在軟件設(shè)計(jì)中發(fā)揮著至關(guān)重要的作用,博文視點(diǎn)邀請(qǐng)到前阿里巴巴高級(jí)技術(shù)專(zhuān)家、《程序員的底層思維》作者張建飛老師帶來(lái)“程序員的底層思維”的主題分享!
具體提綱:
1. 什么是抽象思維
2. 為什么抽象思維很重要
3. 如何進(jìn)行抽象
3. 關(guān)于抽象層次的拿捏
分享亮點(diǎn):
超越編程技法,提升技術(shù)能力。
直播入口:
https://bfw.h5.xeknow.com/sl/3DGVYL(掃描上方海報(bào)二維碼進(jìn)入直播群獲取或點(diǎn)擊文末閱讀原文)
直播時(shí)間:4月23日(周六)10:00


▊《程序員的底層思維》
張建飛 著
一本超越具體編程技法的技術(shù)書(shū)
一本培養(yǎng)思維能力的通用技能書(shū)
生活中稀松平常的小故事,作者豐富的個(gè)人經(jīng)驗(yàn)和案例,輕松生動(dòng)的語(yǔ)言風(fēng)格,專(zhuān)業(yè)度十足的思維模型,軟件設(shè)計(jì)“科學(xué)+哲學(xué)+美學(xué)”的完美融合
本書(shū)涵蓋程序員應(yīng)知應(yīng)會(huì)的16種思維能力,共18章,分為三部分。第一部分主要介紹抽象思維、邏輯思維、結(jié)構(gòu)化思維、批判性思維、維度思維、分類(lèi)思維、分治思維、簡(jiǎn)單思維,以及成長(zhǎng)型思維等解決日常問(wèn)題的基礎(chǔ)思維能力。第二部分結(jié)合軟件行業(yè)的特點(diǎn),主要介紹解耦思維、契約思維、模型思維、工具化思維、量化思維、數(shù)據(jù)思維,以及產(chǎn)品思維等專(zhuān)業(yè)思維能力。第三部分主要是對(duì)上述思維能力的綜合運(yùn)用實(shí)踐。
下單立減50,快快掃碼搶購(gòu)吧!
如果喜歡本文 歡迎 在看丨留言丨分享至朋友圈 三連 熱文推薦
▼點(diǎn)擊閱讀原文,直達(dá)直播間~
