系統設計師  資訊業/資訊軟體/研發部 | jobjob

年度工作目標
   黃色   撰寫系統設計文件(50%)
橘色   協助或參與開發(30%)
紅色   測試及除錯(10%)
綠色   Code Review(10%)

系統設計師(System Designer)簡稱 SD,主要工作是基於系統分析師(SA)所產出的系統設計文件進行UI、程式架構、共用元件、資料庫架構等不同功能方塊的進一步分析規劃,撰寫出Coding 工程師適用的文件。

軟體開發的主要流程為「系統分析」→「系統設計」→「系統開發」→「系統測試」。首先,系統分析師基於使用者需求以及商業邏輯(Business Logic)撰寫完成系統分析文件。系統設計師扮演著系統分析師與Coding工程師之間的橋樑,必須將抽象的需求及商業邏輯逐步分解,再重新撰寫成Coding工程師可參照開發的文件。而Coding工程師則必須以系統設計文件所規範的UI設計、操作邏輯、程式架構、程式規範(Coding Rule)等進行程式開發。

職場

績效評核

撰寫系統設計文件(50%):依系統分析文件並符合系統操作流程及系統商業邏輯,分析撰寫系統設計文件,所設計的系統需符合標準設計模式,並有助於縮短開發時程,及提高可維護性。衡量標準為系統架構、文件可讀性、開發時程短、可維護性高。

協助或參與開發(30%):以任務分組方式協助或參與開發,如UI小組、架構小組、元件小組、整合小組。除了參與開發外,也要負責任務指派,並控制開發時程。衡量標準為指揮調度、開發時程、開發效率。

Code Review(10%):驗證Coding是否有依照設計文件及設計規範開發。衡量標準為程式的品質及可維護性。

測試及除錯(10%):撰寫測試腳本文件,並協助測試及除錯。衡量標準為程式可用性、系統穩定度。

日常工時分佈
   黃色   撰寫設計文件、選擇設計模式、資料庫結構設計(30%)
橘色   分派開發任務、協助開發、協助解決技術問題(30%)
紅色   與PM及系統分析師討論及確認需求、商業邏輯、UI操作流程(20%)
綠色   Code Review、指導開發模式及方法、經驗傳承、確認程(10%)
藍色   協助測試、協助除錯(10%)

日常工作

與PM及系統分析師討論及確認需求、商業邏輯、UI操作流程(20%)。

撰寫設計文件、選擇設計模式、資料庫結構設計(30%)。

分派開發任務、協助開發、協助解決技術問題(30%)。

Code Review、指導開發模式及方法、經驗傳承、確認程式品質(10%)。

協助測試、協助除錯(10%)。

崗位關係

上級:系統設計師的直屬主管一般是專案經理(PM),依專案性質不同,例如自行開發產品的公司還有產品經理,一個產品經理可能會管理好幾個專案,也就是產品經理底下會有好幾個專案經理,專案經理依專案大小分別指派任務給一個或多個系統分析師,每個系統分析師又會將任務指派給一個或多個系統設計師。

同儕:依專案的大小,通常會有一到多個系統設計師協同處理一個專案,每個系統設計師分配的功能不同,常需要開會討論開發架構及公用元件的配置及協同開法方式,對於不同功能之間的邏輯串接必須一致,避免發生重複撰寫相同程式碼的情形發生,同時也要考慮日後維護的便利性。在系統設計初期規劃出好的架構可以縮短開發時間,減少程式臭蟲,並增加可維護性,所以系統設計師之間的溝通非常重要,也關係著專案是否能順利執行。

下屬:一般系統設計師不會有直屬部下,但在規模較小的公司常常會由系統設計師來帶領Coding工程師,系統設計師在開發經驗及程度上都比Coding工程師高,對於專案的涉入程度也比較深,所以業界常常以此種模式進行專案,而有的系統設計師也會加入Coding的工作。

任職要求

教育程度/經驗

學歷:普遍為專科或大學,但也不是絕對要求學歷,一般會比較重視技術能力及專案經驗,若有資訊工程學位有加分作用但仍需有實務經驗會比較好。

經驗:一般Coding 3年以上經驗即可嘗試系統設計師職務,由於系統設計師需要較高技術能力及軟體架構能力,程式初學者並不適合挑戰此職務,如果真的有強烈的興趣則可以從較小的專案著手,漸漸培養設計能力。

特別知識和技能

任何一種物件導向程式語言(OOP)或高階程式語言、資料庫規劃設計、UI規劃設計、至少熟悉二種基本設計模式(Design Pattern)。

依不同執行環境開發軟體需要有相對應的特有技能,例如Web應用程式需要Html、JavaScript、CSS等技能及知識,手機APP需要Android、iOS開發環境及JAVA、Object C語言相關知識,桌上型電腦應用程式需要VB、C#、JAVA語言相關知識,不同平台使用習慣及操作方法都不同,因此UI的設計也大不相同。

系統設計師Coding是基本技能,因設計系統所需的技術及相關知識與Coding習習相關,也就是當你具備足夠的Coding能力及相關知識,才有能力設計出易開發好維護的系統。軟體設計領域最主要的成本就是時間,因此開發期越短、維護時間越少的系統對公司的獲利最有幫助。

職涯發展

薪資成長:依經驗不同大約在4萬~6萬之間,依軟體業別的不同,薪資成長空間也不同,但普遍也能維持在5萬左右。

工作機會:系統設計師具備Coding及分析能力,有能力勝任開發及設計工作,將來也可挑戰系統分析師及PM職位,若對面對客戶比較沒興趣,也可專職Coding或系統設計,成為更專精的設計師。