Skip to Content

一技傍身,世界通行:Programming為何全球通行?

一技傍身,世界通行:Programming為何全球通行?
Gordon Lau
2021-02-23

近一兩年由於政治局勢、肺炎疫情,大家閒賦在家,不知是否因為在家工作的緣故,很多人都乘勢進修學習新技能。筆者認為,學習新技能,當然要以個人興趣為最大前題,因為學習源自於興趣,人只有在學習自己最有興趣的事情上,才會有動力去不斷改善。而最常提起的,就是編程(Programming)的技能,連香港知名求職網站Jobsdb亦撰文指出IT工作平均薪酬加幅跑贏大市。有一些可能想移民外地的朋友,發覺IT技能(尤其是軟件開發、數據科學等技能)似乎不只在香港渴市,在世界各地亦有類似渴市的情況,也就是對擁有編程技能的人而言,移民世界各地,都比較容易找到工作,這對有意移居外地的人而言,確是一個喜訊。

programmers_salary_over_the_world.png

Source

由上圖可見,軟件開發者的薪金在瑞士、美國皆是名列前茅,在其他國家即使不是獨佔鰲頭,也是收入甚豐。

筆者認為編程成為全球通用之技能,有其背景因素,絕非偶然,更非一時三刻就會改變的。 歸結原因,筆者認為有三大原因:

程式設計是開放行業,無保護主義

與其他行業不同,程式設計每年入行無限額,純粹是由市場供求決定,近年人工智能需求甚殷,很多公司就開始聘請數據科學家(Data Scientist),機器學習工程師(Machine Learning Engineer),不會有一個中央的「數據科學公會」決定發牌多少,也沒有標準化的考試去決定那個人合乎成為軟件工程師的資格。整個行業完全是開放有志從事的人去參與。

行業開放之好處,在於沒有難以入行的門檻,所以世界各地的人,通過自學、網上教育、各式教育,很多都可以成功入行。亦因如此,很多像Tecky 一樣教育機構亦在世界各地應運而生,幫助有意從事程式設計的人入行,我們開發的網上學習平台Tecky Code更是對公眾免費開放。其他行業之入行者亦會將自己本行知識帶到程式設計行業,令程式設計在發展更兼收並蓄,更造就了現在開源軟件百花齊放的狀況。

tecky_code.png

Source

開放行業固然有好處,亦當然有其壞處,從事程式設計的人,必須要時刻預備好與全球競爭的準備,因為沒有任何「公會」可以保障薪酬不會因競爭而下降。所以此行從業者皆有「終身學習」的心態,要保持自己的競爭力,最佳的方法,莫過於保持自己之技術、經驗優勢。有經驗技術的軟件工程師在世界各地都很受僱主歡迎,即使行業開放,亦無須擔心。

程式設計本質上容許遙距工作

2020年疫情襲來,令各行各業的工作方式大變,由原本的每天在辦公室上班,改為在家遙距工作。開發者的工作則沒有受太大影響,因為軟件開發之日常工作流程,早已與遙距工作相容。試想像一個從事軟件開發的程式設計師,以下的流程是他的日常:

  1. 從雲端的Gitlab同步程式碼,與其他地方軟件工程師在Gitlab上討論issues
  2. 在本機在IDE或Text Editor進行開發
  3. 將完成的程式碼與雲端的Gitlab同步
  4. 將整個程式部署至雲端的AWS
  5. 與其他在世界各地的同事在Slack上討論
  6. 重覆1)

就算閣下本身不是這一行,應該都可以看到整個流程之中,其實除了2)之外,基本上所有步驟都是在雲端上完成。所以對開發者而言,在家工作與在辦公室工作,其實無差。正因程式設計本質上就是遙距工作(Remote Working),因此有許多自由工作者(Freelancer),都是本人身在外地,再接本地或其他地方的工作,這就是所謂*數碼牧民(Digital Nomad)*之由來。程式設計這個工作,就打破了地域限制:你可以身在泰國,卻為一間香港公司工作。數碼牧民生活自由,可以一面周遊列國,一面工作,正是因為軟件開發與遙距工作,非常契合。

digital_nomad.jpg

Source

大家應該經常聽聞軟件開發常有外判(Outsource)至其他國家的現象,亦正正因為此獨特的工作方式所致。

程式設計是高增值而有創造性之工作

程式設計人才固然在世界各地供不應求,但僅僅供不應求,不一定會令一個行業受世界各地青徠,程式設計更是一個高增值(High value-added)產業,其中也有大量創造性之元素(Creative Elements),開發者在世界各地之所以收入較佳,正是因為軟件本身能夠產出非常高的經濟價值,初創企業之所以每每以手機程式(Mobile Application)或網站應用(Web Application)提供其服務,亦正因此原因。至於軟件開發的價值有多高,相信不用筆者多言,在2021年2月本文寫成的時候,以下是全世界十大市值(Market Capitalization)最高的公司:

market_capitalization.png

Screenshot from companiesmarketcap.com

除了Saudi Aramco是間石油公司、Tesla是電動車公司、TSMC是半導體公司之外,其餘七間清一色是以開發軟件為主要業務(蘋果公司主要收入來自於硬件)。 美國著名企業家、軟件工程師Marc Andreessen,曾講過一句名言:

Software is eating the world

在2021年的今日,實在是一語中的。

除了金錢上的價值以外,軟件開發更提供了一個非常好的媒介,供人去創其所想。著名遊戲平台Steam上面就有一個名為Indie game的分類,所謂indie game就是由獨立開發者開發的遊戲,這些遊戲在投資成本上由於不及其他AAA級遊戲,在設計上有時反而更有驚喜。正是軟件開發的技能,令這些獨立開發者, 有能力去開發自己心中的宇宙。

indie_game.png

Screenshot from Steam

總結

筆者上網時,常常看到不少會引用一句不知何處出處的名言:

Programming is the new literacy

指的是程式設計能力在未來世界,將如基本讀書識字能力一樣不可或缺。筆者覺得這個講法當然有誇大的成份,但在這個科技快速變化的世代,擁有編程能力,確是愈來愈重要。 不論你是想移民外地、著地後卻又苦無其他技能; 或是想周遊列國、想要一份遙距工作; 或是你有一些遊戲構想、希望以電腦實現。編程能力皆是你所需之技能了。

Comments

Read More

如何成為 Programmer (一):業界景況

如何成為 Programmer (一):業界景況

如何成為 Programmer (一):業界景況
Alex Lau
2018-10-23

問如何成為 Programmer 之前,首先要問,到底為何要成為 Programmer 呢?IT 狗有前途嗎?真的是 HONGKONGNOIT 嗎?


如何成為 Programmer (二):其實入行不難

如何成為 Programmer (二):其實入行不難

如何成為 Programmer (二):其實入行不難
Alex Lau
2018-11-02

續上一篇講及 Programmer 前景不錯之後,可能你也心思思想投身這個行業,但倘若你本來不是 CS Degree 畢業,也不是理科生,你還以為 Programmer 或 Coding 都與你無緣了。不過,根據很多的調查發現,原來這種種背景都絕對不是問題!


如何成為 Programmer (三):學習資源

如何成為 Programmer (三):學習資源

如何成為 Programmer (三):學習資源
Alex Lau
2018-11-06

線上和線下資源眾多,如果想成為 Programmer,應該如何選擇呢?


如何成為 Programmer (四):適合新手的語言

如何成為 Programmer (四):適合新手的語言

如何成為 Programmer (四):適合新手的語言
Alex Lau
2018-11-14

初學者剛接觸 Programming 時,經常都遇到一個難題「應該學哪一種程式語言?」這個問題,在十個網站,都會有十個不同的答案,而且不同年代也有不同的答案!


如何成為 Programmer (五):想編寫遊戲

如何成為 Programmer (五):想編寫遊戲

如何成為 Programmer (五):想編寫遊戲
Alex Lau
2018-11-20

上一篇提及選擇學習不同程式語言的考慮因素,而最重要的是取決於你學習的終極目標。如果可以一邊學習,一邊練習編寫和你興趣或想法相關的程式,必定是最有效的學習方法。 以下幾篇,我會以數種常見的學習目標為分類,介紹不同的入門語言給大家參考!


軟件工程師成長手冊

軟件工程師成長手冊

軟件工程師成長手冊
Gordon Lau
2019-04-29

筆者經常都强調軟件工程師有高下之分,不論技術或是解難能力都可以隨時日改善,亦曾大力鞭撻專家級初學者的無知,對軟件開發造成破壞。 初出茅蘆的軟件工程師及編程初學者想要改善自己技術,在茁壯成長的話,對自己技術層面有一個準確評價是至關重要,以免墮入「識少少,扮代表」的認知偏差。


學寫程式為何甚艱難?

學寫程式為何甚艱難?

學寫程式為何甚艱難?
Gordon Lau
2019-06-13

如果你想學寫程式,在網上搜尋一下,不難找到不少「輕鬆學習XXX」、「YY天輕鬆學會Python」的教材及影片;去電腦書店逛一圈,很容易就可以找到「七天學會Java」等的書籍,這些教材其實都在推廣一個信念,也就是: 學寫程式很簡單,人人都可以學會。 筆者對此信念後半部深表認同,但是對前半部所謂「學寫程式很簡單」,卻真是不敢苟同。


學好手勢 == 學好Coding

學好手勢 == 學好Coding

學好手勢 == 學好Coding
Gordon Lau
2019-08-21

編程老手與編程新手在工作時,不論效率、思維方向、甚至打字速度都截然不同,不過在學習編程的道路上,有一個方面常被忽略,就是編程手勢(Coding Practice),有豐富實戰經驗的工程師,通常培養了良好的編程手勢,工作時,自然錯誤較少,也因為除錯得少,省略了不少寶貴的時間,整體結果也蔚然不同。


學寫Code失敗之四大原因

學寫Code失敗之四大原因

學寫Code失敗之四大原因
Gordon Lau
2020-03-21

不知不覺間,筆者從事編程教育已踏入第三個半的年頭:在這段時間之中,見證了二百多位同學由編程初哥開始,經過十多星期的努力、挫折、合作,最終成為專業的程式設計師。當然,在這段時間之中,筆者亦見證了一些學寫Code失敗的情況,固然每個人的天份才能有所不同,有些同學的思考方式天生就與編程較為契合,有些同學則要花九牛二虎之力,才能成為一個專業的程式設計師。 因此,筆者由數年的觀察所得,發現學寫Code失敗的同學皆有一些共通點,因此希望在此分享,如果你有意踏入資訊科技一行,或是想報讀我們Tecky的課程,不妨留意一下自己編程有否這些自己不察覺的問題啊!


要數學好,寫Code先會好?

要數學好,寫Code先會好?

要數學好,寫Code先會好?
Gordon Lau
2020-07-17

有一個非常常見的問題,筆者不論在日常教學工作,或是宣傳活動之中,都經常被問到。這個問題就是:「我的數學不好,可以學習寫程式嗎?」一開始筆者都不以為然,以為只是大眾對程式設計師眾多誤解中的其中一個,後來被多問幾次後,發覺為數不少的行外人,都認為寫程式的人,數學必然非常優異:反之,數學不濟的人,則絕無可能成為軟件工程師。 這個印象乍看之下,好像有點道理,平常遇見的軟件工程師之中,很多都是中學時理科班出身,大學學位即使不是電腦科學(Computer Science),也會是其他工程系(Engineering),或是其他純科學系(Pure Science),甚少會遇見出身文學(Art)相關學系的工程師。這不是正正就是證明了這個數學好,寫程式才會好的現象嗎? 筆者我本身也是一個類似例子,我本身在大學是主修物理、副修電腦科學,物理系本身是數學系以外*最多數學計算*的學系,這看來也與這個現象完全符合啊!


Privacy PolicySite Map

© 2022 Tecky Academy Limited

hello@tecky.io
t.me/TeckyAcademy+852 9725 6400
Caring Company 2019-2022
TQUK Approved Centre
aws_partner
Reimagine Education Challenge Award