至於美國要不要找工程師? 那當然還是要的... 公司最核心的軟體部分當然還是要留在美國... 不管台灣或北京, 都只能做比較邊緣的項目......
Aznsilvrboy wrote:
是嗎? 那Google, Facebook幹嘛在美國付年薪十幾二十萬美金請美國的軟體工程師? 統統裁掉用台灣的就好啦. 台灣世界一流的軟體屈指可數 (到底有沒有?). 要說台灣的軟體工程師非常好用恐怕欠說服力.
p620329 wrote:
開發大型應用軟體是很燒錢的事,
而台灣的老闆一般不願意做這麼大的投資,只想趕快做出來趕快賣錢,
所以台灣只有一堆小型軟體公司,要做大案子,還是只能找外國人。
說台灣沒人才也不是,而是整體環境沒有給你鍛鍊做大型軟體的機會,
只能做些雜毛事。問題是大部分台灣軟體工程師,平常都只做雜毛事,
卻個個都以為自己已經很強了,都瞧不起外國領高薪,
但看起來又沒做多少事的軟體工程師。
可是當大型專案出現,老闆又只請外國人,薪水又高得不像話,
台灣軟體工程師只能站在旁邊罵老闆沒眼光,看著別人薪水流口水。
事實上不是這樣的,外國的軟體工程發展得很完整了,每一步驟都很嚴謹,
單以個人來看,每個人產值都不高,單打獨鬥都不是台灣人的對手,
但把100個人加起來,就比你台灣100人加起來要強的多。
程式設計像是個人的作戰技巧,而軟體開發像是團隊行軍作戰,需要的不只是個人的戰技.....軟體開發只講程式設計,就像兩軍交戰,我軍空有個人戰技,卻不談如何設定戰略、也不談該如何擺陣一樣。
據我觀察,不少人都有這樣的迷思,而這樣的迷思,會使得我們在開發軟體時,太側重在程式設計部份,而忽略了其他在軟體開發中,也必須關注的重要的事情。
但是,我們還是很常看到一些人開發軟體時沒有明確的階段畫分,把所有想做的事都混在一起,也沒有明確的需求就開始寫程式,也放任需求不時地改變、調整,沒有任何管控需求變更的程序或手段。這麼一來,就容易導致無法收斂的需求、或是持續變化的需求,影響到整個開發。
又好比對軟體品質穩定的看法,事實上,在程式碼寫完之後,還需要一段測試及修改的時間,而這段時間通常不少於撰寫程式所花的時間,甚至倍數於撰寫程式所花的時間。
其實,這是一個很基本的觀念,但也總有人不知道、或是不相信這個觀念,最後錯估了軟體實際需要完成的時程,或是在時間截止時,只能交付品質不夠穩定的軟體。
‧大多數軟體開發項目的失敗,並不是由於軟體開發技術方面的原因。它們的失敗是由於不適當的管理造成的。遺憾的是,盡管人們對軟體專案管理重要性的認識有所提高,但在軟體管理方面的進步遠比在設計方法學和實現方法學上的進步小,至今還提不出一套管理軟體開發的通用指導原則。
‧「新技術一直冒出來,學都學不完了,那裡有空搞軟體工程」、「計畫趕著進行,做都做不完了,那裡有空搞軟體工程」...... 就在這一個又一個的藉口中,原本可以幫助軟體產業進步的軟體工程,竟然變成他們口中阻礙軟體產業進步的絆腳石似的,怎不令人對他們的無知感到心寒。
‧寫程式的難度愈來愈低,因為程式語言越來越高階,API 越來越多,開發工具越來越好用,寫程式的門檻自然就大大地降低了。想要開發出有價值的中大型系統,軟體工程就很重要了,以蓋房子來說,你可以隨便找一兩個工人用磚或木材來蓋一棟矮房,但是如果想蓋一百多層樓的101大樓,你非得有良好的工程規劃不可,軟體不也是如此?程式設計師名片上的頭銜都是工程師,雖然和建築工程師、機械工程師... 一樣都被稱為工程師,但比較起來,軟體產業的工程師卻是最不工程導向的 。