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