2011年10月15日 星期六

程式開發者之傻傻搞不清楚技術定位

Standard
常聽到有人說專案選錯技術而失敗,或是造成什麼嚴重問題,其實這其中,是有很多原因導致選錯技術。不過,對於初入這行業的人來說,所知所見不夠廣,是最主要的問題。

使用正確的解決方案能讓軟體專案或是產品專案更加順利。所以開發前要做足功課,通盤的瞭解和業界各種大小的動態都不能放過(相信身為程式人員,看英文資訊的能力應該不必擔心),哪怕該技術存在的領域可能與我們當前熟悉的領域相差十萬八千里遠。因為如果視野太狹窄,就看不到更好的技術方案,更沒有機會觸類旁通。有了足夠資訊,如同有了一張地圖,也就有跡可尋自己不足之處和其解決之道。

有了地圖,便要開始認清方位,身為程式開發者,懂一項技術的優點和極限是絕對必要的,所以一定要了解一件事實:『懂一種技術能做些什麼,並不代表了解該技術只能做些什麼。』瞭解透徹,才能正確的選擇解決方案和確實將目標達成。

搞清楚各種技術的定位後,便要應用在一個專案開始前,使用所知去選擇解決方案。記得過程中要隨時保持所選擇的技術,在緊急時刻可替換的彈性。專案開始後,切勿將陌生領域的東西寫得太過死硬,要可以容易被切割獨立。因為若是在開發過程中,才發現原先使用的技術可能並不適合在目前的用途上時,可以用另外的技術來彌補或替換。除非,有時間上的壓力或限制,硬是使用不適當的技術完成任務是容易有後遺症的,而且容易傷害到使用者體驗。更重要的是有很大機會達不成目標的標準。

此外選擇技術的評估,除了應該先有通盤知識為基礎,應該以客觀或是跨時代的角度來做,而不是以自己手上的電腦硬體,或是自己目前正習慣使用的平台或喜好的技術為準。一旦專案有挫折或失敗,才來說當初選錯平台,實在是浪費時間。而且,還可能錯上加錯,因為不是選錯平台而是選錯技術的可能性更大。

要知道,這個時代是多元的,只熟悉或知曉單一方向技術,是無法有太多創意和實作能力的。解決問題的方法並不需要貫徹技術到底的決心,只要選擇適當即可。