不知不覺,博主工作五年了,隨著從事軟體開發時間的增長,技術自然是慢慢積累了,但是博主認為最重要的是看待項目的眼光變了。當年博主工作1-2年的時候,自我感覺很良好,認為技術是王道;認為項目應該從技術的角度來說要完美,要符合開發規範,要符合程式思想,要符合物件導向。總之,認為技術才是正道。有時僅僅因為認為代碼實現方式不爽而推倒重來;甚至不惜影響進度。
那麼,果真如此嗎?一個項目一定要從技術的角度達到完美麼,一個類,一個方法,一個變數的聲明非得嚴格按照編程規範。一個好的程式員一定是代碼寫的完美的麼。
誠然,作為一個軟體開發人員,追求技術的完美是多麼難能可貴的品質啊。一個追求技術完美的軟體工程師,即使不是一個好的軟體工程師,也是受人尊敬的軟體工程師。但是從企業的角度來看,真的需要如此麼。需要追求技術完美的企業是有的,譬如,微軟研究院,亦或科研單位,再或者以傳播技術為目的的組織等。在這些企事業單位裡,完全沒有問題。技術非常重要。
但是,作為一個市場中的企業,他們看中的是什麼,把代碼寫的比微軟發布的代碼還好,比Java的原設計代碼更完美,有用嗎?我想說的是,作用是有的,但是不大。市場中的企業看中的是什嗎?不是你的過程,而是結果。作為一個軟體開發人員,按時完成預定的方案,產出預期的產品,就是一個好的開發人員。作為一個專案經理,帶領大家完成了任務,提交了合格的產品,那就是一個好的專案經理。所以結果很重要。因為結果才能創造價值,才能讓你所在的企業盈利,你才能有報酬,這是一個很直接的因果關係。當然了,技術不重要嗎,不是的。技術也很重要,只有編程技術精通,你才能快速制定出若干套方案,從而選取最合適的那個方案做出結果來。
所以,當我們在工作中,糾結於技術細節的時候,一定要清醒的認識到,一定要做出結果。而不能一味的陷入追求技術的圈圈裡,那就得不償失了。
有很多的技術人員,甚至總技術監級的軟體工作者,總喜歡將別人的項目貶得一文不值(汗顏的是博主以前也經常這樣)。認為除了自己的作品外,別人的都是“垃圾”。這是完全沒必要的。因為也許垃圾的作品創造出的價值是精品的千百倍。所以博主認為,區分一個屌絲程式員和高富帥程式員,得看他是如何看待垃圾代碼的。而且職位越高,或者想往更高的職位發展,越應該注意這個問題。所謂海納百川,所謂有容乃大就是這個道理。
比如,作為一個專案經理或者技術總監的人,如果一味的想把項目開發的非常完美,那麼很可能的結果是難以完成任務,或者產品很難正常的開發出來,從而導致企業損失,最終還是誤人誤己。
因此,在工作中,一定要注重結果,為了實現某些成績,在技術上不得不做出一些讓步。不得不產出所謂的垃圾代碼。只要結果好,這也是值得的。