程序員應有的謙遜

What is Modest

謙遜是什么,其實我很難給出文學上的解釋。從百科上釋義如下:

謙虛、不浮夸、低調、為人低調,不自滿。是一種自我的認識,良好的品德

我理解的謙遜就是 Modest,是對于身邊人或者個人習慣的一種尊重。為什么會談到這個問題,是因為最近在工作中遇到一些事情,讓我開始了自我反思。

場景一

我在和 Mike 結對編程時,我會提前看一下他的工作年限。從工作簡歷上看起來,此人工作了五六年,應該是個大神。于是我和他工作時傾向于被他帶著走,逐漸的缺少思考。因為我覺得他就是個大神,大神做得應該都是對的。

場景二

我在和 Allen 結對編程時,我注意到 Allen 其實只工作一年,看起來工作年限并沒有我時間長。這時候我在和她結對時,會傾向于表達自己的觀點,并且有些時候對于自己的觀點更是根深蒂固的堅持,很少去考慮她的想法。

場景三

我和 Mike 正在為一個按時間分類的問題犯愁,Mike 想了好一會兒,好像沒有好的結果。于是我自己在紙上畫了畫,似乎有點想法了。于是我問 Mike 我是不是可以試試。Mike 也友好的示意我試試。所以我一股腦兒把自己的想法用代碼實現出來了,用幾個測試用例跑了下,似乎結果還可以。于是 Mike 從簡單到難,用一個個測試了來覆蓋。最后我們再重構了下代碼。

場景四

我和 Allen 就多環境一個URL的配置問題,引起了討論。我堅持認為直接把整個的URL配置放在配置文件中就可以了。 Allen 認為把URL的域名部分放在配置文件中,具體的頁面放在代碼中,這樣別人更容易看懂。當然我在盡力告訴她我這樣是最好的,因為她那樣并沒有提高重用性等等。

似乎 Allen 也沒有被我說服,午飯時我又在思考這個問題。我想到了什么,下午開始工作時,我說我們先按照你的方法做吧,因為我覺得兩者差別不是太大。當然我不想為了一個問題請第三者仲裁,這樣沒有被采用方案的哪一方豈不是很尷尬。通過 Allen 的做法,在最后資源命名時,我們發現這種做法,最后命名時的尷尬揭露了這種做法的不合適。最后我們愉快的采用了另外一個方案。

反思

為什么我在開始合作時,會先看同事的簡歷?

這是個很錯誤的習慣,因為我潛意識里會把一個人的項目經驗作為一個人資質的評判。似乎這樣子能讓我“知已知彼,百戰不怠”。但是事實似乎并不是如此。

首先,做決策溝通過程中,我們應該充分考慮互相的想法。因為我們永遠不能說,經驗豐富的人說的話就一定是對的。特別是在寫代碼過程中,每個人看到的問題角度不一樣,所以每個人處理問題的手段也可能有差異。結對編程的目的就是幫助你們作出最好的決策。

其實,要敢于發聲。強者不必咄咄逼人,弱者也不必一言不發。你不說出口,沒人知道你的想法。同樣,你有不懂的問題,憋在心里也永遠沒有答案。所以你應該借助結對編程這個合作形式,把想問的,不懂得,想說的都及時的拋出來。才能給同伴一個反饋。

理解

Mike 遵循嚴格的 TDD

Mike 在寫代碼時,遵循很嚴格的 TDD,Java 里面的一個注解都需要用測試覆蓋。如果沒有測試覆蓋的情況下,你添加的任意一行代碼,他會立馬給你刪掉。也就是如果按照這種方式寫代碼,測試率百分百應該不是問題。

Mike 認為單元測試就應該測單元

和 Mike 同學結對過程中,發現他對單元測試的界定很嚴格。比如 A 類的職責是調用 API 獲取數據,調用 B 類處理一個復雜的分組處理,然后簡單的過濾進行返回。首先我們給 B 類這個分組器添加了嚴格的單元測試,確保其功能的正常。當我給 A 添加測試時, Mike 堅持將 B 類這個分組器給 Mock 掉,因為在給 A 類測試時,我們不希望受到 B 類的影響,所以即使 B 類只要一個簡單的方法,他也需要保證 A 的測試只是在測試 A。

對于以上兩種情況,你很難說這樣有什么問題。因為測試驅動開發或者單元測試不就是應該這樣嗎?所以當你嘗試去遵守時,卻發現比如確保每一行代碼都有測試,真是太難了。

這時候,首先我理解 Mike 這么做的初衷,他看起來是一個完美主義者,而且是一個資深的 TDD 捍衛者。我應該尊重他的這個習慣,因為這的確是個好習慣。問題在于我們在平時做事過程中,是不是要嚴格這樣遵守呢?其實這就要看項目里面的 “潛規則”。一般大家都會達成共識,比如怎樣的代碼塊需要嚴格測試的,什么樣的代碼只需要稍微測試下即可的。有了共識,其實按照大家的工作習慣來,就基本沒什么問題。

開放

除了上面具體的編程習慣,不知道你是不是遇到了下面這些問題:

  1. 產品代碼沒有單元測試的公司不是好公司
  2. 編寫 Java 還在使用 Eclipse 的
  3. 還在用 Windows 機器開發應用程序
  4. 竟然還在使用 SVN 進行代碼管理
  5. 只知道 CSDN,不知道 Github 的開發人員
  6. 公司內部網絡訪問不了 Google
  7. 手工部署,沒有使用過 Jenkins 等工具
  8. 傳統的瀑布流開發方式
  9. 每天有上司盯著你,公司有嚴格的 KPI
  10. 開發 Android 竟然還在使用 Eclipse,說好的 Android Studio呢?

多少次,我嘗試去了解一家公司時,會使用這些指標給一家公司定性。似乎只有和我現在的公司開發方式以及文化相似的公司才是好公司?,F在想來也有點過了。

畢竟,任何一家公司都有自己的做事方式,其實你很難評價這種方式是好還是不好。比如下面幾種:

  1. 扁平化組織一定比傳統的層級化組織有優勢?
  2. Mac 就一定比 Windows 高效?
  3. 所有的互聯網公司都應該使用 TDD?
  4. Eclipse 真的就是一坨渣,好程序就應該使用 Intellij?

其實上述問題,大家每個人都有每個人的看法。拿扁平化組織而言,我司難道就比組織層級化的華為優秀?

對于 TDD 而言,國內的創業公司節奏很快,當你的 APP 還在寫測試時,別人的產品也許早就上線了。等你花了三倍的時間把產品開發完,發現別人早就驗證這個市場不靠譜。然后你一堆代碼就爛在那里。

對于操作系統,Mac 和 Windows 各有優勢,相信每個人都有自己的偏好,并且每個人都會根據自己的實際財力情況,進行取舍。

當我們在噴 Eclipse 時,其實我自己當時也是用 Eclipse 來寫 Java 程序,來寫 Android 程序的。后來工作后,在新公司的要求下,才放棄 Eclipse。

謙遜

恰巧前段時間讀到了陳先生公眾號里面一篇文章,講的是一個年過半百的老者去面試的故事。文中老者在面試時表現的恭敬與認真的態度著實給我上了一課。因為我曾經也有個面試,那個意外的面試純粹是為了探探其他公司招人的要求,因為我根本沒有想到去那家公司。于是面試時表現的可漫不經心了。沒有簡歷,隨便的自我介紹,其實完全是一種無所謂的態度。

細思極恐,面試官看到我這個樣子該是多么的嫌棄。我竟不曾想到我這樣留給別人什么印象。雖然我沒有想過得到別人的認可,但是我應該給予每個人應有的尊重。應該時刻保持謙遜。這樣我才可能在花甲之年,成為文中那個受人尊敬的老者。

結語

當你遇到不同的人,不同的公司時,千萬不要見怪。其實一切的不適應都只是你不喜歡變化的爛借口。而且當你足夠牛逼時,你可以影響他人,當你有足夠的影響力的時候,你有能力改變一些事情。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,732評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,214評論 3 426
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 177,781評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,588評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,315評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,699評論 1 327
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,698評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,882評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,441評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,189評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,388評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,933評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,613評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,023評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,310評論 1 293
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,112評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,334評論 2 377

推薦閱讀更多精彩內容