程式設計師是懶惰反覆無常的偽知識分子,果真如此嗎?

發表於2011-09-19

“計算機程式設計中極少人是真正的藝術家,大多數人充其量不過是房屋粉刷匠而已。”———Tim Bryce

管理顧問 Tim Bryce 不喜歡程式設計師,而許多程式設計師也不喜歡他。(注:Tim Bryce 釋出過一篇名為《P理論:管理程式設計師的哲學》的文章。)

Bryce對程式設計師的看法:

  • 程式設計師都是故弄玄虛,妄自尊大的傢伙。
  • 與其它大學程度的工作者相比,普通程式設計師的智商要低。
  • 程式設計師總顯得邋里邋遢,精神渙散。
  • 程式設計師做事雜亂無章,因此很難評估他們工作的進度,其技術也盡顯不足之處。
  • 程式設計師的典型表現是常常埋怨自己工作過量,薪酬過低,所受的重視過少。
  • 程式設計師自詡對科技發展懷有無比的好奇心。 然而,好奇心是需要通過管理慎重培養的,因為資訊過多很可能會導致程式設計師在工作時分心。

在對Bryce先生文章(如上)的回覆中,有很多優秀觀點,指出了他看法有失偏頗的原因。但是我想談談他興許正確的幾點看法。 我還想去了解為什麼一些入行30多年的管理顧問會持有這樣的看法?當然, 我否認費絡伊德觀點論所說的 Bryce先生在童年時被某個無名的程式設計師傷害過。(主要的原因是當時世上只有為數不多的程式設計師,並且全都極負盛名。)

Bryce先生的目標聽眾不是程式設計師,而是 IT管理者和企業決策者(不管怎麼說,程式設計師的低智商很可能會妨礙他們理解P理論)。 P理論的根本前提是:“對程式設計師的管理越有效,我們就越能充分利用系統來支援企業的資訊需要。”這一理論並不是針對活生生的人, 而是針對講究實效的企業。人們應當從企業的角度來看待這一理論。因此,Bryce先生的以下三點看法看來並非全錯。

1. 程式設計師不是“軟體工程師”,而是翻譯。
(關於這點,請參見作者 Andriy Solovey 的另一篇文章:《程式設計師的本質》。)

我同意這種說法。程式設計師確確實實是翻譯。不過我並不認可他們翻譯的內容。 Bryce先生寫道說:“程式設計師將人類可理解的指令翻譯成計算機指令。” 實際上,程式設計師翻譯的是人類模糊隱晦的需求和想法,而不僅僅是不清不楚的指令。 有時候這兩者間的差別與畢加索化人類情感為藝術和房屋粉刷匠化顧客需求為斑斕牆面的差別無異。

如果客戶和程式設計師間的思想交流不足,蹩腳的翻譯及低劣的軟體將隨之產生, 而程式設計師本身也會看起來很糟糕。那麼,Bryce先生的看法就言之有理了。 (系統思維 除外)

2. 許多程式設計師並非“系統分析師”。

不幸的是,在許多情況下確實如此。 Bryce先生寫道:“真正的‘系統工程師或系統分析師’會去了解業務需求,確定和開展能夠滿足這一需求的業務流程,並明確需要程式設計師實現的軟體要求。遺憾的是,擔當這一重任的人極少。因此,這樣的重任只能託付於那些不能勝任這項任務的程式設計師。

我確實認識很多不擅長去了解業務需求的程式設計師,或者說他們壓根兒就不願意去了解。然而,與Bryce先生不同, 我認為程式設計師必須學會使用商業語言,學會與客戶進行直接交流並瞭解他們的需要。 程式設計師真正的工作不僅僅是編寫計算機程式,專業的程式設計師還應當熟練地將複雜的精神理念翻譯成軟體。

如若不然,業務理念的錯翻將會導致軟體低劣,也會因此抹黑程式設計師。 而Bryce先生的看法又將成為事實。

3. 程式設計師追求新興技術方案,而不是實用的解決方案

Bryce 先生寫道:“要解決錯誤問題,簡單的方案是沒用的。” 學會從業務的角度去驗證程式設計師自己的技術推薦十分重要。

的確,許多程式設計師對脫離業務理念的技術方案,甚至是新興的技術方案更感興趣。究其原因,是因為技術通常是程式設計師可以發揮才智與創造的唯一領域?還是因為程式設計師沒能參與企業決策並瞭解客戶需求?亦或是因為程式設計師素來脫離企業真正的需求和專案目標?

過度設計的解決方案是很糟糕的,它打著新興技術的幌子卻沒有實際的需要。 但是,如果能夠實現前面的兩點,即:1、程式設計師直接和客戶一同工作。2、程式設計師瞭解客戶需要並將其需求轉換為軟體,那麼程式設計師就不會有時間和心思去理會天馬行空的技術解決方案了, 而是會努力尋求實用的方案,傾向並關注於那些重視客戶價值的解決方案。

P理論

Bryce 先生認為程式設計師是一群我行我素的極客,他們需要強而有力的監督管理。 管理員應當想方設法控制程式設計師怠惰無常,偽知識的天性。 同時,軟體專案需要大批可以縝密分析業務需求的分析人員(低智商顯然不利於程式設計師直接獲取這一需要), 當然,也迫切需要像Bryce先生這樣的管理顧問,他可以告訴你如何正確看待程式設計師及他們行為。

另一種方法,就是相信程式設計師是負責任的群體,允許他們直接與客戶一同工作並參與大部分的專案決策。 由於管理者和程式設計師現有的思維定式,要轉換觀念並非易事。但對完美軟體公司而言,一切皆有可能。

 

原文:Andriy Solovey  翻譯:敏捷翻譯黃慧諭

如需轉載,但請註明原文/譯文出處、譯文超連結和譯者等資訊,否則視為侵權,謝謝合作!

相關文章