當(dāng)前位置:首頁 > 公眾號(hào)精選 > 架構(gòu)師社區(qū)
[導(dǎo)讀]我的很多讀者肯定會(huì)認(rèn)為像我這種級(jí)別的人都是非常有思想、有決策力的大神。我會(huì)根據(jù)事情的真相,再三權(quán)衡,最后做出一個(gè)理性、正確的決定。但事實(shí)上基本上沒人能做到每一個(gè)決定都是理性而正確,即便是公司高管,我也不例外 。

我的很多讀者肯定會(huì)認(rèn)為像我這種級(jí)別的人都是非常有思想、有決策力的大神。

我會(huì)根據(jù)事情的真相,再三權(quán)衡,最后做出一個(gè)理性、正確的決定。

但,事實(shí)上基本上沒人能做到每一個(gè)決定都是理性而正確,即便是公司高管,我也不例外 。

?

其實(shí)我們的大腦在你不知不覺的時(shí)候幫我們做了很多決定。

這些決策都是基于不完善的信息和當(dāng)時(shí)我們的心情,而忽視了關(guān)鍵的事實(shí)。

?

我們的大腦不是軟件,出現(xiàn)了bug,可以進(jìn)行debug,最后找到錯(cuò)誤的代碼。

但我們大腦卻在時(shí)時(shí)刻刻出現(xiàn)著bug,常見的bug就是認(rèn)知偏見。

認(rèn)知偏見有很多種,在Wikipedia列舉了大約90種常見認(rèn)知偏見。

?

下面我會(huì)從認(rèn)知偏見這個(gè)角度展示出程序員群體最常見的錯(cuò)誤“代碼”。

讓你更加清楚了解這些偏見對(duì)我們思維和行動(dòng)的影響。


1

思維定勢(shì)


給大家舉2個(gè)例子。

一、

19世紀(jì)中葉,美國(guó)加州傳來發(fā)現(xiàn)金礦的消息。許多人認(rèn)為這是一個(gè)千載難逢的發(fā)財(cái)機(jī)會(huì),蜂擁而至,許多不幸的淘金者不但沒有圓致富夢(mèng),反而被折磨得半死。有個(gè)叫默克爾的人,通過賣水卻在很短的時(shí)間靠賣水賺到幾千美元,這在當(dāng)時(shí)是一筆非??捎^的財(cái)富了。

二、

我們公司大樓的2,3兩層是食堂,每次吃完飯。電梯口烏央烏央全是人,等著電梯,堪比擠東京的地鐵,像我這種中年發(fā)福的男人是擠不上去的。于是我就想了一個(gè)辦法,樓梯走到1樓,明顯感覺少了很多,只有零星幾個(gè)人,然后就非常容易的搭上電梯。


由此可見,當(dāng)我們苦苦不得其解,其實(shí)只要稍微轉(zhuǎn)變下思維,問題就迎刃而解。

?

在項(xiàng)目的開發(fā)過程中,經(jīng)常聽到有程序員跟我反饋,按需求上理解就應(yīng)該這樣設(shè)計(jì),領(lǐng)導(dǎo)給了規(guī)范就應(yīng)該這樣。

程序猿在工作的過程中就非常容易受這樣或那樣的要求的限定,久而久之便形成了思維定勢(shì),這樣的定勢(shì)一但形成就很難突破,本能的堅(jiān)定的認(rèn)為按照要求完成一定不會(huì)錯(cuò),不會(huì)錯(cuò)但不一定是對(duì)的或最好最高效的。

?

因?yàn)槟愕念I(lǐng)導(dǎo)也會(huì)受他們自己的思維所限,所制定的要求只是相對(duì)理想但永遠(yuǎn)不會(huì)是最理想,這也是為什么所有的企業(yè)都提暢創(chuàng)新,想要?jiǎng)?chuàng)新最理想的狀態(tài),需要我們每一個(gè)程序猿在工作中不斷的思考,不斷的突破,不斷的共享,不斷的修改規(guī)則和要求,從而才能實(shí)現(xiàn)創(chuàng)新,提高效率,與此同時(shí)你個(gè)人也會(huì)在這個(gè)不斷改變的過程中,收獲工作以外的成就感和價(jià)值感。

?

以我自己為例。

2015年的時(shí)候,我離開老東家,來到???。

剛來第一個(gè)月里,一般情況下就是熟悉團(tuán)隊(duì)氛圍和公司制度、文化的階段,而我發(fā)現(xiàn)代碼中的兼容性、擴(kuò)展性都比較差,而且耦合特別大。就強(qiáng)制要求自己每天早上非常早的就來公司,晚上幾乎11、12點(diǎn)下班,在一個(gè)月時(shí)間內(nèi)就輸出了一份軟件架構(gòu)方案,遞到了領(lǐng)導(dǎo)的手上。

最后雖然方案還是有漏洞,但是大的問題沒有,在第二年就慢慢切換使用我設(shè)計(jì)的架構(gòu)

原先的軟件架構(gòu)一直問題比較大,為什么直到我的出現(xiàn)才完成了重構(gòu)?

你可能會(huì)說,其他人的能力沒你強(qiáng),心有余力不足。

但我覺得最大的問題是出在了思維定勢(shì)。團(tuán)隊(duì)的每個(gè)人都習(xí)慣了這套代碼,只會(huì)想到怎樣去讓自己新增代碼更好的適配當(dāng)前架構(gòu),并沒有聯(lián)想到重新設(shè)計(jì)架構(gòu)。



2

以偏概全


極其不可能的巧合事件其實(shí)每天都在發(fā)生。

就2020年來說吧,從年初爆發(fā)的疫情,到全球經(jīng)濟(jì)下行的壓力,大家都成為了歷史的見證者。

雖然這次疫情可能是人類歷史以來最為嚴(yán)重的疫情,但是拉到地球生命時(shí)間線上看,這樣的事件肯定并不少見。

我們會(huì)覺得很反常,因?yàn)樵谖覀兊挠洃浿谢蛘呶覀兏改傅挠洃浿校ㄉ踔磷娓改傅挠洃浿校?,這些災(zāi)難從沒發(fā)生過。但是,這不意味著不會(huì)發(fā)生,也不能阻止它們一下子連續(xù)發(fā)生好幾次。


給大家一個(gè)數(shù)據(jù)。

美國(guó)人每年被雷電劈死的概率大概為600萬分之一。這個(gè)數(shù)字聽起來應(yīng)該很小吧,但是仍然有幾十個(gè)人死于雷電。

再給大家一個(gè)數(shù)據(jù)。

美國(guó)人每年死于墜床的概率大概為40萬分之一。這個(gè)數(shù)字看起來也挺小的吧,而且你可能認(rèn)為不算是危險(xiǎn)的事情。雖然非常罕見,但每年都有上百人死于墜床。

?

這些事情都警示著每一個(gè)程序員,不要把未觀察到的、或者是概率及其小的事情認(rèn)為是不可能。

?

任何你忽視的細(xì)節(jié)都可能讓你的軟件在未來的某個(gè)時(shí)刻出現(xiàn)莫名其妙的崩潰。

?

你應(yīng)該在設(shè)計(jì)代碼時(shí),仔細(xì)思考一下你可能遺漏的點(diǎn),可能沒有想到的點(diǎn)。花時(shí)間檢查一下“不可能”異常值或者“極其不可能的”case。

如果它們真的發(fā)生了,你將會(huì)消耗10倍甚至100倍的時(shí)間和精力去解決它。

所以,記住:很少并不意味著沒有。



3

需要定論

?

對(duì)于沒有結(jié)局的電視劇,沒有找到真兇的偵探電影。

大家是什么感覺?是不是非常的不舒服。

其實(shí)這是我們大腦給我們強(qiáng)烈的信號(hào),對(duì)于這種疑問和不確定性感到極不舒適。

我們會(huì)竭盡全力解決還未有定論的問題,最終得出結(jié)論。

但是你有沒有想過不確定性也是一件好事:讓你的選擇是開放的。

強(qiáng)行給出不成熟的定論,會(huì)迫使你放棄選擇,易于犯錯(cuò)。


舉一個(gè)例子。

當(dāng)領(lǐng)導(dǎo)交給你一個(gè)新需求時(shí),你經(jīng)過簡(jiǎn)單的思考,就給出了開發(fā)截止時(shí)間,這就是嚴(yán)重錯(cuò)誤。

你并沒有經(jīng)過嚴(yán)格評(píng)估,沒有考慮項(xiàng)目?jī)?nèi)的不確定性,就草率的給出deadline,這其實(shí)一種自我掩飾,最終倒霉的還是你自己。

你應(yīng)該怎么做?你可以告訴領(lǐng)導(dǎo),這個(gè)需求工作量我會(huì)在半天內(nèi)評(píng)估出來,然后會(huì)告知您每個(gè)細(xì)節(jié)的開發(fā)時(shí)間。

這樣的行為是不是更加有理有據(jù)。

所以我們需要適應(yīng)不確定性。


在項(xiàng)目開發(fā)中,有太多的不確定因素,我們不知道項(xiàng)目究竟結(jié)束是哪一天。不知道是否有疑難bug暫時(shí)無法解決。有太多的不確定因素干擾著項(xiàng)目。

隨著項(xiàng)目的進(jìn)行,這些不確定終于找到了答案,慢慢的走向確定。

難道我們就不能做點(diǎn)什么嗎?

當(dāng)然啦,我們可以采取一些措施減少這種不確定。

例如,我們可以對(duì)需求進(jìn)行詳細(xì)的設(shè)計(jì),論證;可以對(duì)代碼進(jìn)行嚴(yán)密的概要設(shè)計(jì),等等。

雖然,措施多多少少有點(diǎn)作用,但是總是會(huì)遺漏,無法考慮全面,當(dāng)然也就無法根治問題。

這不是壞事,這個(gè)從不確定到確定的過程,就是探索事物的過程,也是成長(zhǎng)的過程。

最關(guān)鍵的是擺正心態(tài),不要著急。



4

基本歸因錯(cuò)誤

這個(gè)其實(shí)涉及到了心理學(xué)的概念,以下截自百度百科。

基本歸因錯(cuò)誤描繪人們?cè)诳疾炷承┬袨榛蚝蠊脑驎r(shí)高估傾向性因素(譴責(zé)或贊譽(yù)他人)、低估情景性因素(譴責(zé)或贊譽(yù)環(huán)境)的雙重傾向。


什么意思?

就是人們傾向于把別人的行為歸因于他們的個(gè)性,而不去考慮行為發(fā)生時(shí)的場(chǎng)景。


舉個(gè)例子,比如A小姐,平時(shí)活潑、開朗,外向型性格,那么,如果有人告訴你她去喝酒應(yīng)酬的時(shí)候喝多了,失態(tài)了。

你會(huì)認(rèn)為這有可能發(fā)生,甚至?xí)钚牌湟欢òl(fā)生過。

如果有人告訴你她見客戶的時(shí)候很害羞、很內(nèi)向,倒水的時(shí)候手都緊張的發(fā)抖,你一定不會(huì)相信。

你會(huì)認(rèn)為一個(gè)外向的人不會(huì)突然內(nèi)向或特別緊張。

你會(huì)自然的認(rèn)為外向型的人就做外向型的事,內(nèi)向型的人就做內(nèi)向型的事,這是一種偏見,其實(shí),這是錯(cuò)誤的。

還有一個(gè)更簡(jiǎn)單的例子,人基本都會(huì)把面善的人認(rèn)為是好人,而把面惡的人認(rèn)為是壞人。

生活中,我們經(jīng)常以貌取人,也是源自歸因的錯(cuò)誤。

總的來說,基本歸因偏差又分三種。

一種是內(nèi)部歸因,是指事情發(fā)生了,當(dāng)事人會(huì)把所有問題指向自己。

外部歸因則是指事情發(fā)生了,當(dāng)事人習(xí)慣把事情發(fā)生因素歸納總結(jié)為外部因素。

而綜合歸因則是事情發(fā)生了,當(dāng)事人會(huì)內(nèi)外綜合進(jìn)行評(píng)價(jià)。

所以有的人他覺得自己從來不會(huì)錯(cuò),其實(shí)是指他是習(xí)慣性外部歸因,比如說他沒有升職或者原地踏步,他會(huì)責(zé)怪是自己沒有關(guān)系沒有背景,所以導(dǎo)致升不上去。

而內(nèi)部歸因的人則習(xí)慣性把因素指向自己,比如同樣是升職沒有升上去,他會(huì)認(rèn)為所有的問題都是發(fā)生在自己身上,因?yàn)樽约翰粔蚺Γ穗H關(guān)系不夠好,所以才導(dǎo)致自己不能升職。

總的來說,習(xí)慣外部歸因的人總是喜歡抱怨,最后容易變成憤青;

而習(xí)慣內(nèi)部歸因的人則相對(duì)對(duì)自己較為苛刻,最后讓自己背負(fù)巨大的壓力。

所以我們要想最為客觀看待一件事情,我們必須學(xué)會(huì)內(nèi)外結(jié)合,既采用綜合歸因,我們才能得到較為準(zhǔn)確的信息,也才能更好的幫助我們自己成長(zhǎng),獲取更為立體的信息。



5

自私的偏見


在項(xiàng)目開發(fā)中,大家有沒有遇到這種情況。

有一些技術(shù)相對(duì)比較好的程序員在開發(fā)過程中會(huì)使用一些相對(duì)難于理解的技術(shù)實(shí)現(xiàn),或者是一些語法新特性,也可能是一些新的庫。

往往使用這些技術(shù)開發(fā)出來的功能只有作者本人能理解代碼的邏輯實(shí)現(xiàn),小組中的其他成員很難理解,甚至不理解。

這一發(fā)展形成了技術(shù)壁壘 因此別人無法去涉及這業(yè)務(wù), 隨著業(yè)務(wù)的不斷發(fā)展, 壁壘就會(huì)越來越高。

雖然這種技術(shù)壁壘可以保證你在項(xiàng)目中的地位,但是這是自私的行為。

一旦這塊業(yè)務(wù)發(fā)生了bug,即使你忙的不可開交,你還是推卸不掉。

因?yàn)闆]人懂,只有你去解決,別人根本幫不了你。

如果業(yè)務(wù)是經(jīng)常變動(dòng)的,可想而知你會(huì)多么痛苦。

更大的危害是,這中自私的行為阻礙了你的職業(yè)發(fā)展,因?yàn)榧夹g(shù)壁壘不光阻擋了其他人的進(jìn)入, 同樣也阻擋了你出去。

由于你無法從這個(gè)壁壘脫身,導(dǎo)致很多機(jī)會(huì)都給了其他人, 你只能眼巴巴的看著,時(shí)間久了, 你也只是成為了最熟悉這一塊業(yè)務(wù)的程序員而已。

?

我面試過很多工作5年左右的程序員,他們往往在一個(gè)業(yè)務(wù)上做了很久,但技術(shù)能力很是一般。

為什么呢?

因?yàn)樗麄儗?duì)自己的業(yè)務(wù)熟悉了,太安逸了,在自己業(yè)務(wù)領(lǐng)域舒適著做個(gè)溫水青蛙。

最后一跳槽,原形畢露,毫無競(jìng)爭(zhēng)力。

說到底是在自己負(fù)責(zé)的業(yè)務(wù)上設(shè)置了業(yè)務(wù)壁壘,殊不知是自私導(dǎo)致。

試問一下,如果新來的小伙伴問你業(yè)務(wù)代碼,你會(huì)不會(huì)耐心跟對(duì)方講解清楚,有沒有讓對(duì)方完全理解。如果沒有,其實(shí)你在建立自己的商業(yè)壁壘。

如果讀者你有這樣的行為,請(qǐng)立即停止,請(qǐng)丟掉自私心理。

你需要將自己的技術(shù)和業(yè)務(wù)經(jīng)驗(yàn),毫無保留的分享給你的同伴或者下屬。讓他們能夠成長(zhǎng),甚至超越你。

當(dāng)有新需求,或者出現(xiàn)bug時(shí),你的同事能夠幫你分擔(dān),能夠團(tuán)隊(duì)協(xié)作。同時(shí)你有更多的時(shí)間接觸新技術(shù)提升自己。

?

還有一種人 ,如果項(xiàng)目成功,最大的功能都是他的,一直強(qiáng)調(diào)自己對(duì)項(xiàng)目的貢獻(xiàn)很大,而受到領(lǐng)導(dǎo)的不公。而項(xiàng)目一旦失敗,推卸責(zé)任,所有的失敗都與他無關(guān)。

這種行為,是一種個(gè)人防御機(jī)制,也是一種自私的偏見。

記住無論失敗,團(tuán)隊(duì)所有的人承擔(dān)。

最后,既然選擇做程序員這條道路,自私的心理就應(yīng)該丟掉。這樣才能讓你走的更遠(yuǎn)。

特別推薦一個(gè)分享架構(gòu)+算法的優(yōu)質(zhì)內(nèi)容,還沒關(guān)注的小伙伴,可以長(zhǎng)按關(guān)注一下:

聊一聊程序員的認(rèn)知偏見

聊一聊程序員的認(rèn)知偏見

聊一聊程序員的認(rèn)知偏見

長(zhǎng)按訂閱更多精彩▼

聊一聊程序員的認(rèn)知偏見

如有收獲,點(diǎn)個(gè)在看,誠摯感謝

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉