別不懂裝懂
軟體開發過程中,太多東西是大家不知道的,因此,管理者或開發人員就很容易有這種不懂裝懂的傾向。好的Team Dev應該有一張清單,上面列著我們目前不知道的事情,這樣才比較容易掌握到底什麼事情會不確定。
人們會覺得對於重要的事情,我如果不知道就很丟臉,這是天性。作為在Reecho(化名)和Echo(化名)呆過的開發人員,我就暴露一下天性,在這裡丟一次臉吧:)
1."E-C (化名) Framework,你對我態度好一點行不行,我回去把檔案刪了,你一輩子做古惑仔,我也不用煩了。"
天天編程天天在用,我卻對其知之甚少,一旦他(她)們閑談一些關於Framework的問題,我卻雲裡霧裡,可能從未參加過關於Framework的會議,我現在連Framework版本是幾都不知道。不瞭解就無法擁有,至理名言啊!
2."每次Release,都要超煩、複雜配置(從頭開始),類比環境等,發布幾個EXE和DLL真的需要這麼複雜嗎?"
如果這個過程中每件事情都要做,有沒有更簡單更好的辦法。如果是簡單的機械重複的勞動,是否可以讓電腦去做?還有就是重用,每件事是否可以在下一版本的Release重用的,這是軟體開發的基本素質。我對這個發布的過程還是不瞭解,因為從來不曾接觸過,沒有叫我做過。他們閑談的時候我雲裡霧裡,還是不瞭解就無法擁有。
3."Bayer&Reecho聯動,拿什麼拯救我?"
擺在開發人員面前的兩座大山,業務問題,技術問題。業務問題是根本性問題,技術問題是次要問題。Bayer&Reecho聯動,我由於對業務不熟,幾次討論下來,我的感覺主要集中在XXXX以及XXX那裡,我從未接觸過,所以對此很不瞭解,我只知道XXXX、XX、XXXXXX、XXXXXX、XXXX,當然還有最近的XXXXXXX。所以你要我把整個Reecho的流程走一遍,告訴你我現在不行(把Echo整個流程走一遍,告訴你,我也不行)。保持低調,所以我把我自己當作新人,回顧這兩年總是感覺空空的!
4."責任,到底有什麼樣的權利和義務,我的職責是什嗎?"
在Echo和Reecho都有這樣的感覺,好像樣樣都要做,但是當你提出建議、批評的時候,卻沒有人理你,'你是誰啊,憑什麼聽你的',這是多麼悲哀啊。因為我只是一個開發人員,我當然可以選擇KISS(Keep In Silent And Stupid!)。大部分的人都不願意思考,他們認為自己樂于思考,但事實上並非如此。保持腦袋空空很容易,在微軟把這種人叫作bozo,意思是笨蛋。永遠沒有人會注意笨蛋的所作所為,即使他真的有貢獻,他也不會有任何份量。笨蛋當然是不可信任的,你對笨蛋惟一的期望是但願他不要搞砸事情,我是一個笨蛋嗎?
軟體開發項目的目標並不是事前做好正確的規劃,而是每天都得在事情從未知到已知的時候,做出正確的抉擇。如果你明明不知道某件事卻假裝知道,你就無法在事情從未知到已知的時候得到正確的資訊,也就可能會做出錯誤的決策。當資訊證明你錯了,你一定覺得非常難過。於是你會更加害怕資訊,而別人就以為你在抗拒事實,最後你將陷入惡性迴圈。
只有當你知道不確定性在那裡時,你才有可能解決它;那些沒有被發現的確定事情,會把你絆倒。相形之下,承認你不知道是比被擊倒要好得多了。
同學們,你們有不知道的事情嗎?