摘要:情緒化不是一個(gè)成熟的職場(chǎng)人士所應(yīng)有的處事方式攒射,但在我們技術(shù)人員中間卻可能更容易的出現(xiàn)晶姊。
有一個(gè)技術(shù)人員都知道的很老的段子猿妈。如果我們想將一個(gè)技術(shù)論壇搞火起來(lái)芬失,那么我們只需要發(fā)一篇帖子——php是世界上最好的語(yǔ)言。雖然是很老的段子附迷,但現(xiàn)在還常常被人提起惧互,很有意思哎媚。
不僅僅是在論壇中,在我們?nèi)粘5膱F(tuán)隊(duì)合作中喊儡,其實(shí)也常常有這樣的事情拨与。回憶一下艾猜,在 Code Review 中买喧,是不是常常有某一行代碼引起了大家的廣泛討論,把整個(gè)會(huì)議給“搞火”了匆赃?大家可能就一個(gè)問(wèn)題討論很久淤毛,爭(zhēng)執(zhí)不下。
對(duì)于這樣的討論算柳,如果大家能心平氣和低淡,互相理解,可能能較快的達(dá)成一致瞬项,但事實(shí)上常常會(huì)出現(xiàn)這樣的情況蔗蹋,雙方爭(zhēng)論很久爭(zhēng)執(zhí)不下,后來(lái)可能有人說(shuō)囱淋,“這你都不知道啊”猪杭,或者“這我理解不了,你這里明顯有問(wèn)題”妥衣,或者“你說(shuō)的都好胁孙,我用我的方式”,或者“你這里就明顯是在#define true=false
”等等称鳞。
在這樣的討論中,我們比較容易情緒化(可能沒有情緒化這么嚴(yán)重稠鼻,這里姑且先用這個(gè)詞)冈止,演變到最后,原本心平氣和的討論就變成了針對(duì)某個(gè)個(gè)人的互懟候齿,或者直接拒絕交流熙暴。一旦情況變成這樣,那么不僅討論效率會(huì)大大下降慌盯,還會(huì)使得彼此心生芥蒂周霉,影響后面的高效合作。
情緒化不是一個(gè)成熟的職場(chǎng)人士所應(yīng)有的處事方式亚皂,但在我們技術(shù)人員中間卻可能更容易的出現(xiàn)俱箱。因?yàn)榇蠹疫壿嬆芰?qiáng),灭必,思維也都很敏捷狞谱,追求高效率乃摹,相對(duì)更缺乏耐心。如果大家還能回憶得起來(lái)跟衅,《社交網(wǎng)絡(luò)》中的扎克伯格的形象可能是一個(gè)典型的高效技術(shù)人員的形象孵睬,說(shuō)話滔滔不絕,做事雷厲風(fēng)行伶跷。我發(fā)現(xiàn)身邊的技術(shù)人員多多少少都具有點(diǎn)這樣的特質(zhì)掰读。我自己反思下來(lái),也常常發(fā)現(xiàn)自己有不夠耐心的時(shí)候叭莫。比如某次在和他人交流的時(shí)候蹈集,對(duì)方話還沒說(shuō)完,我就著急開始講話食寡,然后對(duì)方不得已也跟著著急的說(shuō)“你先聽我說(shuō)完嘛”雾狈。
正因?yàn)槿绱耍覀兗夹g(shù)人員可能更需要有一顆耐心和包容心抵皱。在沒有寫代碼善榛,而是跟其他人討論交流時(shí),我們有沒有即時(shí)的切換狀態(tài)呻畸,更耐心的對(duì)待他人的問(wèn)題移盆?我們?cè)诳磩e人的代碼的時(shí)候,當(dāng)發(fā)現(xiàn)有一些不是自己所推崇的模式的時(shí)候伤为,有沒有仔細(xì)想一下別人為什么要這么做咒循?我們?cè)谶z留代碼上面工作的時(shí)候,是不是一邊工作一邊吐槽代碼寫得太爛绞愚,而沒有考慮到當(dāng)時(shí)可能有各種各樣的原因叙甸?我們是不是只一味的自己講話,而沒有仔細(xì)傾聽對(duì)方的話位衩?
一個(gè)例子
印象較深刻的有這樣一個(gè)例子裆蒸,我們的代碼里面有這樣的一段邏輯:
class Something {
private Map<String, Object> attributes;
public <T> T getAttribute(String name) {
return (T)attributes.get(name);
}
...
}
當(dāng)我們?cè)趓eview代碼的時(shí)候,有人一看到上面這行代碼糖驴,還沒等人解釋為什么要這么做就直接說(shuō)僚祷,“這個(gè)地方明顯有問(wèn)題啊,更好的方式是返回一個(gè)Option
贮缕,讓調(diào)用方去處理異痴廾眨”。當(dāng)作者開始要解釋的時(shí)候感昼,他又表現(xiàn)得聽不進(jìn)去装哆,始終堅(jiān)持自己是對(duì)的。最后由于這個(gè)小問(wèn)題,可能要討論十分鐘烂琴。
這個(gè)問(wèn)題的原因是什么呢爹殊?原來(lái)是由于Something
里面的屬性其實(shí)是調(diào)用方自己定義的,由于業(yè)務(wù)的要求奸绷,調(diào)用方可以定義各種類型的屬性梗夸,而當(dāng)調(diào)用方想要獲取某一個(gè)屬性的時(shí)候,就通過(guò)getAttribute
獲取号醉。作者的設(shè)計(jì)意圖是提供一個(gè)便捷的類型轉(zhuǎn)換功能反症,封裝這類類型強(qiáng)制轉(zhuǎn)換的代碼,避免這類不好的代碼泄漏到每一個(gè)調(diào)用此方法的地方畔派,而假設(shè)調(diào)用方確定的知道所查詢的屬性是什么類型(屬性是調(diào)用方自己定義的)铅碍。如果這里的類型轉(zhuǎn)換出錯(cuò),那么會(huì)拋出一個(gè)運(yùn)行時(shí)異常线椰,這是寫代碼時(shí)就必須要處理的bug胞谈。
這里的分析合情合理,在我看來(lái)是完全可以接受的憨愉。試想烦绳,如果我們返回一個(gè)Option
,每一個(gè)調(diào)用的地方都需要處理類型轉(zhuǎn)換失敗的情況配紫,而調(diào)用方要如何處理呢径密?似乎也只能將其拋給更上層。其實(shí)這里作為調(diào)用方可能會(huì)很奇怪躺孝,為啥我明明知道不會(huì)拋出異常享扔,還需要顯示的處理異常呢?而且由于這樣的調(diào)用方可能很多植袍,每個(gè)地方都需要處理這樣的異常惧眠,我們的代碼其實(shí)是變得更糟糕了。
回過(guò)頭來(lái)看這樣的討論于个,且不說(shuō)它有沒有價(jià)值锉试,至少在我看來(lái)是低效的。如果我們有更多的耐心和包容心览濒,我們先聽作者把話說(shuō)完,仔細(xì)傾聽他人寫代碼時(shí)的考慮拖云,是不是可以直接避免這樣的討論呢贷笛?我們的合作是不是更加順暢呢?
耐心宙项、包容心對(duì)于我們的TL其實(shí)有更高的要求乏苦,在面對(duì)一些經(jīng)驗(yàn)稍差的團(tuán)隊(duì)成員寫出來(lái)的代碼,有時(shí)即便是有非常明顯的問(wèn)題,我們也需要虛心的耐心的傾聽作者的解釋汇荐,包容他的問(wèn)題洞就,然后合理的給出建議。只有這樣掀淘,團(tuán)隊(duì)成員才能感受到自己是受重視的旬蟋,自己哪里經(jīng)驗(yàn)還比較欠缺,要往哪方面去努力革娄。
幾個(gè)小建議
我們每天和不同背景不同經(jīng)歷的團(tuán)隊(duì)成員進(jìn)行合作倾贰,大家可能很容易的產(chǎn)生分歧,我們無(wú)意間發(fā)表的觀點(diǎn)也可能會(huì)傷到他人的自尊拦惋。如何讓自己有更好的耐心和包容心匆浙?這個(gè)問(wèn)題可能是每一個(gè)作為成熟的職場(chǎng)人所必須要經(jīng)常思考和練習(xí)的。只有每個(gè)人都做好了這些厕妖,我們?cè)谌粘9ぷ髦胁拍芨槙车慕涣魇啄幔咝У暮献鳎椭C的相處言秸。
ThoughtWorks是一個(gè)反饋文化很濃厚的公司软能,反饋的技巧對(duì)于培養(yǎng)自己更好的耐心和包容心同樣適用。要想有好的反饋效果井仰,我們通常不是直接指出對(duì)方的問(wèn)題埋嵌,因?yàn)槲覀冇^察到的對(duì)方的問(wèn)題一般都只是根據(jù)事實(shí)的推測(cè),內(nèi)在原因我們未必知道俱恶。那么第一步是講事實(shí)雹嗦,傾聽他人的解釋,然后驗(yàn)證自己的假設(shè)合是。如果對(duì)方根本沒有這個(gè)問(wèn)題(先前的假設(shè)不存在)了罪,那么我們的反饋?zhàn)匀灰簿筒淮嬖凇H绻娴拇嬖趩?wèn)題聪全,應(yīng)該適當(dāng)引導(dǎo)他泊藕,讓他自己發(fā)現(xiàn)做的不對(duì),然后主動(dòng)的去改正难礼,我們當(dāng)然也可以在這個(gè)時(shí)候分享一些自己的經(jīng)驗(yàn)娃圆,給出一些自己的建議。這樣的反饋其實(shí)很需要耐心和包容心蛾茉。
我個(gè)人的另一些經(jīng)驗(yàn)來(lái)自卡耐基《人性的弱點(diǎn)》這本書讼呢。相信很多同學(xué)們都看過(guò)這本書,書中對(duì)于如何指出別人的錯(cuò)誤谦炬,如何提出建議給出了很多很有效的方法悦屏。這本書并不是像很多“成功學(xué)”的書一樣节沦,似乎我們看了就能成就多么偉大的一番事業(yè)。這本書更多的是教會(huì)大家如何去追求內(nèi)心的平靜础爬,如何將自己的社會(huì)關(guān)系建立得更加和諧甫贯。看完這本書看蚜,我們可能會(huì)更少的抱怨叫搁,更多的付出,同時(shí)也更滿足失乾,更幸福常熙。
這里有一些書中內(nèi)容的引用,與大家共勉碱茁。
如何指出別人的錯(cuò)誤裸卫?
- 用稱贊和真誠(chéng)的欣賞開始
- 教導(dǎo)他人時(shí),要做到讓別人不覺得在被教導(dǎo)
- 提出別人不知之事要像是提醒別人遺忘之事
- 尊重他人纽竣,間接的指出人們的過(guò)錯(cuò)墓贿,使用“如果xx那么xx”
- 在批評(píng)對(duì)方之前,不妨先談?wù)勀阕约旱腻e(cuò)誤
- 使錯(cuò)誤看起來(lái)容易改正
- 用請(qǐng)求蜓氨、建議聋袋、商量、贊美穴吹、提問(wèn)的方式進(jìn)行幽勒,別用命令的口吻,保全他人的面子
文/ThoughtWorks 廖光明
更多精彩洞見港令,請(qǐng)關(guān)注微信公眾號(hào):ThoughtWorks洞見