我記得很久以前在一個技術大牛的博客上看到過一句話,大概意思是說,軟件工程其實從某種角度來說并不是一個技術活,而是一個社會性活動。因為現(xiàn)代公司的項目一般沒有說能一個人能100%完成的,每個人都免不了和其他人打交道。所以軟件工程里面人與人之間的合作比技術更重要。我非常贊同這句話,因為雖說“工程”的本質就是讓每個參與其中的人都變成一個螺絲釘/螺母,但是螺絲和螺母之間的契合度卻決定了最后工程的質量。
我相信很多朋友(尤其是做產品的)都有類似的感觸,平時的工作其實技術挑戰(zhàn)并不多,更多的是和人“撕逼”,討論“抓手”,“閉環(huán)”,或者從技術的角度來講,對接工作,分析項目,向上級匯報進度等等。在我工作的這六年里面,接觸過不少初入職場的年輕人,很多都是滿懷憧憬想在人生中第一個崗位發(fā)光發(fā)熱,研究高精尖技術,最后發(fā)現(xiàn)其實技術只是很小的一環(huán),或者說,技術好只是能把工作處理的好的一個必要條件。而在和這些年輕人打交道的過程中,我也發(fā)現(xiàn)了他們溝通能力的欠缺。這讓我每每在開例會,做匯報的時候都會為他們都捏把汗,感到可惜。
所以這次我想簡單的,按照不同的溝通對象來聊聊一些職場中一些和人交流的小技巧。主要是給剛剛初入職場沒多久的朋友一些我認為有用的幫助。如果已經(jīng)是老鳥或者覺得我在扯淡,請自動忽略。。。
和老板的溝通技巧
直屬老板毫無疑問是掌控著大部分程序員的生殺大權的。在國內是怎么樣我不太清楚,但是在灣區(qū)這邊,一個Senior(阿里P7+?)或以下級別的程序員,升職與否是100%取決于直屬老板的決定的。我下面就列舉一些我見過的負面例子,僅供大家參考:
技術硬核型選手
新人因為對組內或者技術棧的不了解,很容易在面對上司或者同事的詢問時慌得不行。一慌就喜歡一股腦的把自己知道的技術細節(jié)都一股鬧說出來,像機關槍一樣。這樣會讓人聽得非常不舒服。尤其是對老板來說,因為很多老板走上管理路線之后就會慢慢跟不上技術細節(jié)的發(fā)展。要想讓老板了解你做的東西,或者修復的bug的難度,不是要在他面前展示你用的框架有多新,有多牛逼,而是需要給他解釋清楚你的思路。
一個我聽過的對話
新人: 我用RxJava的unsubscribe()在activity的ondestroy調用一下就解決了!
新人內心獨白:1. 我用了吊炸天的rxjava 2. 順利解決內存泄漏。
老板的內心獨白: 1.你到底解決了什么問題?2.RxJava我聽說過,但是unsubscribe是干嘛用的?
這是一個真實的例子。在和老板匯報的時候,你只需要把你解決的是什么問題描述清楚就行了。至于你具體使用了什么技術框架,框架的方法有哪些,對于老板基本來說都是廢話。這些細節(jié)都是你在做設計的時候就確定的。
不知所措型
和老板一對一的每周或者每月例會是一個展現(xiàn)自己的好機會。尤其在一對一的時候如果能展現(xiàn)自己縝密的思維那是極好的。很多職場新人對于1-1 完全沒有概念,在1-1時完全沒話可說,白白浪費大好機會,支支吾吾表達不清楚,反而還幫了倒忙。
這種情況我強烈建議大家在每次一對一之前列好一個表,分幾個大方向來一個個和老板談:
工作進度,簡單的匯報一下這周你工作的完成情況,包括遇到的難題,自己是否因為別的組的速度而被拖累等等,然后延展到自己需要老板幫忙的地方。比如需要老板幫忙把問題上報,升級等等。
自己對某些項目的想法?;c時間和老板談談組內的一些項目機會,聊聊自己的見解,說不定老板就欽定你了。
在老板面前贊揚一下某些對幫助過你的同事,有時候互相拍彩虹屁也是必要的!
生活上的一些趣事也可以在會議的最后聊聊,拉近你和老板的關系。
主動詢問(記住要主動!?。?!)老板對自己最近工作的是否有改進意見。認真記錄下來,確保下一次1-1的時候再聊起來的時候你已經(jīng)進步了。
聊完以上幾點,基本上30分鐘就過去了。一個飽滿的1-1 就可以愉快的結束了。。。。
和組員的溝通技巧
正所謂水能載舟亦能覆舟,群眾的力量是偉大的。職場中也需要和自己的同組朋友站在統(tǒng)一戰(zhàn)線,這是新人獲取幫助的前提。其實不管是與自己平級,或者高一級,都是需要技巧的。我見過被勸阻唾棄的高級工程師(最后灰溜溜的被PIP了。。。。) 也見過表現(xiàn)欲太強適得其反的新人。下面也聊聊一些反面例子:
浮夸演技型
俗話說的好,一個人越缺什么,就越喜歡賣弄什么。有些小朋友明明技術不咋地卻就是想顯擺。我不知道大家有沒有在開例會的時候見到過這種類型。一個簡單的問題可以吹半天自己的解決方案,在組會自己發(fā)言的時候占用大家的時間。切記:
對于老板來說,你把自己的解決方法技術細節(jié)吹得再高,也沒有卵用。這點我們上一節(jié)已經(jīng)說過了
對于同事,大家的技術水平多半也是半斤八兩,吹噓自己再簡單不過的解決方案更加沒用,懂的人一眼就看出來到底是個什么玩意。
組會或者例會的意義,更多的是讓大家知道你在干嘛,在會議上如果有思路的可以幫你提一嘴,或者有需要你幫忙的說一聲,主要是一個互相通氣的作用,并不是一個技術分享會。有具體需要詳聊的,最好挪到會議后面單獨聊。簡單的一句:"咱們等會單獨留下來溝通一下可以么"就ok了
霸道總裁型
有種人特別喜歡主宰一切,在討論技術的時候,只要不和自己意的就一定是不對的,必須要理論到底。這種人不管技術到底有多強,也是很難可以把大家凝聚在一起的,因為討人嫌。。。我以前在亞馬遜的時候,有兩個senior,每次開會必定互懟,一互懟就霸占了技術分享會的大部分時間。一個真實的例子:
Senior A: 我們來討論一下我們組的架構改進
Senior B: 這有啥好討論的,我們的app有架構么?
這兩人在發(fā)泄完各自的情緒之后,只留下尷尬的我們。
霸道總裁型的人也不是說每次都沒有道理,或者更多的時候是占理的,但是這也不代表這也做事對的。因為不管你設計的技術細節(jié)有多牛逼,你還是需要留空間給其他人發(fā)言,這是"拉攏"人心的一個好方法。每次在結束自己發(fā)言的時候,順帶問問那些有意見但是不敢發(fā)言的朋友,也是極好的。