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

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

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

劃重點:

失敗這個東西總是會跟羞恥的情緒糾纏在一起

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

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

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

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

定義失敗

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

雖說這個定義是有效的,但不是所有失敗都一樣。有很多不同的辦法可以對失敗進行分類。簡單起見,我會把失敗分成這 3 類。

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

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

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

這種類型的失敗給人的感覺是最糟糕的,因為它不屬于新事物那種類型。我們要避免犯這種類型的錯誤,但也可以從中吸取教訓(xùn),學(xué)會在今后避免這種失敗,然后繼續(xù)前進。檢查表與自動化測試非常適合防止這種情況發(fā)生。

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

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

此類失敗的好處包括:

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

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

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

創(chuàng)新型失敗:當(dāng)答案沒法提前知道時出現(xiàn)。因為你以前從未遇到過這種情況,也許今后永遠也不會再遇到。

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

此類故障的好處包括:

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

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

這種失敗應(yīng)該是你想要的那種。因為它是新的、令人興奮的,而且最重要的是,這種失敗讓你有機會學(xué)習(xí)以前學(xué)不到的東西。

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

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

總結(jié):

三類失敗

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

對失敗進行規(guī)范化

了解失敗

擁抱失敗

對失敗進行規(guī)范化

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

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

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

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

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

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

我會告訴你我的情況。

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

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

貸款頁面加載不了了

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

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

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

怎么改?添加限制。

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

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

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

了解失敗

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

恥辱:

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

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

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

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

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

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

這意味著什么?你可能會因為腳踢到石頭而生氣,或者因為天氣變化而感到難過。但是羞恥感不一樣,因為你只能在跟他人的關(guān)系中體驗到這一點。如果沒有受眾或者我對受眾的看法,我就不會感到羞恥。

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

如果我們將上述措辭的含義外推的話,可以假設(shè)羞恥起源于部落時代的一種進化上的反應(yīng)。換句話說,你感到羞恥后,會把導(dǎo)致你產(chǎn)生那種感覺的原因隱藏起來,從而避免被部落嫌棄,因為被嫌棄基本上就意味著死亡。雖然時代變了,但情緒對我們的影響仍然是出于本能。

對失敗的恐懼

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

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

你做某事失敗了。

你因為那次失敗而感到羞恥。

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

你害怕失敗。

下一次再失敗時,你會覺得更加羞恥。

你對失敗的恐懼變得更加強烈。

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

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

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

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

擁抱失敗

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

那如何變得更有韌勁呢?

對失敗要有大題小做的態(tài)度(De-Catastrophize Failure):我們遭遇失敗的時候,占主導(dǎo)的往往是這三種思維模式。

私人化:都是我的錯。

普遍性:錯誤是免不了的。

永久性:現(xiàn)在一切都毀了。

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

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

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

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

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

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

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

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

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

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

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

鼓勵同理心,在需要的時候讓團隊成員放心。

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

組織活動讓大家分享他們自己的失敗。

營造一個鼓勵大家嘗試新事物的空間,比方說黑客日或黑客周。

結(jié)論

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

我不會做飯來拯救自己的生命,所以我只能點外賣。

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

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

這些說法背后是不是帶有對失敗的恐懼?他們都沒提到自己是不是喜歡做這項活動,光是說自己不擅長。這是不是羞恥感在作祟?

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

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

譯者:boxi。

關(guān)鍵詞: 80

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