開發(fā)人員調(diào)節(jié)壓力的技巧

文章翻譯自:Tips for Dealing with Developer Stress
作者簡(jiǎn)介:

Rich McLaughlin: Rich是Vertafore公司的高級(jí)軟件工程師。他也開發(fā)JavaScript游戲(像Zelda),并在anonymous-function.com上不定期的推出前端方面的專題。


概要

本文歸納了程序開發(fā)人員日常面臨的幾種壓力,解釋了它們?cè)鯓忧治g工作的效率。我們將詳細(xì)講解如何識(shí)別壓力產(chǎn)生的根源,以及如何管理這些壓力。



背景

這篇文章是由我和Erik Gillespie[1][2]合寫的。我們?cè)诤芏喾矫孢M(jìn)行了合作,包括一些有趣的業(yè)余項(xiàng)目、業(yè)務(wù)理念推廣和史詩(shī)級(jí)的商業(yè)應(yīng)用等。我們遇到過很多壓力山大的場(chǎng)景--從企業(yè)級(jí)架構(gòu)的決策到上哪吃午飯(雖然后一種更近似于玩笑,但是有一類的壓力叫“決策困境”,它正是由于對(duì)一些基本的事情,比如吃午飯,難以做出選擇而造成的--所以看看還有什么吧)。我們嘗試過很多技巧來解決這些日常的壓力,并且挑選了一些我們覺得最有幫助的分享給大家。

作為軟件工程師,我們的工作總有非常大的壓力。其中工作的核心就在于開發(fā),并且快速地開發(fā)。但假如壓力擊潰了你,則快速開發(fā)何從談起呢?

當(dāng)以下情況發(fā)生時(shí),該怎樣盡可能高地維持工作成效:

  • 產(chǎn)品經(jīng)理想添加更多的內(nèi)容
  • 會(huì)計(jì)想削減開支
  • 客戶有相互沖突的需求
  • 開發(fā)人員想嘗試一切最新的、最偉大的東西

我們推薦你從“5個(gè)為什么”開始。

5個(gè)為什么

“5個(gè)為什么”是一種能夠幫助你明確壓力來源的策略。通常地,當(dāng)倍感壓迫時(shí),我們會(huì)太過關(guān)注當(dāng)前的情緒以至難以縷清麻煩產(chǎn)生的根源。

“5個(gè)為什么”[3]是一種發(fā)現(xiàn)各種類型的壓力來源的好方法。它從陳述對(duì)某個(gè)問題的最初感覺或評(píng)估出發(fā),然后不斷重復(fù)地問自己“為什么”五次。多數(shù)情況下,你都可以通過這種方法更清晰地理解潛在的問題。

讓我們將“5個(gè)為什么”策略應(yīng)用到一個(gè)常見的工作場(chǎng)景中:

我:今天工作很糟糕。
為什么很糟糕?
我:我要加班。
為什么要加班?
我:我沒有完成代碼的修改,本來我說可以準(zhǔn)備好用于明天的測(cè)試的。
為什么沒有完成代碼的修改?
我:我開了五個(gè)不同的長(zhǎng)達(dá)一小時(shí)的會(huì),這些會(huì)議占用了我大部分的時(shí)間。
為什么剩下的3個(gè)小時(shí)不夠用?
我:本來是可以的,但是在不同的會(huì)議間我只有15分鐘可以用來處理事情。
為什么你在會(huì)議間隙只有15分鐘?
我:會(huì)議超時(shí)了。然后在檢查完郵件并記起我在做什么之后,幾乎沒有時(shí)間做事就要準(zhǔn)備接下來的會(huì)議了。

這個(gè)最終的回答例證了四種常見類型的工作壓力中的一種。為了搞清你處于哪種類型的壓力,你可以嘗試著問:

  • 你面對(duì)的問題是否涉及到還沒決定的選擇?
  • 和你一起工作的其他人有不同意見嗎?
  • 你是否覺得正處于不必要的忙碌之中,總是在不同的任務(wù)之間來回切換,或者總是落后于自己的工作?
  • 是不是有些事情你不喜歡做?是它們很無聊呢,還是這些事情讓你的時(shí)間未被有效利用?

讓我們思考得更深入一點(diǎn),并為這四個(gè)例子代表的壓力類型起個(gè)名字,然后看看處理它們的一些技巧。



壓力的類型

決策困境

開發(fā)人員每天都要處理無數(shù)大大小小的選擇。這些選擇囊括了從制定一個(gè)新產(chǎn)品的技術(shù)棧到命名一個(gè)函數(shù)。所有這些小的行為都需要耗費(fèi)時(shí)間和精力,它們緩慢地消磨大腦制定決策的能力,直到讓人精疲力竭。這種壓力持續(xù)的削弱你的決策力,將你困于決策疲勞的漩渦中難以自拔。我們?cè)趺纯朔@種特定類型的壓力呢?

減少選項(xiàng)

體會(huì)下面這副源于xkcd [4]的漫畫:


  很多情況下,這幅圖都夸大其詞了。但是,想想當(dāng)你向柱形圖中添加一個(gè)策略C時(shí)會(huì)發(fā)生什么。你必須把策略C與策略A和B都進(jìn)行比較。如果再考慮一個(gè)策略D,你就必須把它與先前的三個(gè)策略都進(jìn)行比較。顯然,大量的比較各種策略不是一種制勝策略。

因此,我們的第一個(gè)竅門就是減少?zèng)Q策過程中需要考慮的選項(xiàng)或者變量的數(shù)目。每消除一個(gè)選項(xiàng),你就從將它與余下選項(xiàng)的各種比較中解放出來了。

比如,或許你想在自己的應(yīng)用中引入一個(gè)JavaScript模板框架。通過快速的檢索之后,剩下四種主要選擇。如果你能迅速地剔除哪怕其中一個(gè)(或許就是你們組員都沒有聽說過的那一個(gè)),你都不用將其與剩下的三個(gè)模板庫(kù)進(jìn)行比較,這是多么的節(jié)省時(shí)間和腦力啊!

邊做邊選

另外,構(gòu)造原型能夠很好地削減可能選項(xiàng)的數(shù)量。在功能實(shí)現(xiàn)的討論中跑題數(shù)小時(shí)是很簡(jiǎn)單的事。通過實(shí)際動(dòng)手構(gòu)造一個(gè)簡(jiǎn)單的原型或者樣本,而不是依據(jù)空中樓閣進(jìn)行決策,能夠更快的獲得答案。

你可以通讀已經(jīng)發(fā)表的所有文檔和博客,但有時(shí)候僅花費(fèi)30分鐘就能夠證明某些事情是否可行。構(gòu)建原型時(shí),不要在意代碼質(zhì)量;給自己設(shè)置一個(gè)時(shí)間限制,看看你能完成到什么程度。當(dāng)快到限定的時(shí)間,做一個(gè)徹底的檢查。你能預(yù)見這種想法行得通嗎,或者你能發(fā)現(xiàn)哪些事情會(huì)使得工作無效率、不切實(shí)際嗎?如果你發(fā)現(xiàn)這是在自尋煩惱,那么吃一塹長(zhǎng)一智,然后轉(zhuǎn)移到別的選擇上去吧!


意見分歧

第二種主要的壓力來源是意見分歧。大多數(shù)開發(fā)人員都不是自說自話,無數(shù)個(gè)星期里,我們和同事待在一起的時(shí)間比和家人待在一起的時(shí)間更長(zhǎng)。這種尋常的交流(有意無意的)會(huì)導(dǎo)致專業(yè)性的下降。再加上其他因素,就會(huì)導(dǎo)致不一致的看法。一些解決此種壓力的技巧包括:

選擇性爭(zhēng)辨

我們很容易為了字面上的東西爭(zhēng)執(zhí)不休。但是某個(gè)函數(shù)叫"getUserId"或者"getUserID"真的很重要嗎?可能并非如此。但是,太多時(shí)候人們會(huì)陷入這種微末的細(xì)節(jié)中(這種行為也有一種說法:“車棚效應(yīng)”[5]!)。討論就此變得無效率,在這上面浪費(fèi)的時(shí)間比大學(xué)生們?cè)谀硞€(gè)莫名其妙的節(jié)日上浪費(fèi)的時(shí)間還多。即使你的意見或者選擇更合理,也不能保證你會(huì)贏得爭(zhēng)論。那么就此作罷吧,有時(shí)候?yàn)榱顺掷m(xù)前進(jìn)你必須要及時(shí)止損。

投票表決

正經(jīng)話,對(duì)民主表現(xiàn)點(diǎn)熱愛吧,因?yàn)槲覀兌紖⒓舆^那種為了尋求最優(yōu)解而不斷轉(zhuǎn)圈的會(huì)議。設(shè)置一個(gè)討論時(shí)限,到了點(diǎn)就把所有方案提交投票,少數(shù)服從多數(shù)。形成了僵局?看下一個(gè)技巧點(diǎn)!

提請(qǐng)仲裁

找一個(gè)中立方,他并不需要是一個(gè)專家甚至是開發(fā)人員。找一個(gè)你能在五分鐘內(nèi)向他解釋清楚所有選項(xiàng)的人,看看他有什么意見。引入這種新的視角甚至?xí)沟么鸢革@而易見。有時(shí)候,僅僅是把問題大聲地表述出來就足以幫你做出決定或者找到答案。


任務(wù)超載

晚上和周末總是在加班?這第三種壓力實(shí)在煩人??纯聪旅孢@些內(nèi)行的解決方案吧,它們會(huì)幫你把私人生活從不時(shí)變成黑洞的工作中解救出來。

優(yōu)先處理

你可能會(huì)碰到兩種類型的優(yōu)先事務(wù):客戶方面需要優(yōu)先處理的工作(來自于你業(yè)務(wù)線的同事)和自己實(shí)際能夠優(yōu)先處理的工作。如果你感覺在某些特性上花費(fèi)了過多的時(shí)間,但是這些努力卻不保證有價(jià)值,你就應(yīng)該跟你的項(xiàng)目或開發(fā)經(jīng)理談?wù)劻恕=?jīng)常被邀請(qǐng)參加各種會(huì)議?那么仔細(xì)評(píng)估一下與會(huì)的人員:你們組是否有水平相當(dāng)?shù)耐聟⒓恿藭?huì)議,并能夠做一個(gè)報(bào)告呢?

將事務(wù)處理的情境最小化,試著把任務(wù)切割清楚了再轉(zhuǎn)向下一個(gè)。這樣會(huì)幫著把它從你的任務(wù)表和腦海里剔除掉,然后你就可以把注意力集中在下一個(gè)項(xiàng)目上。你也可以創(chuàng)造性的解決這個(gè)問題:嘗試著把所有會(huì)議壓縮到一周的某一天,鼓勵(lì)施行“不開會(huì)的星期一”,或者重新規(guī)劃日常議程,讓這些會(huì)議連在一起。

留意每周的工作:如果你連續(xù)好幾天都要加班,要當(dāng)心衰竭的風(fēng)險(xiǎn)了,這會(huì)導(dǎo)致工作質(zhì)量十分之差。確保留一定的時(shí)間用來休息和自我革新;要明白規(guī)定期限是用來幫你決定哪些事必須要做,而哪些可以留到明天再做。

弄清楚了再開始

開發(fā)人員不應(yīng)該對(duì)職場(chǎng)與期望的不相符而感到詫異。在應(yīng)聘階段你就應(yīng)該預(yù)見性地問一些問題,確保自己所期待的工作生活之間的平衡與實(shí)際相符。不要僅問些“典型的工作日”是怎樣的,而應(yīng)該明確的問清楚公司的關(guān)鍵時(shí)間點(diǎn)的頻次,以及這種時(shí)候員工是否需要輪流地隨時(shí)待命。

如果目下你已經(jīng)掙扎于工作上花費(fèi)了太多的時(shí)間而不能好好享受生活的狀態(tài),跟你的經(jīng)理談?wù)劙?!你可能?huì)驚訝地發(fā)現(xiàn)你的老板也不愿意你勉力維持。


工作停滯無聊

在你的職業(yè)生涯中,總有某些時(shí)候你不是在干著自己最喜歡的工作。但那也是你工作的一部分。下面這些技巧會(huì)幫你能量滿滿地度過這段時(shí)間。

沉入進(jìn)去

從職業(yè)生涯的角度來審視一下這個(gè)問題:我們之所以選擇軟件開發(fā),難道不是因?yàn)槲覀儫釔鬯鼏??通常而言,我的職業(yè)最有吸引力的方面不是因?yàn)樗苜嶅X,而是因?yàn)槲易龅哪承┦潞苡腥ぁ懠夹g(shù)博客、出席交流會(huì),或者編寫一個(gè)有趣的業(yè)余項(xiàng)目都是沉浸到新事物中的好方法。將有趣的業(yè)余項(xiàng)目和乏味的任務(wù)結(jié)合起來,會(huì)使得那些乏味的任務(wù)更容易忍受。

你甚至?xí)诠ぷ髦蝎@得接觸新事物的機(jī)會(huì)。嘗試日常工作以外的新事物是靈感和創(chuàng)造力的良好來源。把它們帶到工作中,是吸引注意力并開展新的或是報(bào)酬頗豐的項(xiàng)目的好方法。



更進(jìn)一步

不管什么問題,你都不是第一個(gè)碰到它的人。認(rèn)真地找出問題根源所在,而不要只會(huì)以頭搶地。跟其他開發(fā)人員或者你的經(jīng)理談?wù)劜で笠恍椭?。沒有人喜歡職場(chǎng)殉道者(“看,我是多么努力地依靠自己來解決問題??!”)--盡力尋找答案,如果長(zhǎng)時(shí)間沒有進(jìn)展就請(qǐng)人幫助一下吧。

現(xiàn)在我們已經(jīng)討論了一些開發(fā)人員常見的困難,記得回到工作中試著解決掉問題。我們談了對(duì)自己有幫助的技巧,如果你也有一些管理壓力和注重效率的好點(diǎn)子,在評(píng)論區(qū)里告訴我們吧!



參考鏈接:


  1. http://technicalrex.com/ ?

  2. https://www.airpair.com/stackoverflow/posts/30-days-of-answers-on-stack-overflow ?

  3. https://en.wikipedia.org/wiki/5_Whys ?

  4. http://xkcd.com/1445/ ?

  5. https://en.wikipedia.org/wiki/Parkinson%27s_law_of_triviality ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容