為什麼還有人雇傭糟糕的程序員?

火星人 @ 2014-03-12 , reply:0


  

有一種言論是好的程序員的效率是差的程序員的10倍,那為什麼那些差的程序員還能找到工作並且能一直做下去呢?我最近閱讀了 DZone 上面的 Troy Hunt 的文章“Measuring code quality with NDepend” 。先不管 NDepend,Troy 分享了一個關於專業性的有趣的觀點:

我一直想不通為什麼軟體行業的專業性的差異會如此巨大。對比醫生或者飛行員,好的醫生和不好的醫生差別不會很大,而飛行員的差別應該更小。當然醫療事故和飛行事故也會發生,但那確實很偶然。但是軟體行業垃圾代碼,低質量軟體的概率似乎要高很多很多。


Troy 的文章引起了我對專業性的思考,以及為啥不好的程序員也能找到工作並能一直做下去。我認為有三個主要原因,可以解釋為啥競爭力,效率和專業性不是程序員職業生涯的決定性因素。

- 明星公司通過市場營銷和技術競爭力創造偉大的產品。
- 外行無法分辨代碼好壞。在漂亮的 UI 下面可能是技術災難。
- 代碼的好與壞可能需要10年的時間才能體現。

產品理念,市場營銷,技術壁壘

像 Apple,Google 這樣的明星公司,他們有非常好的產品理念,市場營銷以及技術壁壘。這三樣只要有其中兩樣就可以把產品做成功,例如好的產品理念和良好的市場營銷加上一般般的技術水準。

我記得在 2000 年的 CeBIT 會議上,我當時所在的公司有一套非常好的網頁發布系統,但是我們很難讓大家了解我們。但是我們隔壁的公司穿著西裝革履,非常健談,他們的產品也不錯(雖然我同事常常嘲笑他們的圖像處理產品就像學校實驗室的作業)。那個圖像處理公司現在是移動圖像軟體領域的主要玩家。而我的老東家還是一家很小的公司。

外行無法分辨代碼好壞

我不知道那家圖像處理公司的代碼如何,使用他們產品的用戶同樣不知道。但是我知道他們的用戶界面設計很好。一款軟體的界面與代碼質量真的沒有什麼關係。即使你把代碼給用戶看,他也看不出來啥。但是建築行業就不一樣,大部分外行可以通過仔細查看外觀來判斷一棟樓的質量。

10年見分曉

對於用戶來講,他關心的只是軟體是否最新版本,是否好用,是否漂亮。代碼的質量往往需要在使用很長時間以後才能體現出來。一個軟體維護了十年以後,具有良好的設計和編碼的軟體將依然很好用,而不好的軟體可能已經被拋棄。不幸的是,糟糕的程序員可能在這十年中寫了很多爛代碼。時間會消磨一切,很多項目時間一長大家都不在乎這些了。而這些糟糕的程序員依然可以拿他們去年的漂亮項目出來找工作。
 

PS:

太完美的東西讓用戶沒有升級的慾望,自然不會再記住你這家編程公司,其實在IT業,客戶關係是在軟硬體維護中維持下去的





[火星人 via ] 為什麼還有人雇傭糟糕的程序員?已經有228次圍觀

http://www.coctec.com/docs/discuss/show-post-74282.html