硅谷故事:什麼人才算是做軟件的? 本來想總結一下自己多年的做軟件教軟件的體會,寫一篇做軟件的四個層次。但仔細一想,什麼人才算是做軟件的?還真不好定義。現在信息時代,你說誰不懂計算機不懂軟件誰跟你急。 我剛從物理轉入IT,是一家做EDA芯片設計輔助軟件的 startup.估計我的物理背景起了幫助。雖然我不懂芯片設計,但應該總比學幼兒教育的容易入門。做軟件老美很有創造力,但需要有物理電子等背景的軟件行業,在我還在的時候,還是老中的一統天下。 雖然我原來在學校修過一些CS課程,自己也寫過自己用的計算機程序,但進去之後,才了解到什麼是軟件產品的概念。那時候,很多公司都有自己的軟件開發員,比如AMAT,Intel,光學醫療設備公司,更不用說HP等電子設備公司了。 但我們公司的工程師都不大看得起在那些公司做軟件的人,常說。他們不算做軟件的。有一次,公司想拉一位高級技術人員入伙,,他有屬於自己的EDA軟件可以帶進來,那個軟件已經用得很好。他也展示給我們看。開會的時候,我們公司的人追問他,你這個軟件拿來後在我們公司的幫助下要多久能做成產品,他含糊其詞不肯給一個肯定的回答。我才知道,把一個主要功能已經實現的 prototype 軟件做成可以賣的產品,一般還要5-10倍的時間,這還是在原來架構設計沒有問題的情況下。而沒有做過產品的人沒有這種體會。 但是,我後來到AMAT做自動控制軟件,我們的軟件當然只是自己用和跟設備走。但我們的設備一般都要派人跟去維護的。覺得也不能說這樣的軟件就好做, 軟件不但要同時控制多個程序,還要控制多個在協作運行的機器。後來做電商通信等等軟件也是,各領域都有自己的特點。軟件企業裡面又有不同的分工。 IT,已經跟物理一樣,成了一個大領域,其中還與其他領域結合,比如傳統電訊. 電子生物圖象等等. 甚至現在大熱的圍棋和其他遊戲. 每人都只精通自己做的那部分,說什麼人才算是做軟件的?還真不好說。不過,軟件開發,還是有自己的共性,所以,還是想從不同一般軟件工程課程的角度把4個層次寫出來和大家討論,這篇,就算個引子。 |