有學生問我:「老師,我對程式雖然不討厭,但也沒有很高的熱情,適合念資訊相關科系嗎?」。我的觀點是,如果你對某個領域有很高的熱情,當然就優先去念,如果都沒有的話,資訊相關科系是最好的選擇。
其實,資訊相關科系的畢業生,95%都「不會」以寫程式為其「主要工作」。「全職寫程式」的工作不多是有道理的,因為程式只要寫一次,就可以供給幾億人使用,複製成本趨近於零。不像譬如餐飲業,所需員工的數量與客人的數量成線性關係,多幾倍的客人就得聘多幾倍的員工。但一個軟體平台譬如Google搜尋,給一億人用跟給十億人用,背後的程式設計師增加的並不多。
也就是說,市面上熱門的軟體,其實是由相對很少數,極度頂尖的程式設計師寫出來的。那麼資訊相關科系的畢業生如果只有少數去寫程式,大多去幹嘛了呢?我會說是「資訊應用」。
我所謂的「資訊應用」,可以比較簡單理解成,將頂尖工程師設計出來的標準化產品,落地到多變的實際場域去。舉例來說,一般公司運作要用到的資訊產品,譬如說電腦、網路、軟體平台(差勤系統、會計系統...等),多是買現成廠商的產品,但要讓現成產品運作無誤並不容易,需要一個專業的資訊人員去安裝、設定、維護、客製化。可以說,一個標準化的產品,或許產品自身就可以應付95%的需求,但各應用場域的差異性,就需要資訊相關科系的畢業生去處理。而應用場域多不勝數,所以資訊相關的職缺總是大量的缺人。
資訊系的課程內容,有很大部分是Domain Knowledge,譬如資訊安全、網路通訊、高速運算、人工智慧等等。而我前述說到的「資訊應用」,就要用到這些Domain Knowledge。譬如說防火牆、防毒軟體都是成熟產品了,但並不是誰拿去了都能確保企業不受駭客入侵,資訊系的價值可以在這邊發揮出來。
但我的意思並不是說,完全不會寫程式也無所謂,我說的是大多不會以寫程式為其「主要工作」,但是有很大的機會是,要用到一點寫程式的能力,譬如我自己設計系統,經常用95%的現成軟體,然後自己寫程式去補足那5%缺乏的部分。我的工時大部分花在設計系統,這用到大量Domain Knowledge,只有少部分時間在寫程式。但如果不是我有寫程式的能力,也沒辦法建構一個完整的系統。舉個例子來說,為了提升程式學習成效,我們開發一個「code1程式練習系統」,能夠在同學解題的過程中給予幫助。這個系統是以open source軟體為基礎,整個任務理面,很大比例要用到程式之外的能力。
「95% Domain Knowledge + 5%寫程式」,是大部分資訊系學生做的工作,待遇也相當不錯。
以現代的社會,資訊應用是無所不在的,科技、醫療、金融、工程、教育、商務、餐飲、農漁牧...,沒有任何一個場域不使用電腦、網路、手機。在未來的AI時代,資訊系的職缺只會更多不會更少(參閱【工程師會被AI取代? 資工系還能念嗎?】),可以說,資訊相關科系是前景最好的工作。
歡迎加入高中生學程式FB社團、以及愷哥電腦科普頻道,跟我一起學程式、學人生。【愷哥程式APCS班】熱烈招生中喔!