Gap撈Tech

IT 人才荒?真係因為唔夠人?

睇過 HKTV 導火新聞線嘅朋友,就算唔係做新聞既都應該知道新聞既標題要夠 Juicy 先吸引到讀者,今日我就被一篇報導吸引左。

呢篇報導既標題 IT人才荒:課程已過時 削港競爭力,作為一個讀過下Computer Science 嘅人當然有興趣想睇下究竟個課程有幾「過時」。

睇完段片睇埋段內文,原來得一句。

有電腦系大學畢業生坦言,大學課程過時脫節,要靠「自修」惡補。

從呢一句可以睇得出佢應該係「天生骨格精奇,係百年難得一遇既練武奇才」,只要佢得到本降龍十八掌秘笈,佢必定會橫行天下。至於我絕對唔係呢一類奇才,我需要既係先學好基本功,然後再上網搵秘笈修練。喺我角度,大學既Programming 課程教嘅絕對唔係奇招怪式,而係最紮實嘅基本功,有咗紮實既基本功,哪怕有招式會學不會?

Programming就喺解決問題

講得Tech 一點,大學主要提升你在Programming 層面嘅解決問題能力,如何分析問題、如何 Divide & Conquer、如何用利前人既Algorithm解決問題、如何設計一個Time Complexity 最低的方案、如何利用Design Pattern,然後再加啲 Low Level Programming Course 以及 Math Course 豐富你既大腦,最後你就可以有效地利用Program解決問題。

所以我覺得大學嘅課程十分全面,但對於嗰啲一黎要想要降龍十八掌秘笈既朋友可能會覺得好過時。假設大學真係教哂你降龍十八掌、倚天切、屠龍斬等等既招式,花足三年時間教你,無基本功既人都唔能夠掌握重點,吹水可能吹到兩咀,一落手做既時候注定露饀。


IT 人才荒?真係因為唔夠人?

言歸正傳,係啲人力資源嗌哂救命話請唔到嘅同時,佢地究竟有無反思過自己用緊幾多錢請人?同埋請多個人係咪真係要請人先可以提高生產力?

我認為搞死香港IT有兩大原因:

1. 忽視提升員工工作效率的機會

有睇過 我個關於 應該知道我其中一個座佑銘

工欲善其事 必先利其器

點解我突然咁講?又係時候講下故仔。


我有兩個朋友都係從事 Programmer 工作,兩個都係所謂 IT 大公司度做,有一次大家約出黎吹水,大家都係IT 人自然會問下大家個工作環境,首當其衝緊係問公司部電腦既Config

Core 2 Dou eXXXX, 2GB RAM, 17吋 MON

另一位朋友B「我好你少少有 3GB RAM」

呢兩句說話,對於我黎講真係難聽過粗口。

然後我嘩然:「喂,呢個係八、九年前既Config 黎架喎,你點做野呀。」

朋友A: 「係架,開個 IDE 等成兩三分鐘,Complie 一次又等幾分鐘,有時做做下完全郁唔到,又係喺度等。」

朋友B:「所以我地嗰邊啲人多數用 Notepad++ 架。」

朋友A:「我嗰邊都係,有一堆開定左既Notepad++,百幾個Tab,方便改野」

我:「都岩既,之前聽你地講用緊既TECH都十年前係幾多人既,咁 八、九幾年前既機,用番十年前既TECH,好合理丫!」

我:「但係而家啲網頁愈黎愈大食,行好多Javascript,又食RAM,你都要Google啲Library點用架,你部機點頂呀⋯⋯⋯⋯仲有而家用緊嗰啲Tools 唔係Fade Out 緊,係已經Fade Out左,做多幾年走唔到架喇喎!」


講真,如果我係老板,我絕對唔會比呢件事發生,一定會想盡方法提升員工嘅Productivity。

假設本身員工唔係冗員,以10人Team黎計。

每人買一部 Intel i5 4核電腦 8GB RAM廠機行 SSD + 21吋 Mon, 可能講緊 8000蚊有找。主機效能提升接近二十倍,Reponse Time 減少十倍,工作效率保守估計至少提升 30%。行Dual Mon,工作效率再提升 20 %。我請少一個人一年,己經夠付出呢一筆費用。花一兩日重新Config 好部機,任得你點去演釋條數,新Config 既呢九個人嘅Productivity 一定比起舊Config既十個人高。

係另一個角度睇,Programmer 坐係公司 8個鐘,有邊個想對住哂八、九前既慢電腦?有Project 想趕住出既時候都有心無力!如果有一部夠快既主機,有時行緊啲大食Program 要等測試結果,都可以邊等邊上下網睇野,趕Project既時候可以盡情咁做,甚至可以話減低流失率。

加上如果今年請九個人做到你先前預算十個人做既工作,下一年要加呢九個人人工絕對唔係問題。

無錯,香港嘅IT業就係被嗰班,以為請多個人坐係公司就可以提高生產力既人玩死。

(後記:朋友B 已經跳槽去第二間大公司做,聽聞佢條Team嘅人好多做左4-5年都唔會跳槽走,佢而家用緊既機係 i5 2400 6GB RAM。)

2. 缺乏培育新人

新人(Fresh Grad)初黎報道,一開始當然就係睇下現有System嘅資料,睇下Documentation,之後就開始有Task要寫Code,好多時新人寫完Code 自己試完無問題就交比 Senior 測試,Senior測試後都冇問題就加入System,去下一個Task。你睇到呢度,係咪覺得成個Process好正常?

好可惜,成個Process漏左一個對新人極具重要性既Code Review (一個 Senior 深入去睇你寫既 Code,然後憑佢嘅經驗指出可以改善嘅地方)。

Programming 就好似作文咁,理論上當行一個Program 既時候篇文的確係作比電腦睇,但實際上當有人要Maintain呢個Program 嗰陣,篇文就係比人類睇。試想下,一句句子就算文法正確都可以用不同的句子Pattern去更有效描述相同嘅事件;Programming 亦同出一轍,新人普遍用直觀的方式去做,所寫出黎嘅 Code 未必係最理想,絕對有改進空間。如果 Senior 只草草了事沒有進行Code Review,只係測試過冇問題過到骨就算的話。由於寫出黎既 Code 冇運用什麼特別的技巧,做完都學唔到野,新人提升唔到Programming 的技術之餘,更對往後嘅 Maintenance 添上沉重負擔。

相反,如果有做 Code review,Senior 可以即時糾正新人,新人能夠汲取新技術之餘,以及更快掌握整個System 的運作。

另外有啲外國好出名有效培育新人嘅方法例如 Pair Programming、Peer review。方法多的是,但有幾多公司會認真培育新人?

對企業的建議

我覺得啲企業唔好一味係度話請唔到人,又話啲人又成日跳槽,又話啲新人未Ready 呢樣嗰樣。

第一步不如諗下你點樣提升你現有既員工既Productivity,到左樽頸你至再諗請人啦。

第二步參考下外國既IT 公司係點樣培育新人,唔係話比一兩個Task 仔,比多啲時間你自由發揮就叫做「培育」至得架。

唔該你地唔好係度搞爛個市。



Author image
About Gap
Hong Kong
A Hongkong programmer who loves design & coding and believes open source software business can change the world.