漫談程式設計師系列:別說“我已經很努力了”

    我們程式設計師的努力與掙扎有時非常尷尬,如果沒有結果,都是徒然,都是說不得說不得……

    我自己做專案經理時,乾的專案也經常延期……非常慚愧。而延期其實對研發團隊成員、產品線、市場、銷售、公司領導、客戶、使用者都是一種折磨。對其它人的折磨這裡就不說了,誰被虐誰知道,至於有沒有想死或者想滅誰誰的心就甭去管它了。作為程式設計師,我其實也只能體會到延期對程式設計師們的折磨。

也是蠻拼的

    在相當長的一段時間內,”也是蠻拼的“這個短語在網路上大行其道,我們先看看它的出處。

    先做剪報吧,這是我的強項。來自百度百科:

”也是蠻拼的“,出自愛奇藝熱播劇《白衣校花與大長腿》,然後通過《爸爸去哪兒2》曹格之口使其發揚光大,在網路上被大家所熟知,並廣泛傳播。

    “也是蠻拼的”意思是:挺努力的意思,但是即使很努力了,卻沒有成功,具有反諷刺意味。

    本文就取這個意思。

當專案延期時

    我帶的專案,很少有按期完成的,快給我根繩子吧……

    當專案延期時,領導一方面很怒,心中火火火,嘴上卻要儘量安撫。人還真是矛盾啊,就像某個女人一面誇另一個女人”你很漂亮“一面腹誹”真讓我噁心“一樣,領導有時面對專案的延期,也是幹捉急木辦法,既憤怒又無力——他不能把你們都開了啊!

    此時專案經理也很無奈,大家都拼了幾個月了,天天加班十一二點,很多人啪啪啪都免掉了,到臨上線還要通宵,結果還是不行,上線了又出問題然後再被髮回重審回爐再造……領導兩眼血紅只盼三幾分鐘就能完成 Hot Fix ,可是專案經理說:其實大家也是蠻拼的……

    領導聽見這話操氣得很吶,如果他是斧頭幫幫主……

    專案經理又說,大家已經很努力了。

    領導再也按捺不住了:“努力有P用,你的工資論努力給的嗎?不解決問題,任何的努力都是一坨屎!都是藉口。甭拿努力當擋箭牌!你們天天打遊戲只要出活兒比什麼都強!”

    專案經理:沒人打遊戲——

    領導:“我是打個比方!別糾纏細節!”

    專案經理:其實大家真的蠻拼的……天天晚上加班,經常搞到凌晨——

    領導:“你們不努力行嗎?難道我發給你們薪水,是上你們端著茶杯看報紙的?再說,努力是工作的基本要求!”

    專案經理:對,工作本來就應該努力,其實大家都知道——

    領導:“都知道為什麼活沒幹好?是不是這幫人能力不行?你劃拉一遍,誰不行就開掉,招一個新的進來。當然你的能力是大家都清楚的,我是說總有幾個人上班時打遊戲、聊天、刷微博、上淘寶……都沒事兒幹,你造嗎?”

    專案經理:其實也不能把大家逼得太死,那樣——

    領導:“我逼你了嗎?”

    專案經理:我是說,從專案管理的角度來講,應該提出要求,關注結果,讓團隊成員自己尋找達到目標的路徑,沒必要規定路該怎麼走——只要完成就行。每個人都有自己的工作方式,讓他們發揮自己的長處——

    領導:專案完成了?

    專案經理:一開始工期就給的有一些問題……

    領導:為什麼不早說?

    專案經理:……

    領導:再給三天時間,一定要保質保量的上線!

    專案經理:好。

努力為什麼讓人操蛋

    “努力”原本是個褒義詞。

    小時候老師給期末評語,如果寫上“此子努力向上”之類的,父母都會欣慰的一笑。

    古訓也說:少壯不努力,老大徒傷悲。

    努力學習,天天向上。好多學校的牆上都刷這個。

    囊螢映雪,鑿壁偷光……這些詞都教育學生娃們要努力。

    鬼谷子是個非常了不起的大咖,具有通天徹地之能,什麼縱橫家、兵家都拜其為祖宗,無論神學、占卜、術數、天文樣樣精通。他隱居在鬼谷,從不出世,但卻左右了戰國時期的天下大勢。這都是因為它是超級明星秀的超級導師,打造了蘇秦、張儀、孫臏、龐涓等天皇巨星。

    蘇秦這個人口才很好,也很有遠大抱負,師成下山後周遊列國,想憑三寸不爛之舌謀富貴功名,可惜各個往後都不鳥他,他花光了積蓄,只好狼狽回鄉。兄弟姐妹、嫂子哥哥、父母都不待見他,認為他就是個一事無成的噴子。蘇秦很懊惱啊,可他堅信眼下只不過是人賤被人欺,總有一天他會讓這些人高攀不起。於是他再次苦讀,勢必要瘋狂漲姿勢,振翅高飛。可是時光有限,一天就十二個時辰,有五個卻要睡覺,太浪費啦。他還沒學會辟穀之術,不眠術也還沒入門,更沒有周扒皮這樣的好老闆,只好另外想轍。噯您別說,用心就是不一樣,他後來真的想到了一個辦法:把頭髮用繩子紮起來,懸在樑上,如果自己一打盹,頭髮就把自己揪醒,夜深的時候,如果覺得自己困了,就拿錐子刺自己的大腿,這樣就能保持清醒。這麼自虐了一陣,蘇秦覺著已有小成,比起告別鬼谷子老師時的年少輕狂、無知無畏強太多了,就再次揹著乾糧,在一種親友鄙夷的冷眼下,倔強地轉身踏上了列國周遊的旅程。

    後來蘇秦身佩六國相印,要多牛叉有多牛叉,再加上和他的老同學張儀做了約定——只要蘇秦在六國為相張儀就不能幫著秦國統一天下,很長一段時間內俾睨天下風光無限啊,真是寶馬香車名駒美眷什麼都有了。他回家的時候,嫂子跪在地上恨不能添他的鞋。

    再後來《戰國策·秦策一》中這麼寫道:“(蘇秦)讀書欲睡,引錐自刺其股。”

    這就是頭懸樑、錐刺股的來歷。這裡邊有很多故事,但經過若干年無數父母老師的濃縮,就只有”努力“二字啦。但其實呢,只是因為蘇秦成就了大事業,這個“頭懸梁錐刺股”才有了正面的教育意義。如果蘇秦再次遊說列國失敗,無言面對父母兄嫂以致心傷流淚最終泣血而亡,想想看,評語估計逃不了“那麼努力幹啥,瞎子點燈白費蠟”、“就你那熊樣,再努力也沒球用”之類的……

    我們看問題都是辯證的,也是片面的。這是事實。

    雖然學生娃常常被教育要努力學習,要吃得苦中苦方為人上人,可因為人的才幹有區別,加上天朝的教育理念落後,不明白因材施教、因人而異的道理,大部分學生被削足適履,再怎麼努力成績也是一塌糊塗。但為人父母的,總有愛子之心,見孩子已經頭懸梁錐刺股了,已經努力了,也就不忍再責怪孩子。於是久而久之,孩子們都學會了:媽咪、爸比,我已經很努力了……這種一招鮮在父母那裡比較管用,因為他們看到你晚上埋頭孜孜不倦的讀書(其實可能在埋頭看漫畫或者玩手機)到十二點,覺得既然孩子都這麼拼了,結果怎麼樣就別再強求了吧……

    在職場中,也有這麼一種心理在作祟。

    其實很多人是拿“努力”做擋箭牌:我都這麼努力了,你難道還好意思怪我嗎……

    人艱不拆麼,親!

    但對掏錢讓你幹活的老闆來說:一切都是扯蛋,交活才是硬道理。

    老闆奉行的是鄧主席的理論:不管黑貓白貓逮住老鼠就是好貓。他們可沒有父母那麼好脾氣那麼心疼你。所以,要展示結果,光說努力不出結果,難免讓人懷疑你的誠意,終究會給人留下打醬油的印象。

    當老闆已經面臨非常嚴重的交付壓力,被客戶把一個頭罵成九個大的是偶,你還在那裡磨磨嘰嘰說“我已經很努力了”,老闆估計活剝了你的心都有了。

    我們要謹記:沒有結果時,不要隨便說“我已經很努力了”這種會招致巨大副作用的廢話。

努力要有價值

    前面已經說過,只有成功的結果擺在那裡時,努力才是一枚勳章。成功者總是要保持優雅,哪怕一晚沒睡,也要做個頭發抹點眼霜讓自己看起來精神一些,只要別人看到成功,不要讓別人看到背後的辛酸。要順著這個思路幹下去,這才是值得推薦的。一旦你成功了,自會有人發掘成功背後的努力,就像蘇秦那樣。這個時候,也就是當別人說你努力的時候,你才是真的努力了,你的努力才有價值。如果你失敗了,卻像祥林嫂一樣叨叨“我已經努力了”,只會讓聽者厭煩,甚至懷疑你的能力。

    多幹事兒,少說“我已經很努力了”這種廢話,因為越是把努力掛在嘴邊越難成就——因為你不斷在給自己嗑藥麼,自我安慰的迷幻藥。嗑藥嗑得多了,難免加強“失敗也無所謂”這種暗示,暗示得多了就成了事實了。

當真的努力了又無法完成

    真有這種情況,預期可以完成,但實際無法完成。這個時候怎麼辦?我真的已經努力了啊……也不能說嗎?

    不是不能說,是要用事實說話,努力要可見。

    比如說領導讓你實現P2P打洞,給你一星期時間。你答應下來,可是到週五的時候你沒能完成。這個時候怎麼辦?怎麼樣才能讓領導相信你真的是已經努力了?僅僅一句“我已經很努力了”是不夠的,這會讓人有“盡人事聽天命”的感覺,這種感覺是 Out of Control 的感覺,是擺明了用努力為自己脫罪的感覺,人人都不喜歡。

    你想想看,假如你家裝修,工頭告訴你水電改造兩個星期完成,結果臨了告訴你沒弄完,你是什麼感覺?你急著用婚房呢,丈母孃催你催得屁股冒煙了,距離過年就剩下那麼三幾十天了,瓦工還沒動,你拖不起啊——佳期如夢啊。這時候你肯定懷疑工頭根本沒盡力,一天八個小時可能只有八分鐘在幹活,只有他給你一個說法,比如需要四種水管、每種多少,需要3中電線、8種開關,而這些材料應該什麼時候就緒你卻沒有提供,或者因為有特殊要求某些材料他跑了八個建材市場花了一星期時間都沒買到……只有這樣具體的原因和資料出來,你才能在理論上接受,但情感上還是會感到憤怒。

    軟體開發也是這樣。你必須讓你的努力可見,這樣領導才可能從邏輯上接受任務沒有完成這個事實。比如你可以說:

    從型別上看,NAT有四種型別,對稱型、全錐形、限制錐形、埠限制錐形。我週一完成了型別分析,設計了對稱型和全錐形的穿透演算法。

    週二完成了限制錐形、埠限制追星的演算法。整理了四種型別的穿透演算法,寫了文件。發現需要一個配置公網地址的伺服器來輔助完成穿透。

    週三我找網管協調伺服器,網管說沒有裝置,需要申請。我繪製了Udp打洞和Tcp打洞的流程,完成了伺服器端的程式碼。

    週四……

    週五……

    假如你像上面那樣說,讓你的努力視覺化,那你就可能得到諒解,也可能得到進一步的支援。因為你所做的努力是朝著完成的方向去的,有實際的價值啊,只是因為時間週期和資源的問題而導致了延期……

———–回顧分割線——————-