各位先進好,想向各位請教.. 對於未來的路,想要走SA/DBA,但是對於這部份領域的入門還是有點不了解,茫茫的不知道該怎樣走學習路
因此想要向各位前輩們打聽一下,身為一個SA/DBA的首要準備工作與最基本的了解還有未來的學習方向
我想系統分析、資料庫概論這兩個應該都要讀XD
但是UML這些的用途,是否只是SA <=> Programmer之間溝通的橋樑?
那UML是必學的還是學會了會有如虎添翼之效?
SA與PM有沒有扯上關係?
迷惘.. 還希望各位前輩能夠開示
謝謝
對於比較有體系的公司和升遷
Programmer => SA => PM
PM (Project Managment) 是管理整個案子
案子中可能有很多系統, 分別由不同系統分析師分析
然後切割分別由不同程式設計師寫
程式設計師在某些公司甚至還分
..., 助理程式設計師, 程式設計師, 資深程式設計師, ...
SA 和 PM 也是
當然, 上述不是絕對的, 中國古代有些名將也不是從小兵慢慢升遷
UML 可學, 如虎添翼談不上
DBA比較偏向管理, 而非程式設計
但是寫存取資料庫的程式, DB一般也要會
台灣中小企業多, 很多職缺, 工作內容和頭銜亂給
工作不滿一年當PM, 沒當過 Programmer 去做SA
而很多外包案子的公司, 經費不足又要求很多
談好的規格又變來變去 (連簽名過同意沒問題仍又改)
軟體工程, 資料庫概論這種東西是要學要有概念, 但是不可死守
到小公司會需要同時學會比較多東西
Programmer, DB, 美工, 網管
但是用的不深,或用不上
但是大公司分工細, 可能用的深, 但是不廣
(你就只是一顆是小螺絲釘)
小弟有同學是只待大公司, 有的喜歡中小公司
台灣中小企業多, 也是因為寧為雞首不為牛後
自己想想想要什麼?
正確來說 Ssytem Analyst (SA) 跟 Programer
還有 DBA(DataBase Administrator) 是不同領域的東西
Programer 在資深點通常都還會針對SA產出的文件
做System Designer
所以也有職稱叫做系統設計師(SD),也就是Programer的加強版
不要被程式設計師在上去就是系統分析師這種迷思給綁住
兩者是完全不同的東西
簡單說明一下 系統分析師主要會做
1.了解客戶需求
2.針對需求提出解決方案
3.產出文件(通常是UML)
4.跟程式設計師溝通
UML他只是手段,大都是跟不熟悉的PG合作時候用到,或者外包
假如您跟程式設計師有自己的溝通方法
理論上就不需要UML
而PM 跟 SA 兩者是完全不同領域
PM是屬於管理職,主要是控制時程、控制成本、跟客戶溝通協調,協調人力 等等..
有些技術出生的PM也會兼SA
假如您現在本身是Programer
有系統分析能力的話,當然是非常好
但是SA主要是跟人溝通,而PG是跟電腦溝通
所以兩者的平衡要會抓
因為系統分析最忌諱的就是"被技術主導"
也許有點離題,不過想提一下UML的優點,不只是增加一種溝通方式
我覺得UML的學習,另外一方面是一種思考邏輯的訓練
藉由學習UML不同的邏輯表現方式,另一方面,也把自己的思考整理了一次
我覺得對於非本科系出身的programer,倒是值的一學...
您好,如果您是要在台灣做SA/SD,建議您先從工程師做起會比較好。台灣軟體業在SA/SD/PG這方面沒有像國外那樣分的很清楚。導致,一入門的SA/SD沒有寫程式的經驗,所以做出來的文件就太理想化了,在跟PG溝通時就出現有極大的落差(親身經驗)。