良好的溝通意味著良好的人際關(guān)系,一旦你掌握了溝通技能,就會(huì)發(fā)現(xiàn)溝通是軟件開發(fā)的關(guān)鍵因素之一。
雖然技術(shù)水平是讓你進(jìn)入公司的基本要求,但開發(fā)軟件系統(tǒng)不僅僅意味著要有代碼(Code)和咖啡(Coffee,或者換成你更喜歡的茶),要想在軟件行業(yè)取得成功,第三個(gè)“C”至關(guān)重要:溝通(Communication)。
對(duì)于軟件開發(fā)人員來(lái)說(shuō),要想在競(jìng)爭(zhēng)激烈的軟件工程領(lǐng)域占據(jù)一席之地,成熟的溝通技巧是必不可少的。代碼能力這樣的硬技能總是軟件開發(fā)職業(yè)所必須的,但優(yōu)秀的開發(fā)人員總是全面了解并掌握人際溝通的藝術(shù),以及善于與團(tuán)隊(duì)內(nèi)部和外部客戶溝通,他們更有可能被視為有能力、成功的專業(yè)人士。
糟糕的溝通付出的代價(jià)可能和代碼錯(cuò)誤的代價(jià)相同(甚至?xí)螅U`解不僅會(huì)導(dǎo)致錯(cuò)誤,還會(huì)造成相互指責(zé)、減少客戶關(guān)系和推遲項(xiàng)目。更糟糕的是,它會(huì)損害品牌聲譽(yù),危及未來(lái)的工作。
對(duì)于成功的軟件開發(fā)人員來(lái)說(shuō),他們必須掌握良好的溝通技巧,包括積極傾聽、非語(yǔ)言溝通和壓力管理。
積極傾聽(Active Listening)
人們無(wú)法溝通的原因有很多,但糟糕的傾聽是其中最差勁、最令人沮喪的一種。糟糕的傾聽者試圖替別人說(shuō)話,總是搶在別人說(shuō)完之前做出回應(yīng),或者試圖在別人說(shuō)話的時(shí)候插話。但是,當(dāng)你打斷別人說(shuō)話或者發(fā)表自己的觀點(diǎn)時(shí),你(也許是無(wú)意)已經(jīng)發(fā)出不重視他人意見的信號(hào),這會(huì)讓每個(gè)人都感到不舒服。對(duì)于程序員來(lái)說(shuō),確保所有團(tuán)隊(duì)成員都有空間和機(jī)會(huì)來(lái)分享他們的觀點(diǎn)是至關(guān)重要的,因?yàn)椴煌挠^點(diǎn)可以為每個(gè)人提供創(chuàng)造更好解決方案的機(jī)會(huì)。
那么,怎樣才能成為一個(gè)更好的積極傾聽者呢?首先從建立信任開始。當(dāng)隊(duì)友說(shuō)完后,試著復(fù)述他們的想法。你可以這樣說(shuō),“如果我理解正確的話,……”,然后請(qǐng)他們確認(rèn)你的理解。這表明你不僅聽到了他們的話,而且足夠關(guān)心他們,確保自己收到了他們想要提供的信息。這可能聽起來(lái)很笨拙,但卻是一個(gè)快速的過(guò)程,你將會(huì)很快看到這么做的好處。
其次,積極傾聽還能確保你與所有合作者保持一致,無(wú)論是你的團(tuán)隊(duì)成員還是客戶。不要只是等著輪到你發(fā)言的時(shí)候才分享好想法,也絕對(duì)不要打斷或強(qiáng)行轉(zhuǎn)移話題。傾聽你的團(tuán)隊(duì),確認(rèn)你的理解是正確的,然后一起前進(jìn)。編碼和團(tuán)隊(duì)協(xié)作都需要被重視,積極傾聽是證明你的團(tuán)隊(duì)合作能力的絕佳方式。
非語(yǔ)言溝通(Nonverbal Communication)
你重視和你說(shuō)話的人嗎?更重要的是,你真的了解他們和交流的各種細(xì)節(jié)嗎?你注意到他們的非語(yǔ)言暗示了嗎?雖然很難量化到底有多少交流是純粹的語(yǔ)言,但專家們普遍承認(rèn),很多交流是通過(guò)語(yǔ)氣和肢體語(yǔ)言傳達(dá)的。
例如,你可能正在與客戶溝通,展示一個(gè)令人興奮的新功能,但客戶卻表現(xiàn)的異常安靜。你可能注意到同事們?cè)谧鲱^腦風(fēng)暴的時(shí)候低頭看手邊的論文,而沒有參與談話。他們的沉默背后可能有很多原因,重要的是要立即解決這個(gè)問(wèn)題,以確保各方一致??紤]一下如果客戶拒絕反饋,或者同事堅(jiān)持自己想法,會(huì)造成什么樣的影響。相對(duì)于幾周后的事情,現(xiàn)在就獲取各個(gè)利益相關(guān)方的真實(shí)意見,可以節(jié)省多少時(shí)間?也許你同事的想法價(jià)值百萬(wàn)美元呢?
非語(yǔ)言線索是信息的寶庫(kù),但需要時(shí)間來(lái)磨練識(shí)別和解釋它們的能力。積極傾聽是第一步。然后,把你看到的和聽到的結(jié)合起來(lái),知道如何根據(jù)提示采取行動(dòng)。
試著問(wèn)一些開放式問(wèn)題,比如,“到目前為止你有什么想法?”或者在另一個(gè)場(chǎng)合,或許問(wèn)一個(gè)要求對(duì)方給出回應(yīng)的特定問(wèn)題會(huì)更好。例如,“用戶需要從這個(gè)屏幕切換到下一個(gè)屏幕的這個(gè)工作流對(duì)您有意義嗎?”你必須讀懂周圍的環(huán)境,控制你的語(yǔ)氣,不要讓任何人感到不舒服。記住,你的目標(biāo)是鼓勵(lì)對(duì)方,如果他們不想被關(guān)注,就不要給他們太大壓力。
如果你不確定,最好私下和對(duì)方聊聊,看看他們是否愿意接受這種提示。如果他們不喜歡在會(huì)議中發(fā)言,你的團(tuán)隊(duì)可以考慮嘗試書面頭腦風(fēng)暴[2]會(huì)議。
壓力管理(Stress Management)
軟件工程師有責(zé)任做出有預(yù)見性的決定。但不幸的是,他們常常無(wú)法獲取完整的信息,因此這成了一個(gè)巨大的挑戰(zhàn)。而這些因素往往會(huì)讓軟件工程師感到壓力,而這是導(dǎo)致倦怠的主要原因之一。
在大多數(shù)專業(yè)領(lǐng)域,壓力是很常見的,軟件開發(fā)領(lǐng)域也不例外。開發(fā)人員經(jīng)常會(huì)發(fā)現(xiàn)自己處于壓力之下,比如客戶不高興,老板詢問(wèn)最后期限,或者他們正在處理額外的工作。
能夠在壓力下有效溝通是軟件開發(fā)人員必備的寶貴技能。
例如,當(dāng)客戶對(duì)項(xiàng)目超出預(yù)算不滿時(shí),軟件開發(fā)人員必須有能力化解這種情況,并進(jìn)行有效的溝通。這需要通過(guò)保持冷靜,承認(rèn)客戶的不滿并重申他們的話,概述項(xiàng)目超支的原因和下一步的計(jì)劃來(lái)實(shí)現(xiàn)。
并不是每一個(gè)有壓力的情況都能被完美解決,但通過(guò)使用強(qiáng)大的口頭溝通技巧,軟件開發(fā)人員可以處理緊張的關(guān)系,并獲得一個(gè)頭腦冷靜和能力強(qiáng)的聲譽(yù)。
結(jié)論
可以這么說(shuō),溝通是任何軟件開發(fā)過(guò)程的重要組成部分,無(wú)論是與老板、團(tuán)隊(duì)成員還是客戶,都需要進(jìn)行溝通。溝通風(fēng)格可能因人而異,但每個(gè)程序員都需要是一個(gè)強(qiáng)大的積極傾聽者,一個(gè)細(xì)心的非語(yǔ)言線索解釋者,以及一個(gè)在壓力情況下的積極溝通者。這些技能可能需要一些時(shí)間和實(shí)踐才能掌握,但它們定義了一個(gè)好的開發(fā)人員和一個(gè)優(yōu)秀的開發(fā)人員之間的差別。
文章來(lái)源:DeepNoMind公眾號(hào),侵刪
轉(zhuǎn)自汽車ECU開發(fā)