我離開了 Coverity
在寫這篇博文的時候,我已經不再是 Coverity 的員工了,我已經在今天下午向公司正式辭職。
走出公司的大門,我覺得一身的輕松。這是我幾個月以來第一次感受到加州美麗的陽光,AT&T Park 到處是歡笑的人群,他們是來看巨人隊的棒球賽的。我第一次發現他們的面龐是那么的美,那么的友善。灣里的海水也格外的藍,水面上船帆招展,一幅恬靜自然,其樂融融的景象。我就像是一個剛從 Alcatraz(惡魔島)釋放出來的囚犯。我已經很久沒有欣賞過這樣的風景了,雖然我每天都從這風景中走過。
進入 Coverity 之前,我就在 Glassdoor(一個讓員工評價自己公司的網站)上面看過給它的評價,只有 3.2 顆星,只有 44% 的員工願意推薦朋友去那里工作。評價者們寫到:“管理隊伍非常不成熟”,“不重視自己的員工”,“高層總是互相打架”,“每個星期都有人莫名其妙的被炒魷魚”,“過勞工作,工資太低”,“工程師非常聰明,可是不受尊重”,“你不再是一個人,你是一個數字”,“對新人不友好”……
可是就在六個月以前,我認定了 Coverity 擁有我想要探索的技術,而且想當然地對自己說,也許給差評的都是銷售人員,或者他們自己有問題?而且往加州飛一趟面試也不容易啊,單程就是 7 個小時。所以盡管如此的惡評如潮,還是加入了這個公司。現在我如願以償了,Coverity 的產品里確實有一些不錯的地方,我很快的把它們都“偷學”過來了(他們壓根沒教過我)。Coverity 實現了幾個我設想中的點子,從而讓我的直覺得到了免費的證明。
然而我也逐漸地看到,Glassdoor 的評價者們對公司的每一條批評,都一一的兌現了。管理層的高壓,以及對自己的身心健康的考慮,是我離開 Coverity 的真正原因。就在離職之前,我因為過度勞累緊張引起的頭痛,請了兩天假。回到公司的時候,領導很不高興,把我叫去辦公室,說:“你請假兩天。我想起這兩天還付給你工資,那個心痛喲……” 我的 PTO 之前一天都沒有用過,從早忙到晚緊緊張張的,給你們創造了多少價值。現在身體不適請了兩天假,理所應當的事,你居然說心痛那幾百塊錢!
這是一個既有高技術含量,卻又極其吝嗇而壓榨的公司。Coverity 的軟件技術難度非常高,工程師必須到很高的水平才可以勝任這里的工作。有多少人會做這樣高級的靜態分析軟件呢?極其稀少的。好些員工都有博士學位。可是這些聰明人,卻並沒有得到他們應該得到的待遇和尊敬,他們過着非常不輕松的生活。他們的工資並不比其它公司打醬油的普通程序員高。而且每個人的頭頂上,都仿佛有一雙眼睛在隨時盯着,督促着你干活。
你一天工作了多少個小時,每個任務的“估計時間”,你花在任務上的“實際時間”,全都使用一種叫做 Jira 的軟件進行記錄。正如評價上說的,你確實只是一個數字。你的工作效率按照(實際花費時間 / 任務估計時間)這個比例來簡單的判斷。這個數字越大,那么你的效率就越低。看你工作效率的時候,領導才不會管你到底做的是什么事情,也根本不看你的代碼,所以就算你水平很高,他們也完全不知道你代碼的質量。開會時 manager 會不斷地提醒你,這個用來衡量你工作效率的黃金公式,暗示你要做“top performer”,因為他們只願意留下 top performer……
言下之意就是在警告你,如果超出時間過多,你隨時會有被解雇的危險!我發現每個任務的“估計時間”都被故意設置得非常短,它是由完全不寫代碼的 manager 和 architect 設定的。有些問題本來需要好多天的,也被設成4個小時,8個小時的樣子,所以幾乎每個任務都無法在估計時間之內完成。那怎么辦呢?為了不顯得笨,你就只有加班加點。每個人都工作到很晚,然而為了顯得自己是稱職的員工,幾乎沒有人敢把實際花費的時間記錄在 Jira 里面,因為這樣按照公式,你的 performance 就下去了。所以就算你熬夜完成任務花了14個小時,你也只敢記錄8個小時作為“實際時間”,跟估算時間扯平。甚至記錄比8個小時還少的時間,這樣顯得自己很聰明…… 殊不知,這正好中了管理層讓大家拼命干活,盡可能免費壓榨勞動時間的詭計。
曾經有一個人就是精確地記錄了時間,最后他被解雇了。Mark 是一個波蘭來的同事,是個 senior engineer,人非常友善而且聰明,同事們都喜歡他。可是這個人太敬業了一點,他桌上擺着一個國際象棋對弈用的那種計時器,上面有兩個鍾,用兩個按鈕來切換計時。Mark 用它把每個任務的時間都兢兢業業地記下來。在交替處理兩個問題的時候,甚至還利用這個計時器的切換功能,分別記錄時間…… 忽然有一天,他從公司人間蒸發了。我們收到一封來自 manager 的 email:“今天是 Mark 的最后一天。如果你們對此有什么問題,來問我好了!” 看這口氣,我們哪里敢問問題。后來同事們議論說,顯然他被炒了魷魚,連跟我們說再見的機會都沒有。我想跟 Mark 保持聯系,也許還可以打聽一下到底發生了什么事情,發了一封 email 詢問他的個人聯系方式,結果無法投遞,因為他的內部 email 立即就被停掉了。
Coverity 就是用如此野蠻的方式開除員工的。不但立即讓你走人,而且不讓其他員工知道,不留下任何讓你可以跟同事通風報信的渠道。這種做法近乎於殺人滅口。
這個公司一星期一大會,一天一小會,要你報告前一天完成了什么,今天准備做什么。仿佛生怕你就偷懶了。這就是他們所謂的“Agile”管理模式,其原理就像是操作系統一樣,把人作為可以任意調用和替換的“進程”,並發執行。很可惜,這種管理模式,加上過勞趕工,無法清晰地思考,造成了軟件質量的低下,bug 多得不計其數,等測試出現 bug 可以長達 20 分鍾,而且難以修復。人的無知,導致了工作越來越艱難和痛苦。
最令我驚奇的其實是 manager 的言語里隨時透露出來的威脅口氣,仿佛隨時都在質疑員工的工作態度和積極性,隨時都在檢查員工是否工作夠了時間,隨時都在琢磨要炒誰的魷魚。這是極度的不自信,仿佛他們不相信有人真的願意為他們工作,隨時都在對員工察言觀色,生怕一下子走人了沒人來給他們修補 bug。所以公司里總是感覺一種人人自危的氣氛。感覺這怎么不像是一個高科技公司,而是麥當勞呢?比麥當勞還小氣。
我經常發現好幾個工程師晚上工作到八,九點。一個同事因為住的遠,6點就沖去坐 Caltrain,可是過不久我就發現他屏幕上的 VNC 在動,我能清晰地看到他在繼續工作,直到很晚…… 呵呵,我為什么知道這些呢?因為我也工作到很晚!
整個公司處於一種壓抑的氣氛之中,很少見到人們的笑臉。有少數的人總是嘻嘻哈哈,可是那些都是 HR,Sales,…… 我不覺得他們的笑聲中存在真誠的喜悅。
當我辭職的時候,HR 對我說:“隨便你到灣區哪一家公司,都是差不多的情況。” 但我不相信這就是整個軟件行業的情況,否則軟件行業就是新的奴隸社會。我相信,世界上還存在有良心的公司。
2015年更新
有人看了這篇寫於 2013 年的文章,質疑我的說法,說自己用過 Coverity 的產品,質量其實不錯,哪有那么多 bug。確實 Coverity 有相當不錯的 C 和 C++ 分析產品,然而那些都是很多年以前慢慢的,靜心積累起來的技術。在 2012-2013 年為了拓寬市場,我們工作的重心是 Java 分析產品。這個產品是在我加入之前,由其它工程師在近一年時間之內,在 manager 的高壓,威逼甚至咆哮之下趕制出來的,所以留下許許多多的 tech debt 和 bug。我工作的那幾個月,完全就是在修補前人留下來的各種讓人頭痛的 bug。
另外,Coverity 的創始人 Andy Chou 這個人對我其實不錯,可惜即使作為創始人,他當時似乎並沒有掌握公司的實權。據公司早期員工口述,Coverity 本來是個不錯的公司,自負盈虧。可是在一次經濟危機的時候遇到了困難,所以第一次引入了 VC 投資,隨后就被 VC 控制了。VC 進入之后,公司的 VP Engineering 被忽然的,非常不人道的解職。在新上任的 VP 領導下,公司完全變了樣,最后成了我所描述的樣子。
現在 Coverity 已經被 Synopsys 收購,然而據我調查,工程團隊的領導班子並沒有變,還是原來那兩個 manager。不過我還是祝願在 Synopsys 的領導下,這個公司的管理會有所改善。創始人 Andy Chou 賺了點錢,已經不再管理這個公司,開始做天使投資人。在被 VC 控制的日子里,他應該也沒少憂慮,我希望他在將來的日子里快樂自在的生活。在 Coverity 我遇到了實行高壓的 manager,非常討厭的自大狂,但也遇到了一些友好的同事:Aaron,Dzin,Eric,…… 我希望他們一切都好。