一技傍身,世界通行:Programming為何全球通行?
近一兩年由於政治局勢、肺炎疫情,大家閒賦在家,不知是否因為在家工作的緣故,很多人都乘勢進修學習新技能。筆者認為,學習新技能,當然要以個人興趣為最大前題,因為學習源自於興趣,人只有在學習自己最有興趣的事情上,才會有動力去不斷改善。而最常提起的,就是編程(Programming)的技能,連香港知名求職網站Jobsdb亦撰文指出IT工作平均薪酬加幅跑贏大市。有一些可能想移民外地的朋友,發覺IT技能(尤其是軟件開發、數據科學等技能)似乎不只在香港渴市,在世界各地亦有類似渴市的情況,也就是對擁有編程技能的人而言,移民世界各地,都比較容易找到工作,這對有意移居外地的人而言,確是一個喜訊。
由上圖可見,軟件開發者的薪金在瑞士、美國皆是名列前茅,在其他國家即使不是獨佔鰲頭,也是收入甚豐。
筆者認為編程成為全球通用之技能,有其背景因素,絕非偶然,更非一時三刻就會改變的。 歸結原因,筆者認為有三大原因:
程式設計是開放行業,無保護主義
與其他行業不同,程式設計每年入行無限額,純粹是由市場供求決定,近年人工智能需求甚殷,很多公司就開始聘請數據科學家(Data Scientist),機器學習工程師(Machine Learning Engineer),不會有一個中央的「數據科學公會」決定發牌多少,也沒有標準化的考試去決定那個人合乎成為軟件工程師的資格。整個行業完全是開放有志從事的人去參與。
行業開放之好處,在於沒有難以入行的門檻,所以世界各地的人,通過自學、網上教育、各式教育,很多都可以成功入行。亦因如此,很多像Tecky 一樣教育機構亦在世界各地應運而生,幫助有意從事程式設計的人入行,我們開發的網上學習平台Tecky Code
更是對公眾免費開放。其他行業之入行者亦會將自己本行知識帶到程式設計行業,令程式設計在發展更兼收並蓄,更造就了現在開源軟件百花齊放的狀況。
開放行業固然有好處,亦當然有其壞處,從事程式設計的人,必須要時刻預備好與全球競爭的準備,因為沒有任何「公會」可以保障薪酬不會因競爭而下降。所以此行從業者皆有「終身學習」的心態,要保持自己的競爭力,最佳的方法,莫過於保持自己之技術、經驗優勢。有經驗技術的軟件工程師在世界各地都很受僱主歡迎,即使行業開放,亦無須擔心。
程式設計本質上容許遙距工作
2020年疫情襲來,令各行各業的工作方式大變,由原本的每天在辦公室上班,改為在家遙距工作。開發者的工作則沒有受太大影響,因為軟件開發之日常工作流程,早已與遙距工作相容。試想像一個從事軟件開發的程式設計師,以下的流程是他的日常:
- 從雲端的
Gitlab
同步程式碼,與其他地方軟件工程師在Gitlab
上討論issues
- 在本機在IDE或Text Editor進行開發
- 將完成的程式碼與雲端的
Gitlab
同步 - 將整個程式部署至雲端的
AWS
- 與其他在世界各地的同事在
Slack
上討論 - 重覆
1)
就算閣下本身不是這一行,應該都可以看到整個流程之中,其實除了2)
之外,基本上所有步驟都是在雲端上完成。所以對開發者而言,在家工作與在辦公室工作,其實無差。正因程式設計本質上就是遙距工作(Remote Working),因此有許多自由工作者(Freelancer),都是本人身在外地,再接本地或其他地方的工作,這就是所謂*數碼牧民(Digital Nomad)*之由來。程式設計這個工作,就打破了地域限制:你可以身 在泰國,卻為一間香港公司工作。數碼牧民生活自由,可以一面周遊列國,一面工作,正是因為軟件開發與遙距工作,非常契合。
大家應該經常聽聞軟件開發常有外判(Outsource)至其他國家的現象,亦正正因為此獨特的工作方式所致。
程式設計是高增值而有創造性之工作
程式設計人才固然在世界各地供不應求,但僅僅供不應求,不一定會令一個行業受世界各地青徠,程式設計更是一個高增值(High value-added)產業,其中也有大量創造性之元素(Creative Elements),開發者在世界各地之所以收入較佳,正是因為軟件本身能夠產出非常高的經濟價值,初創企業之所以每每以手機程式(Mobile Application)或網站應用(Web Application)提供其服務,亦正因此原因。至於軟件開發的價值有多高,相信不用筆者多言,在2021年2月本文寫成的時候,以下是全世界十大市值(Market Capitalization)最高的公司:
Screenshot from companiesmarketcap.com
除了Saudi Aramco
是間石油公司、Tesla
是電動車公司、TSMC
是半導體公司之外,其餘七間清一色是以開發軟件為主要業務(蘋果公司主要收入來自於硬件)。
美國著名企業家、軟件工程師Marc Andreessen,曾講過一句名言:
Software is eating the world
在2021年的今日,實在是一語中的。
除了金錢上的價值以外,軟件開發更提供了一個非常好的媒介,供人去創其所想。著名遊戲平台Steam
上面就有一個名為Indie game
的分類,所謂indie game
就是由獨立開發者開發的遊戲,這些遊戲在投資成本上由於不及其他AAA
級遊戲,在設計上有時反而更有驚喜。正是軟件開發的技能,令這些獨立開發者,
有能力去開發自己心中的宇宙。
總結
筆者上網時,常常看到不少會引用一句不知何處出處的名言:
Programming is the new literacy
指的是程式設計能力在未來世界,將如基本讀書識字能力一樣不可或缺。筆者覺得這個講法當然有誇大的成份,但在這個科技快速變化的世代,擁有編程能力,確是愈來愈重要。 不論你是想移民外地、著地後卻又苦無其 他技能; 或是想周遊列國、想要一份遙距工作; 或是你有一些遊戲構想、希望以電腦實現。編程能力皆是你所需之技能了。