程式猿吐槽,瞎指揮的領導和PowerPoint架構師

crayonyi發表於2013-02-26

  前幾天晚上吃飯的時候,和部門裡一個比較厲害的專案經理聊到“為什麼在中國,程式設計師不能幹長久的原因”。他說,在國內,一個高階程式設計師的上面通常都會有一個不懂程式的領導,即使是一個再有有經驗再有能力的人,如果上面有個人瞎指揮,你就不能很好的工作。

  想想自己做專案的切身經歷,和看到的程式設計師與領導之間的一些衝突。我覺得他說的很有道理。很多時候,領導一拍腦袋,就要你去實現這個,實現那個,在領導眼裡,覺得加一個功能或者變一種方式很簡單,很快。的確,我們只要找到那個地方,然後加上幾行程式碼就好了。可是,這幾行程式碼,卻破壞了我們原來對這個系統的設計,就因為這樣的幾行程式碼,系統的耦合性增加了一倍甚至幾倍。當領導拍腦袋形成了一種習慣,這種+1-1的操作就會越來越多,最終導致系統變得越來越難維護,擴充套件變得越來越難,debug定位難的問題也越來越嚴重。一旦維護這個系統的人離職,接手的人就會怨聲載道,要麼無法理解,要麼重構,重新設計開發。國內很多專案和軟體生命週期也就2-3年,最多也不超過5年,這應該是很大的一個原因吧。(更可氣的是,有的領導盡然說出“我們的軟體就要能執行2年就夠了,2年以後的事不用擔心”這樣不負責任的話。你們不知道嗎,對於程式設計師來說,每個軟體都是自己的孩子啊。每一行程式碼,都像媽媽的毛衣,一針一線織出來的,自己在程式裡面寫了那麼多的註釋就是為了能讓後來人能理解我的程式碼,方便他傳承和擴充套件。如果說媽媽的毛衣裡傾注了母愛,那麼我們的程式碼也傾注了我們程式設計師的愛)。

  同樣,軟體開發業界也有許多倚老賣老的人,他們做了很多年的開發,終於到了領導的位置。也許在豬頭領導下面壓抑太久了,現在又來虐待下面的程式設計師 。他們自稱架構師,,但是卻和他們的職稱並不相稱。這些冒充架構師的人通常在專案開始時介入,繪製各種各樣的圖,然後在重要的程式碼開始之前離開。有太多的這種“PowerPoint架構師”了,由於得不到反饋,他們的架構設計工作也不會有很好的收效。作為設計人員,如果不能理解系統的具體細節,就不可能做出有效的設計。就像在我們工具組,開發的都是一些還沒有的東西,他們提出的一個簡單的想法,就要我們實現,根本就不考慮在多程式和執行緒切換肯能會遇到的困難,通常一個任務都要延期才能完成。

  有一句言語說:“只有一張蔬菜圖無法做出好的咖哩菜”。與之類似,紙上的設計也無法產生優秀的應用。應該根據設計開發出原型,經過測試和驗證。實現“可用”的設計,這是設計者或者架構師的責任。當然,作為一個程式碼實現的程式設計師,也不是說,只要按照詳細設計說明書寫程式碼就行了,這是典型的“程式碼民工”行為。應鼓勵程式設計師參與設計。主力程式設計師應該試著擔任架構師的角色,而且可以從事多種不同的角色。他會負責解決設計上的問題,同事也不會放棄編碼的工作。程式設計師在拒絕設計的同時,也就放棄了思考。

相關文章