首頁>資訊 >
開發(fā)者指南:用編程方式克服對(duì)失敗的恐懼 2021-11-18 16:52:15  來源:36氪

神譯局是36氪旗下編譯團(tuán)隊(duì),關(guān)注科技、商業(yè)、職場(chǎng)、生活等領(lǐng)域,重點(diǎn)介紹國(guó)外的新技術(shù)、新觀點(diǎn)、新風(fēng)向。

編者按:都說失敗是成功之母,但是真失敗了大部分人都覺得臉上掛不住,然后就想避免失敗,繼而害怕失敗,等到下一次失敗時(shí)就會(huì)更加羞愧,對(duì)失敗的恐懼從而變得更加強(qiáng)烈,最后陷進(jìn)一個(gè)死亡漩渦。本文從一個(gè)開發(fā)者的視角提出了用編程的方式來克服對(duì)失敗的恐懼,希望能幫到你。文章來自編譯。

劃重點(diǎn):

失敗這個(gè)東西總是會(huì)跟羞恥的情緒糾纏在一起

失敗可以分為這三類:可預(yù)防的失敗、復(fù)雜型失敗、創(chuàng)新型失敗

適應(yīng)失敗有三個(gè)步驟:對(duì)失敗進(jìn)行規(guī)范化、了解失敗、擁抱失敗

討論成功大家一般都是比較樂意的,但如果你問他們失敗的情況,他們就不大情愿分享了。

有趣的是,失敗這個(gè)東西總是會(huì)跟羞恥的情緒糾纏在一起。不過,失敗卻是做出任何新穎的東西不可或缺的一部分,從失敗中獲得的教訓(xùn)是任何其他東西都無法相提并論的。所以,不妨想想辦法,看看怎么更好地適應(yīng)失敗,弄清楚為什么大家會(huì)害怕失敗。

定義失敗

首先,我們得定義好失敗。出于這個(gè)目的,我們用保留采用一個(gè)非常簡(jiǎn)單的定義:嘗試做某件事但沒有成功。

雖說這個(gè)定義是有效的,但不是所有失敗都一樣。有很多不同的辦法可以對(duì)失敗進(jìn)行分類。簡(jiǎn)單起見,我會(huì)把失敗分成這 3 類。

可預(yù)防的失敗:你本來具備有知識(shí)和能力預(yù)防失敗的發(fā)生,但失敗還是發(fā)生了。

例子:你推出了一項(xiàng)功能,然后意識(shí)到這項(xiàng)功能不適合特定套餐的客戶,即便這已經(jīng)是常識(shí)了。

這類失敗的好處包括有機(jī)會(huì)可以調(diào)整當(dāng)前的流程。

這種類型的失敗給人的感覺是最糟糕的,因?yàn)樗粚儆谛率挛锬欠N類型。我們要避免犯這種類型的錯(cuò)誤,但也可以從中吸取教訓(xùn),學(xué)會(huì)在今后避免這種失敗,然后繼續(xù)前進(jìn)。檢查表與自動(dòng)化測(cè)試非常適合防止這種情況發(fā)生。

復(fù)雜型失敗:內(nèi)部和外部因素都湊到一起了,從而以一種新的方式產(chǎn)生失敗結(jié)果。

例子:兩項(xiàng)服務(wù)上線,同時(shí)上線給某共享資源帶來了壓力,導(dǎo)致資源崩潰。

此類失敗的好處包括:

調(diào)整當(dāng)前流程與防止錯(cuò)誤繼續(xù)向前的機(jī)會(huì)

對(duì)系統(tǒng)及其運(yùn)作方式有了全新的認(rèn)識(shí)

這種失敗也許可以預(yù)防,但是如果一方面還想著要快速行動(dòng)的話,就很難為每一種極端情況都做好準(zhǔn)備。發(fā)生像這樣的失敗時(shí),你可以從中學(xué)習(xí)并成長(zhǎng)。比方說,在上面這個(gè)例子里,你可以在將來更加關(guān)注這種資源,增加它的容量,或者甚至重新評(píng)估整個(gè)架構(gòu)。

創(chuàng)新型失敗:當(dāng)答案沒法提前知道時(shí)出現(xiàn)。因?yàn)槟阋郧皬奈从龅竭^這種情況,也許今后永遠(yuǎn)也不會(huì)再遇到。

例子:你推出了一項(xiàng)全新的功能,而用戶根本就沒接觸過。

此類故障的好處包括:

創(chuàng)新、變革與反思的機(jī)會(huì)

有機(jī)會(huì)學(xué)習(xí)到以前學(xué)不到的東西

這種失敗應(yīng)該是你想要的那種。因?yàn)樗切碌?、令人興奮的,而且最重要的是,這種失敗讓你有機(jī)會(huì)學(xué)習(xí)以前學(xué)不到的東西。

創(chuàng)新往往會(huì)發(fā)生在這種地方。當(dāng)然,也許有辦法防止這種類型的失敗。你本可以多跟用戶交流,你本可以多分析一下數(shù)據(jù),但最終你還是選擇冒險(xiǎn),你從中學(xué)到了一些東西。你還有更多的問題要提出,比如說‘為什么用戶不參與進(jìn)來?” 你還可以改變自身的工作理論。

對(duì)我來說,進(jìn)入這個(gè)失敗領(lǐng)域永遠(yuǎn)要比光是想“如果這可能是下一個(gè)大事物會(huì)怎么樣?”但從不去嘗試要好。

總結(jié):

三類失敗

現(xiàn)在我們對(duì)失敗是什么以及失敗的各種形式已經(jīng)了解了。那怎么去適應(yīng)它呢?就像做軟件一樣,讓我們采取循序漸進(jìn)的方法。

對(duì)失敗進(jìn)行規(guī)范化

了解失敗

擁抱失敗

對(duì)失敗進(jìn)行規(guī)范化

為了適應(yīng)一個(gè)東西,它必須是我們熟悉的東西。因此,要讓失敗規(guī)范化,我們必須先熟悉失敗。

每個(gè)人在人生的某個(gè)階段都會(huì)遭遇失敗。你第一次嘗試走路的時(shí)候會(huì)摔跤。你第一次學(xué)習(xí)閱讀時(shí),你會(huì)被單詞給難住。知道自己可能會(huì)遭遇失敗也有能力戰(zhàn)勝失敗就行了。其實(shí)你已經(jīng)一次又一次地這樣做過了,只不過也許你已經(jīng)忘記了。不過,這些是比較常見的失敗類型,而大家對(duì)它們的了解也更多些。

app崩潰、引入新的bug,或者推出的功能無人賞識(shí),這些是不太能夠接受的失敗類型,但這也是你成長(zhǎng)過程的一部分。

如果你想寫出華麗、干凈、架構(gòu)好且經(jīng)過測(cè)試的代碼,你猜會(huì)怎么著?為此你得先寫出一堆垃圾代碼。如果你把這個(gè)應(yīng)用到任何其他的手工藝或藝術(shù)形式上——如演奏樂器、繪畫、寫歌等——第一次嘗試都會(huì)是垃圾。

只要知道垃圾也沒關(guān)系就行了。繼續(xù)嘗試。失敗是這個(gè)過程的一部分。

你還記得自己的第一個(gè)大的bug是什么嗎?不是 QA 發(fā)現(xiàn)或代碼審查時(shí)資深開發(fā)者指出的那種,而是投入生產(chǎn)后出現(xiàn)的那種?

我會(huì)告訴你我的情況。

我剛開始做軟件開發(fā)人員的時(shí)候,當(dāng)時(shí)是在一家做車貸的金融科技初創(chuàng)企業(yè)工作。我寫了一個(gè)查詢,用來查找任何具有重復(fù) VIN(車輛識(shí)別號(hào))的車輛,然后在貸款批準(zhǔn)流程把相關(guān)的車牌提取出來。代碼看起來大概像下面這樣:

這次變更一經(jīng)合并之后,我在 slack 上馬上收到了這條消息。

貸款頁面加載不了了

我當(dāng)時(shí)害怕極了,同時(shí)又感到很困惑。這是我的工單,我的代碼,但我不知道我哪里出錯(cuò)了。代碼已經(jīng)通過了代碼審查,看起來也沒問題。

那么,問題到底出在哪里?

后來才發(fā)現(xiàn),出于節(jié)省時(shí)間的考慮,一些經(jīng)銷商會(huì)把帶偽車牌號(hào)(比方說0000000)的車列出來,然后在貸款達(dá)到某個(gè)階段后再更新車牌號(hào)。這么做是完全沒問題的,但我的代碼會(huì)把帶偽車牌號(hào)的每一輛車都找出來,導(dǎo)致頁面加載時(shí)間過長(zhǎng),從而基本上變得毫無用處。

怎么改?添加限制。

說實(shí)話,我第一次開始寫代碼的時(shí)候,并沒有想到性能和查詢限制的問題。在那之后,等我去到規(guī)模很大的公司,或者節(jié)省一兩秒鐘意味著會(huì)有更多用戶互動(dòng)的app時(shí),就知道始終要把性能放在第一位了。

這是我必須學(xué)會(huì)的東西,失敗可以成為一位好老師。

我還想強(qiáng)調(diào)我的團(tuán)隊(duì)做出的響應(yīng)。首先要修復(fù)錯(cuò)誤,合并,然后討論失敗是怎么發(fā)生的。失敗最重要的往往不是失敗本身,而是你和周圍的每個(gè)人如何應(yīng)對(duì)失敗。沒有責(zé)備,沒有“你早該知道的”,我也沒有為自己的錯(cuò)誤感到羞恥。

了解失敗

我們已經(jīng)介紹了如何去熟悉失敗?,F(xiàn)在讓我們更深入地了解失敗以及失敗的對(duì)應(yīng)物,恥辱。

恥辱:

“羞恥是一種高度厭惡的情緒體驗(yàn),與回避和退縮傾向密不可分?!?(馬斯科洛&費(fèi)舍爾,1995 年)”

“當(dāng)我們沒有達(dá)到自己的標(biāo)準(zhǔn)時(shí),所產(chǎn)生的那種為自己更感到丟臉的感覺?!?(H.B.劉易斯,1971)

“未能完成任務(wù)或達(dá)到目標(biāo)?!?(M. Lewis & Haviland-Jones, 2000)

“當(dāng)一個(gè)人覺得自己正在變成自己討厭或害怕的那種人時(shí)?!?(吉爾伯特,1998 年;奧吉爾維,1987 年)

以上對(duì)羞恥的定義均出自科學(xué)文章。雖然說法因作者和出版物而有所不同,但有一點(diǎn)幾乎每個(gè)人都同意:

羞恥是一種關(guān)系情緒(relational emotion)。

這意味著什么?你可能會(huì)因?yàn)槟_踢到石頭而生氣,或者因?yàn)樘鞖庾兓械诫y過。但是羞恥感不一樣,因?yàn)槟阒荒茉诟说年P(guān)系中體驗(yàn)到這一點(diǎn)。如果沒有受眾或者我對(duì)受眾的看法,我就不會(huì)感到羞恥。

“從這個(gè)角度來看,羞恥的功能是讓人把自我隱藏起來,避免被重要他人審查,從而最大限度地降低失去愛和被拒絕的可能性?!?(McGregor & Elliot,2005)

如果我們將上述措辭的含義外推的話,可以假設(shè)羞恥起源于部落時(shí)代的一種進(jìn)化上的反應(yīng)。換句話說,你感到羞恥后,會(huì)把導(dǎo)致你產(chǎn)生那種感覺的原因隱藏起來,從而避免被部落嫌棄,因?yàn)楸幌訔壔旧暇鸵馕吨劳?。雖然時(shí)代變了,但情緒對(duì)我們的影響仍然是出于本能。

對(duì)失敗的恐懼

一項(xiàng)科學(xué)研究把對(duì)失敗的恐懼定義為:“失敗時(shí)會(huì)感到羞恥的能力或傾向”(阿特金森 1957)。另一個(gè)則假設(shè)“相對(duì)于對(duì)失敗恐懼感低的人,對(duì)失敗高度恐懼的人在有了失敗的感知體驗(yàn)后羞恥感會(huì)更強(qiáng)”(McGregor & Elliot,2005)。

我們可以用羞恥/失敗循環(huán)來說明這一點(diǎn)。

你做某事失敗了。

你因?yàn)槟谴问《械叫邜u。

羞恥是一種你不想經(jīng)歷的,強(qiáng)烈的負(fù)面情緒,所以你想避免失敗。

你害怕失敗。

下一次再失敗時(shí),你會(huì)覺得更加羞恥。

你對(duì)失敗的恐懼變得更加強(qiáng)烈。

此外,有一點(diǎn)不要忘記,要想讓你經(jīng)歷第一次失敗時(shí)感到羞恥,需要有其他人(或你覺得其他人在)看著你。

這是對(duì)害怕失敗的一種看法,我個(gè)人覺得這種看法還是比較令人信服的。像眾多的心理學(xué)一樣,這種恐懼其中一個(gè)可能的起源是童年,尤其是當(dāng)父母對(duì)失敗高度敏感,但對(duì)成功的態(tài)度卻模棱兩可時(shí)(McGregor & Elliot,2005)。不過,在人生的任何階段也都可能會(huì)形成。還記得我們之前提到過的東西嗎?

重要的不是失敗本身,而是你和你周圍的每個(gè)人對(duì)失敗的反應(yīng)。

好的,我們知道失敗是免不了的了,我們也知道為什么大家會(huì)害怕失敗了……那怎么才能坦然接受失敗呢?

擁抱失敗

如何擁抱失???一部分在于想辦法讓自己變得更有韌勁。

那如何變得更有韌勁呢?

對(duì)失敗要有大題小做的態(tài)度(De-Catastrophize Failure):我們?cè)庥鍪〉臅r(shí)候,占主導(dǎo)的往往是這三種思維模式。

私人化:都是我的錯(cuò)。

普遍性:錯(cuò)誤是免不了的。

永久性:現(xiàn)在一切都?xì)Я恕?/p>

可是,我們還可以進(jìn)一步檢視這些看法。其他人有沒有任何輸入或參與?之前是不是也曾出現(xiàn)過這種失???這種情況是不是一點(diǎn)挽救的余地都沒有了?

弄清楚我們的大腦是怎么想的,了解我們對(duì)不自在的情況下可能出現(xiàn)的常見想法是什么,就可以為失敗做好準(zhǔn)備,并坦然接受失敗。這不全是我們的錯(cuò),我們也不是老是失敗,一切都會(huì)好起來的。

表現(xiàn)出同情心。假裝你正在安慰處在相同境地的朋友。你會(huì)對(duì)著犯錯(cuò)的人說他們把一切都給毀了嗎?當(dāng)然不會(huì)。別這樣對(duì)待別人,更不要這樣對(duì)待自己。

事前分析:事前驗(yàn)尸是在項(xiàng)目或計(jì)劃開始之前,個(gè)人或團(tuán)隊(duì)想象失敗的情形,然后再反過來思考如何防止這些失敗的發(fā)生。

事后反思:事件發(fā)生后,建立一份事件的時(shí)間表,圍繞著失敗是如何發(fā)生的以及防止類似事件繼續(xù)發(fā)生的辦法進(jìn)行頭腦風(fēng)暴。

自問自答:為了給自己加油打氣,一種常見的做法是對(duì)自己說“我一定能行的!”,但有強(qiáng)有力的證據(jù)表明,質(zhì)疑自己可能是更有效的做法。

這就是對(duì)自己說“我能行”和“我行不行”之間的區(qū)別。如果你對(duì)自己提出的問題是“我行不行?”,你就得強(qiáng)化你行,而且有技能去做的事實(shí)。

曾經(jīng)有研究人員(Senay、Albarracin 與 Noguchi,2010 年)進(jìn)行過一系列實(shí)驗(yàn),他們讓小組事先準(zhǔn)備好問題或斷言。研究表明,事先準(zhǔn)備問題的每次的表現(xiàn)都要更好些。提出這些問題是目標(biāo)導(dǎo)向行為的激勵(lì)因素。

構(gòu)建心理安全:如果你想要冒險(xiǎn)和創(chuàng)新,最重要的是要擁有一個(gè)失敗時(shí)感到安全的環(huán)境。構(gòu)建起心理上的安全感很難,但非常重要。

以下是有助于創(chuàng)建此類環(huán)境的一些建議。

讓領(lǐng)導(dǎo)者接受脆弱。

鼓勵(lì)同理心,在需要的時(shí)候讓團(tuán)隊(duì)成員放心。

建立反饋循環(huán),讓每個(gè)人都有發(fā)言權(quán)并覺得別人聽進(jìn)去了。

組織活動(dòng)讓大家分享他們自己的失敗。

營(yíng)造一個(gè)鼓勵(lì)大家嘗試新事物的空間,比方說黑客日或黑客周。

結(jié)論

我希望你暫時(shí)先別管軟件開發(fā),不妨思考一下自己的人生吧。失敗會(huì)滲透到我們?nèi)松拿恳粋€(gè)角落。你是不是曾經(jīng)發(fā)表過或聽到朋友說過類似下面的內(nèi)容?

我不會(huì)做飯來拯救自己的生命,所以我只能點(diǎn)外賣。

我不會(huì)唱歌,所以他們唱卡拉 OK 我就躲在外面。

我跳舞很糟糕,所以我干脆不跳。

這些說法背后是不是帶有對(duì)失敗的恐懼?他們都沒提到自己是不是喜歡做這項(xiàng)活動(dòng),光是說自己不擅長(zhǎng)。這是不是羞恥感在作祟?

我一直在講這個(gè),就好像那是你一直都意識(shí)到的東西一樣,但其實(shí)你已經(jīng)把其中的大部分都內(nèi)化進(jìn)潛意識(shí)里面了。也許你內(nèi)心深處存在著恐懼,但你自己沒有意識(shí)到。

我們不不妨重新審視一下失敗的原始定義:嘗試某事但沒有成功。就算你很可能會(huì)失敗,但我真的真的希望你至少去嘗試一下。請(qǐng)記住,你對(duì)失敗并不陌生。學(xué)說話、開車、做飯以及任何其他你涉足過的技能,你肯定在某個(gè)時(shí)候曾經(jīng)失敗過。老話不是說了嘛,“初試不成功,努力勿懈怠?!毕M憬裉炀腿L試點(diǎn)自己感到害怕的事情!

譯者:boxi。

關(guān)鍵詞: 80

相關(guān)閱讀:
熱點(diǎn)
圖片 圖片