在工作上,除了寫代碼,程序員還經常需要跟其他人溝通,比如:
- 跟產品經理溝通需求設計和實現
- 使用了其他部門的中間件,諮詢他們相關問題
- 遭遇線上問題,跟相關部門溝通處理
- 組內任務協作,組員間溝通
- ...
所以,溝通能力也是程序員的一個重要軟技能。面試中,即使你的技術再好,溝通能力欠佳也可能被面試官拒掉。
接下來分享一些我的實用溝通技巧
(提前聲明:本文所有例子,純屬虛構,如有雷同,不勝榮幸~)
1. 提供足夠的信息
跟其他部門溝通的時候尤其要重視這一點。
舉例:
你的線上某個 kubernetes pod 創建異常了,需要去找 kubernetes infrastructure 組幫忙(報問題)—— 通常是在交流通信工具(比如slack,企業微信)上對應的羣裏發消息。
超級反面例子:
我們這出問題了!有人能幫忙嗎?
我還真遇到過這種人,上面這句話提供的有用信息幾乎爲 0 。
反面例子:
我們有個pod創建異常了,你們幫忙看看吧
對於 kubernetes infrastructure 組 而言,上面這句話裏提供的有效信息只有一個 “pod創建異常”。除此之外,你們用哪個 namespace ? 哪個集羣? pod 名字? 這些最重要的信息都是缺失的。
於是,他們就只能繼續問你這些問題,然後等你的回答,得到你的回答後再去debug。假如你沒看到他們的提問,過很久之後纔回復,他們等很久沒回復也去做其他事情了,這麼一來二去,溝通效率非常低。
所以,溝通的時候(尤其是與其他部門/組的員工),一定要及時提供所有必要信息,給對方一個完整的上下文。
正面例子:
我們有個pod創建異常了,namespace 是 xxxxxx, 集羣 3, pod 名字是 abc。 同樣的 pod specification 在另一個集羣 2 是可以正常創建出來的。
如果這麼表達,對方一下子就拿到了所有必要信息,可以立刻開始查問題。
2. 有頭有尾,有始有終
這一點是我在實習的時候深刻學習到的,當時老闆(廣東人)拍着我的肩膀說:”......上次這個問題處理完就應該及時告訴我,也就是(廣東話)俗話說的 —— 做事要有交代 ......“
我個人的理解:
處理事情,要及時給相關的人(同事,組長或者其他組的人)做反饋。
比如:
- 遭遇問題,要及時彙報;
- 組長獲知問題後,決定延後處理的話,你就要去建個任務記錄(比如 jira ticket 或者 redmine ticket 或者 其他任務記錄工具);
- 建好任務記錄後也要及時告知組長,並分享鏈接;
- 如果中途問題涉及到其他情況,也要及時跟組長同步信息;
- 如果提前解決了問題,也記得告知反饋給相關的人。
這麼溝通的優點在於可以 讓所有相關的人員保持信息同步,讓他們感覺事態在掌控之中,同時也避免一些不必要的問題。
如:
- 另一個同事:”啊?這個問題已經解決了啊,那我剛剛豈不是白忙活了?“
- 組長:“我怎麼不知道這件事?”
- 受影響的其他同事:“問題解決了怎麼不告訴我們?我們在這乾等”
3. 友好的文字格式
公司內部的交流通信工具通常是 slack (外企),企業微信,釘釘,甚至是內部自制的工具。
有時候在報bug或者其他溝通時,需要貼log,鏈接甚至是代碼片段。
我們可以對這些特殊的片段設置文字格式,讓閱讀體驗更友好。
以 slack 爲例
不做任何文字格式處理的版本
對特殊文本做了簡單處理的版本
後者顯然有更好的閱讀體驗 —— 良好溝通不僅是有效地交流信息還應該讓整個過程顯得舒服流暢。
大部分工具都有簡單的富文本編輯功能,做點文字格式處理並不會很花時間。
slack 的富文本工具欄
4. 保持基本的禮貌態度
這是基本的職場禮儀,尤其是跟其他組/部門的同事溝通時,儘量保持友好禮貌的態度。
多用“請”“謝謝”“麻煩了”“不客氣” 這些禮貌用語,看似簡單地多說幾個字,可以讓溝通保持舒適愉快。
我也遇到過一些用詞不友好的奇葩同事
比如:
“@我的工名 解決一下xxx的問題,做完了跟我說!”
——(你又不是我leader,頤指氣使什麼?)
”@我們組的名字 你們這個xxx功能是不是有問題啊?我這邊一直報錯。“
——(就你那邊有問題,其他人沒問題, 那你覺得是誰的問題?質疑別人之前能不能先看看文檔看看自己的代碼?)
遇到這種同事,對方會樂意認真幫忙處理問題嗎?
關於程序員職場溝通技巧,就分享到這兒了。
在程序員職場中,技術固然重要,情商也是非常必要的,不求受歡迎,但求別被同事們”嫌棄“”吐槽“。
你有什麼溝通技巧或者職場溝通小故事,歡迎留言分享或吐槽。