鐵鎚兄講香港IT,小弟都想加把口講吓。
如鐵鎚兄所言,其實可以大分software同hardware(或者engineer)。小弟做開software,對engin o個邊真係唔熟,對engin o既career path一知半解,都係小講小錯。至於software,小弟浸淫了一段時間,對software略知一二,等小弟班門弄斧,獻醜獻醜。
software其實可以分工好細,排明不分先後:-
業務分析員(Business Analyst)
好似棉花姐咁,主要工作係幫user搵啲業務上o既問題同埋提供解決o既辦法,係business同ITo既一道橋樑。有新project o既時候,同user吹完一大輪水後,寫spec (requirement/functional specification)俾啲developer去跟。如果遇著user太忙,份spec好多時都係BA作出黎。UAT o既時候,陪啲user試。好多時啲user都唔肯試,都係講個「信」字,叫BA自己試。就萛肯試,都係係咁咦,始終都係要BA試哂。
一個好o既BA,一定要同user有良好o既關係,所以同user social係必收科。因為經常接觸user,而係人o既習慣係事無大小,熟邊個就搵邊個。當system有問題o既時候,BA有好多時係要做埋客席support。 做BA最緊要識走位。遇著啲燥狂o既user,當佢心情唔好o既時候,如果BA唔知定搵user,真係送上門俾人鬧。
有啲BA有鋪癮,鍾意睇埋code,好hand-on。不過好多都係齋睇齋吹,對technical都係一知半解,去到有事都係靠啲developer去救。 又有啲BA吹自己好technical,鍾意寫spec時寫到好technical,同做埋technical design冇分別。但係好多時諗o既o野都好門面,淨係諗啲short-cut又唔理會影響成個system o既flow同performance。technical design都係搵啲專業人仕做啦。
=============================================
資料庫管理員(Database Adminstrator)
一個不食人間煙火o既位,同啲network佬一樣,可以叫做IT中o既古墓派。每日o既工作就係咁咦mon吓database有冇爆碟,做吓backup同restore。做o既o野極其technical,以有GUI都唔用為榮。
叫佢做o野,成日一大堆理論。話咁做唔得,咁做又唔啱規矩,永遠俾唔到答案。我行我素,唔理application team想點,鍾意隨意亂改啲security同database settings。有起事,慢十拍。話之你system死,人急我唔急,永遠call唔到。data modeling又唔幫手,個system performance差又話係application design o既問題。
DBA叫價好高,好多公司都冇閑錢請一個。DBA個role都係support或developer兼任。
=============================================
開發員/軟件工程師/系統建築師(Developer/Software Engineer/System Architect)
鐵鎚兄講o既你係programmer。programmer可以話係pure做programming,行內人會叫dup石仔,係將design spec上o既logic轉化為一堆code o既高手。一個超級programmer,真係有啲似Matrix入面啲人,可以好快係上萬行o既source code海入面,搵出所要o既module同點de個bug。
而小弟想講o既係好似堅兄咁出色o既developer(或者Software Engineer)。programmer同developer有啲分別,programmer比較純programming,而developer就要兼顧development life-cycle o既其他o野。project開波,當然要攞requirement,如果個project冇BA,senior developer要requirement都攞埋。到system analysis & design,當然唔可以小o左developer個份。出到technical design之餘,仲要refine個estimation。有啲唔生鏽o既PM,成日quote個鬼死咁少o既estimation俾user,真係累死啲developer。好多時搞到啲數左衾右衾,暪天過海。到coding,有啲冇QA team o既project,senior developer係要QA啲junior o既code。system build多數要senior developer做埋,對啲冇試過就check-in o既人真係恨之入骨。如果個system有翻咁上吓大,十萬個project parallel行緊。十個筒一個蓋,做environment management都幾頭痕。testing時睇實個testing environment唔在講,啲tester多數對個system一知半解,testing時啲BA多數失o左蹤,揍tester o既重任就交o左俾developer。implementation多數係weekend,如果個project係global,等如要等埋美國收工先可以做,一個大好星期六就咁冇o左。implementation後,又要post-implementation support。如果個project係有New Zealand、澳洲份,就唔該你零晨四點返公司support。
一個出色o既developer可以話文武雙全,十八般武藝皆精,coding又得,寫document又點,去support又得,做coordination又點。一啲senior o既developer如果唔轉做BA或PM,好多時會升o左做architect。system architect同建築師差唔多,都係oversee成個system(building)。不過architect唔單只管一個system,佢會consider唔同system o既partitioning and interfacing,俾advice俾啲developer,同埋make一啲high level o既design decision。當system有啲麻煩o既問題(特別係performance issue),architect就會挺身而出,把問題擺平。
=============================================
項目經理(Project Manager)
PM o既職責緊係揹起個project。理論上project所有頭暈身興、東瓜豆腐都係入PM數,同啲問責高官冇分別(有起事可以瀉落啲細或程序出錯,有鑊可以唔上身)。當個project細,好多時PM會撈埋BA同埋QA,做個啊四咁。當個project大,PM淨係做planning同coordination,反而會輕鬆啲。
PM o既座佑銘係一字記之曰「卒」,卒到人做o野就係一個好PM,一個成功o既PM可以卒到任何人做o野。唔同PM卒人做o野各施各法。有啲PM鍾意每隔五分鐘催一次,煩到你唔準時交課唔得。有啲PM會凶你,甚至捩橫折曲,escalate俾你老細,總之迫你搞點啲o野。有啲PM鍾意同你講耶穌,利誘你,話你o既contribution有幾重要,上層幾睇個project。如果你想紮,就好快手啲啦。又有啲PM鍾意同人懶friend,有起事以為拍吓膊頭就搞點。成功o既PM可以靈活運用以上o既方法,卒到人做o野之餘又keep到個好o既relationship,做PM真係一種藝術。
software其實仲有好多工種,今日講住咁多,留待他日繼續…
延伸閱讀
大鐵鎚 - IT, 程式員, 工程師
資訊科技及通訊業資歷架構
內地保險股盈喜 - 市場先生談中國財險(2328) 【市場先生直播精華重溫】#中國財險 #內險股
5 hours ago