邱奕南, 2001/4/16

對於一個程式設計師而言,如何在資訊領域中規劃自己未來的方向是很重要
的一件事,畢竟沒有人願意十年、二十年後,還在程式撰寫的小圈圈中打轉
。以下,作者便以從事資訊業十餘年、歷經各種職位的經驗,提供一些心得
給所有還在從事程式設計的人參考。

首先我們來看看,資訊人員可從事的職位有那些:

1.程式設計師:對於中小型軟體公司而言,程式設計師往往還必須兼任系統
分析、系統設計的工作,但在較正規化的大型軟體公司裡,程式設計師的工
作,便只是程式撰寫而已。當然,也包括了單元測試與程式碼檢視的工作。
因此他所要學的知識,主要是程式語言、資料結構與演算法,同時也要了解
跟作業系統有關的API函數與相關的界面協定,並養成良好的程式撰寫習慣
與技巧。

2.技術主管:負責研究、評估、引進資訊應用的新技術,並對研發人員進行
技術移轉的訓練,同時他也負責部份的程式撰寫工作。這個職位一般很少有
正式的編制,通常由資深程式設計師、研發小組主管,或是研發經理兼任。

3.研發小組主管:在規模較大的軟體公司裡,大都有這個編制,一般由資深
程式設計師擔任。他的職責主要是帶領小組成員,完成程式撰寫的工作,並
整合與測試小組成員的程式。因此除了在程式設計的技術深耕外,他還必須
具有管理的知識,並負起訓練小組成員的工作。有時他還必須兼任技術主管
的職責。

4.系統設計師:大部份只會在較正規化的大型軟體公司裡,才有這種職位配
置。他主要是負責系統設計的工作,而系統設計的內容往往和系統相關,因
此他所要學的知識,除了包括程式設計師應學的知識外,還要加上系統分析
設計方面的知識。有時他還要兼任程式撰寫的工作,因此通常這個職位均由
資深的程式設計師擔任。

5.系統分析師:大部份稍具制度的軟體公司,都會有這種職位配置。他主要
是負責系統分析的工作,因此在邏輯思考能力上要有一定水準,同時對於軟
體工程以及各種資訊新技術,也要有廣泛與深入的了解。此外,不斷地累積
系統分析經驗也是這個職位不可或缺的一部份。雖然程式設計與系統設計的
經驗在此職位並非必要,但這種經驗對於完成系統分析的工作,也具有輔助
的效果。系統分析師在不同的組織體系裡,有時也會兼任需求分析的工作。

6.研發經理:主要掌控整個研發團隊,進行軟體的實際開發,由系統分析開
始,到整合測試為止。通常擔任這個職務者,必須是個通才型人物,也就是
歷經程式設計師、系統設計師、系統分析師等三種職務,而且其技術能力必
須可以服眾(特別是華人研發團隊)。除了這三種職務所需具備的知識外,
他還必須學習管理的知識。有時他還必須負起技術主管與教育訓練的工作。
在更小型的軟體公司裡,他可能還要兼任專案經理、產品經理、系統分析師
、系統設計師、程式設計師、測試人員等多種工作,是個相當累人且不容易
做好的職務。

7.專案經理:軟體發展管理者,主要是與客戶溝通,進行需求收集與分析,
同時協調所有業務與研發人員進行開發工作,負責產品評估,並監督整個專
案的進度,直到專案驗收為止。因此他的人格特質便必須善於溝通與協調,
而所學的知識只須包含軟體工程與領域知識即可,不過對於資訊技術的了解
程度,也會影響到專案經理的勝任能力。專案經理有時還必須兼任業務的工
作,擔負部份的業績。

8.產品經理:和專案經理類似,只是對象改為產品而已,因此除了專案經理
所應具備的人格特質與知識外,還必須具有相當的行銷知識與創意。在某些
公司的編制上,產品經理有時還必須負起主導產品方向、構思新產品,以及
進行產品促銷與尋求銷售通路的工作,甚至也可能擔負部份的業績。

9.測試人員:主要負責品檢的工作,除了必須了解測試方面的知識外,也必
須具有耐心、細心的人格特質。

10.品質稽核員:主要監督各軟體專案的開發流程,是否完全依照制度進行
。在實施全面品質保證的公司裡,品質稽核員的稽核範圍包括了公司內所有
的作業流程,也包含了公司所有階級的人員。

11.顧問:顧問指的是學有專精的人,大致可包含下列四類:

a.理論技術顧問:也就是在理論研究方面學有專精的人,一般都是學校中的
教授。

b.應用技術顧問:也就是在某種資訊應用技術上學有專精的人,一般都是某
個公司的技術主管,不過他的價值會隨著資訊技術的演進而變化。

c.領域知識顧問:也就是在某個資訊應用領域上學有專精的人,一般都是某
個領域中的佼佼者。

d.管理顧問:一般可分成企管顧問、資訊管理顧問、品質保證顧問等三種,
分別輔導企業的經營管理、資訊化與品保認證事宜。一般都是由顧問公司的
從業人員擔任。


由以上所述的工作類型與所需的人格特質,我們可歸納出幾種升遷路線:

1.測試人員-品質稽核員:
適合不善溝通、不喜管人,但具備耐心、細心人格特質的人。

2.測試人員-程式設計師-技術主管:
適合不善溝通、不喜管人,但又喜好程式撰寫與研究新技術的人。

3.程式設計師-研發小組主管:
適合細心、負責,具有一定溝通協調與管理能力,而又喜好程式撰寫與研究
新技術的人。

4.程式設計師-系統設計師:
適合不善溝通、不喜管人,但又喜好程式撰寫與研究新技術,並具有一定資
訊理論基礎的人。

5.系統設計師-系統分析師:
適合不喜管人,但邏輯思考能力強,喜好研究新技術,並具有一定溝通能力
與資訊理論基礎的人。

6.系統分析師-研發經理:
適合細心、負責,善於溝通協調與管理,且技術超強的通才型人員。

7.系統分析師-專案經理:
適合負責,善於客戶應對與溝通協調,並具有一定技術能力的人。

8.系統分析師-產品經理:
適合負責,點子特多,洞察力精準,並具有一定客戶應對與溝通協調能力的
人。

9.管理顧問:
適合善於應對與溝通的人,通常必須考上相關證照,並在顧問公司從事一段
時間以上,有知名的成功輔導案例者。

讀者可依照自己的人格特質與興趣,慎選將來生涯規劃的方向,並及早充實
應具備的知識與能力。不過在此,作者還有幾點建議提供參考:

1.加強打字速度:
這是很多資訊人員忽略的地方。打字速度的快慢,往往會影響到工作的產能
,尤其愈是上層職位(此處指的是經理級的執行層,而非副總級以上的決策
層),他所要撰寫的文件愈多,因此儘可能提升自己的中英打速度,至少應
達到50字/分鐘以上。

2.以通才型為目標:
因為通才型的人物幾乎可以勝任各種工作,在資訊競爭激烈的潮流中才不容
易被淘汱,也比較容易找到合適的工作。不過在以此為目標前,要先衡量自
己的能力,否則不但無法達到博而精的地步,反而變成了雜而駁,那就得不
償失了。建議是先精而後博。

3.多學不易變動的知識:
儘量學一些”學一次享用終生”的知識,例如資訊理論、軟體工程、管理學
等,以培養自己往各方面發展的基本能力。

4.保持對應用技術的了解:
對於容易變動的資訊應用技術,如程式語言工具、作業系統API、各式整合
界面與架構,只要保持了解其內容與架構,並知道資料如何取得即可,在實
際預期會用到時,再開始拿來精研,比較不會浪費時間去精研將來用不著的
技術,因為這些技術可能在一、兩年後便被淘汱了。不過如果技術底子不夠
,最好先精研一陣子,否則要用到時無法迅速理解,反而會降低了自己的技
術能力。至於要專研什麼,便由讀者自行決定了,作者只建議,至少常用的
作業系統API一定都要試過會用,程式語言工具裡的程式庫原始碼都要看過
一遍,以了解別人是怎麼寫的,為什麼要這麼寫。這樣至少便有一定的技術
底子了。

5.加強英文閱讀能力:
大部份的資訊應用技術資料,都是以英文撰寫的,如果英文閱讀能力不夠,
便會降低學習的速度,即使勉強可隨著潮流前進,但想走在別人前面,搶先
創新技術產品便不可能了。

本篇文章引用自此

arrow
arrow
    全站熱搜

    Peggie 發表在 痞客邦 留言(0) 人氣()