1. 程式人生 > >IT痴漢的工作現狀5- 一分鐘的工作

IT痴漢的工作現狀5- 一分鐘的工作

如果用常人的眼光來看待問題,很多開發工作真是不可思議和難以理解的。

一個最簡單的例子,就是對時間的認同的差異。

客戶常常會這樣認為,你修改了3行程式碼,編譯驗證到提交,分分鐘的事情嘛,可你為什麼用了兩個小時?

好吧,我是這樣解釋的:

雖然我只修改了3行程式碼,可是咱們的編譯系統並不支援區域性模組編譯(注1),雖然有增量編譯,但是整套下來還是需要15分鐘編譯完畢。但是,誰也不能保證沒有編譯錯誤調錯再編譯又會浪費一些時間。編譯結束後,要把img燒到裝置中,又要5分鐘左右。開機需要1分鐘,真機除錯要5到10分鐘,有問題還要繼續重來。都ok啦,那麼接下來提交程式碼review,需要寫commit comment,這份細緻認真的活兒還是需要10分鐘。提交程式碼,遇到衝突,解決需要不可預知的時間;網路有問題,還是要不可預知的問題。

在最好的情況下,這個活還是要半個小時以上的。但是一次成功的機率很小,有人的因素也有其他因素。

曾經有個段子,說為什麼程式設計師都很閒,因為他們會告訴你,等編譯結果呢。趁編譯這個當,可以泡泡妞喝喝咖啡。

玩Android的都知道,現在即使是i7處理器,8G記憶體,初次編譯Android系統也需要3個多小時。而同步程式碼的時間跟網速直接掛鉤。如果你新加入Android系統級開放團隊,那麼前幾天你就可以輕鬆的搞環境了,趁下載編譯的時間,你可以出去打打籃球,購購物。

這兩天又發生了一件事,大家可以借鑑一下,給自己以後評估時間時敲個警鐘。

背景是這樣的,最近在忙兩個專案,專案開發中心分在兩個辦公室。通常的時間安排是半天對半天,但我們可以自由排程,有的專案不忙就多花時間在忙的專案中,如果都忙,那麼就要加班了。現在有人會問了,你忙兩個專案,給你兩份工資嗎?答案是否定的。也許會給點獎金,也許毛都沒有。你又要問了,那麼加班有加班費嗎?答案同樣是否定的,你加班是應該的。但是你有事情要請個假,嘿嘿,對不起,走年假,麼有?那麼,不好意思,按照公司的規定,該扣錢扣錢。現實就是如此,吐槽無力。

我在A office用Linux畫好了設計框架和類圖,還沒來得及合入文件中,但是要去B office開會。開會結束,PM說今天要把詳細設計文件出來。我說沒問題!B office用的Windows系統,當然對Word的支援是最好了,我就想,既然模板都在這裡,何不在這裡提交呢?但是問題出現了,我的設計圖還在A那呢,怎麼拿過來呢?

我嘗試了以下幾種辦法:

1.郵件傳送。

就是自己給自己發郵件,傳送成功後,果斷關閉A的郵件軟體,去B開啟郵件接收。第一遍,發現傳送失敗。我想,是因為我在A關閉的太快了,造成沒有傳送成功?跑回A重新發送,等待一會,估計是傳送過去了。跑到B開啟,發現繼續失敗。我就有些生氣了。也許是公司的郵件系統封殺了這個功能吧。

2.手機拷貝。

MTP在Ubuntu中支援的不好,我用adb把圖片push到手機中某個資料夾下。在Windows中直接開啟MTP,去相應的資料夾下找。沒有!我知道這是MTP的bug,一直沒有fix掉。也許重啟一下手機就可以了吧。仍然失敗,MTP真是令人討厭,一定都不可靠。

3.U盤

沒有辦法了,找專案組的專用U盤吧。有些專案是有自己測試用的工具的,這些是合法的。但是兩個專案公用的U盤還是沒有的。但現在也只能這樣了。Ubuntu下拷出圖,回到Windows下開啟,發現圖片沒有拷成功。真是一著急就出問題啊。這次是我自己的錯誤,Ubuntu下拷貝東西,有一種假象,就是拷完後在U盤下就可以顯示,但也許還沒有傳輸完畢。我的圖片就幾百KB,以為瞬間就完事,就直接拔掉了。萬萬沒想到啊。

就這麼個簡單問題,兩個屋子我跑了好幾趟。最後用了40分鐘完成這本該一分鐘的活兒。

有句話說的對,看起來簡單,做起來難。如果事情不仔細做好準備,就會狀況頻出。

注1:

類似Android原始碼編譯就支援這樣的區域性編譯,see also here