立即捐款

給準備入行的 Programmer

當初點解會入行呢?90年代最初接觸電腦時並沒有 internet,甚至 CD-ROM 也是創新科技,螢光幕剛從單色變成16色的年代,我在深水埗黃金商場的第一份暑期工就是幫人砌機,當年由於沒有 internet 的關係,要學習電腦最有效的方法就係睇台灣的中文電腦,那個時代的電腦書店其實是個寶庫,無論係學編寫程式、電腦繪圖、中文電腦等都能在書本中學習到,我亦都係因為經過一個暑假的耳濡目染而對電腦產生興趣。

到真正入行做 programmer 時,可能同事們不太懂分辨IT部們每個唔同的崗位,我經常被要求處理一些我不熟識的事,如維修printer、尋找方法解決同事在 excel 中遇到的問題、甚至要做一些電腦繪圖設計等。其實面對這些問題,programmer 並沒有更好的解決方式,我都係一步一步地代同事們研究,找出答案。雖然這種事情會隨著同事對你認識加深而減少,不過在他們再無方法解決時,做IT的同事也需要解答一些與工作無關的問題。

隨著年資增長,能夠直接面對客戶的機會會越來越多,就會發覺除非係政府客,否則以前所學的 development cycle 真係無乜用。每當開 project,辛辛苦苦攞requirement,然後快快樂樂地 system design 同 coding,去到 user acceptance test(UAT)就係災難的開始。因為無論你之前步驟處理得如何好,客戶總能提出一些麻煩的問題隨時令 project 死腹中。簡單如 interface 唔夠靚,又話操作上不合心意,其實己經可以花多一倍時間重做 develop。嚴重者你會聽到一尐從來未聽過的 reqirement,例如筆者曾經為一間大型的保險公司寫一套員工申請津貼的系統,由於公司規模龐大、架構複雜、僱員眾多,批津系統本來已經非常複雜,成個 project 預計12個月完成,但當開始UAT,大約離完成尚有三個月時,客戶突然話公司的批津制度將會改變,系統短期內會不合用,結果 project 需要即時停止開發。

重新由傾價錢開始做過,中間再經歷一些加加減減,結果整個 project 歷時3年。其實面對客戶改變主意其實係 programmer 的日常,而這些困難並不是自己能獨力解決,即使改動簡單又或者能力所及,甚至願意付出私人時間,這些問題始終與合約有關,是否需要解決問題的決定權並非在 programmer 手中,雖然辛辛苦苦起一個系統要胎死腹中有點可惜,不過這正是一個 programmer 要學習的地方。

入IT行業當然會經常接觸新事物,對新事物新技術的熱衷其實是每個IT人必備,但入行後就會發覺舊技術舊系統仍然很多人使用。現時香港有很多企業仍然會保留一部 Windows 95 的電腦及 AS400 之類的古舊系統,而這些系統依然如常運作,並需要IT部門維護及連接新系統應用。企業願意每年花過百萬維持古老系統運作都不願升級新系統總有個別的原因,香港在創新科技中落後並非奇閒,其實大部份企業都無咁多新野俾你玩,能夠學懂古老系統的運作才是價值所在。

縱然互聯網發展已經超過二十年,商用電腦更是發展接近半世紀,但電腦發展的速度一點都沒有減慢,IT並不是一個大學畢業後就能停止學習的科目,每次有新聞講述裁員先裁IT高層時就應該要明白,要有不斷學習的進取心才不致被淘汰。