被動工作與主動工作


你知道你在主動工作還是被動工作嗎?

很多人的回答可能是:“我在主動工作”,為什么呢?也許你說的對,也許錯。我下面說說我的看法。

現在的普遍現象是大家都在加班,有的是被老板強逼加班,有的是半主動加班,還有的是主動加班。這里說的主動加班並不是說自己要求加班就是主動加班,我這里想說的更多是工作內容的區別。好吧,不小心扯到了加班上,其實加班也就是工作,工作也就是加班。我只是想說,也許有的人認為我“主動”加班,工作很努力,老板也給我加薪,升職,那我當然是主動工作了。我想說,這是錯的,就如同我曾經認為的那樣,直到前兩天我做代碼覆蓋率分析為止。

上兩個星期,我在Android上做了代碼覆蓋率分析,因為我們編譯系統的一些特殊性,把原本很簡單的事搞得復雜了,引入了幾個目標,從而產生幾個認為不可能完成的子目標,最后一直做到最后,有了一個結果。這個里面涉及到了“不可能完成的任務”,所以非常適合用來分析主動工作和被動工作。因為通過這個事情,我認識到,通過分析一個人對“不可能完成的任務”的態度,可以很容易判斷是在主動工作還是被動工作。下面我一點點介紹這個事情:

1. 開始認為cost太大,認為是不可能的,隨后做了一些調查后,有了改進,花了幾天時間把code coverage的數據拿到了,這時感覺比較有成就感,認為數據都拿到了,這事差不多就完了,終於這個任務又快要完成了;

2. 后來還要分析memory misalignment,可是總共有十幾萬行代碼,要看完這些需要一兩個月,而且不見得有效果,這是個不可能完成的任務,所以有點打退堂鼓;

3. 怎么辦呢,跟lead聊了下,想到如下辦法: 根據代碼行的覆蓋情況,對那些有risk的行進行過濾,然后,只看沒有覆蓋過的行,總共有200多行,就看了下;

4. 對1,數據是拿到了,可是大家都希望有對各個模塊的risk的分析,可是我覺得有10w行代碼,這是不可能完成的任務,所以就沒做;

5. review的時候,大家一直問這個問題,我感覺被冒犯了似得,態度不太好,心想:“這是個不可能完成的任務”,如果只是胡亂估計一下,有什么意義呢?

6. review的時候,還提到了,更多有memory misalignment的行需要考慮,按照3同樣的方法,發現有4000多行,cost很大,基本可認為也是不可能的,我又放棄了,准備一行一行的看;

7. 又跟lead聊聊了,也被lead批評了下,不夠creative,如果這是一道面試題,我放棄的太早,肯定fail了,經過分析,發現另外一個特征,再次過濾,4000行變成了460行,這樣看也是可以的。

到這里,事情做的差不多了,不過還有個問題沒有解決,那10萬行代碼,按模塊分析的risk還沒解決。

這個事情中出現了幾次我認為的“不可能完成的任務”,而幾次打退堂鼓,產生抵觸情緒,放棄。 我打退堂,抵觸,放棄都是因為我是在被動工作,也就是我只是被動的完成老板交給的任務,而從我個人的角度,我覺得做不做都可以,即便有點覺得需要做,也是因為老板認為需要做,我並沒有從我個人的角度找到我應該做的理由。到這里,我知道了我自己在被動工作,那主動工作又是怎么樣的呢?

作為這個項目的owner,我要負責整個項目的質量,可這跟做code coverage有什么關系呢?從另外一個角度,我們不斷的run test case,不斷的做automation,不斷的增加新的case,做bug bash,都是為了提高我們對quality的信心, code coverage可以找到missing,增加信心,而code coverage其實是個無底洞,不可能“做完”,做到什么程度可以讓自己對這件事有信心了呢?如果你覺得已經做夠了,為什么呢,你的理由是否可以說服team里面的其他人呢?team里面其他人並不是故意chanleng我們,他們是按照他們的想法看這個問題,他們也是想通過這個事情增加自己的信心,你做的事情已經讓自己對這件事有了信心,你如何把這個信心傳達給其他人呢?把說服自己的理由告訴別人,而不是抱怨,抵觸。這件事應該怎么做,做到什么程度,你是有決定權的。這一點很重要,因為,如果你不認為自己有決定權,或者你沒有意識到這點,你就得依靠別人幫你決定,而要別人決定自己的做事方法,目標,就是被動工作了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM