動手寫程式,從掌握細節開始
從事資訊領域的工作者,最基本所需具備的能力我認為有2個。第1是扎實的技術基礎,要能掌握公開標準的基礎架構,進而具備在上面做應用程式開發,或是使用相關程式的能力。第2是自我學習的能力,資訊環境變化很快,一套程式語言,大概2到3年就被淘汰了,永遠有新技術出現,必須建立起學習能力,來因應新科技或新軟體的出現。
然而這只是基本能力,還不足以成為優秀工作者,另外還必須有2種進階的能力。第1種是發掘問題的能力,我常在說,第一流人才提出問題,第二流人才解決問題。軟體主要是無中生有,來改善各種事物的運作,要從既有的現象中去找出問題,進而去解決與改善。第2種則是靈活的溝通能力,要能化繁為簡、深入淺出,在各種變化中找出折衷與彈性做法,進而導引至結論,簡單說,就是要在渾沌中做判斷與下結論。職場規劃可分為3時期
對跨入資訊領域的年輕人來說,我會建議把職場分成幾個階段來規畫。在入行前3到5年,是實作體驗期,這時往往負責一個軟體功能應用或開發,講求是動手撰寫或操作程式的能力。到了這個階段末期,有些人開始展現出專業的優異表現,不管是開發新程式或是拿來應用,都做得又快又好,對軟體技術上,也有自己獨特的觀點;另外,有些人則會展現出跨部門溝通協調的專長,或是在專案的合作上比專業表現更好。
入行第5到10年後,隨著不同績效的展現,資訊領域會有2種發展。在專業表現優異的,會從工程師晉升為資深工程師,進入我所謂個人貢獻者(IndividualContributor)的發展之路,開始負責難度與複雜度更高的程式開發與應用,他通常沒有團隊,一個人獨立作戰;在溝通與合作表現較好的,會開始走上管理職,帶領整個團隊進行各種橫向的技術整合,並負責成敗,這時他的頭銜可能會晉升成專案副理或經理。
若再往上發展,大約入行10到15年之後,專業途徑上的人才,會擔任起一個領域的技術總監;管理途徑上的人才,會負責起一個部門或是一個市場的協理或是副總經理,讓各自的專長達到最好的發揮。