作者 Nick 是台灣長大的囡仔,畢業後在矽谷工作,至今軟體經驗超過二十年。Nick 在十四歲時自學程式設計,當中遇到很多問題與困難點,因此非常了解初學者的痛點,在此與大家分享學習程式語言的訣竅與方法。
是不是常常聽說軟體工程師的工作是以下的情況?
- 薪水很一般,甚至連 22K 也有,最多大約 30K-50K
- 碼農:就像農夫一樣拼命寫 code
- 不可能準時下班,常常加班到八九點甚至更晚
- 很容易爆肝,因為上班時間太長
先搞懂什麼是十倍人才差異
探討軟體工程師的薪水以前,有一個很重要的觀念要先了解,這個觀念就是:兩個軟體人才的產出可以差異到十倍以上。李開復在「我的人才觀」裡面就明確地提到此論點:
「在工業社會中,一個最好、最有效率的人工,或許比一個一班工人能夠多生產 20%-30% 的產品。但是,在資訊社會中,一個最好的軟體研發人員,能比一個一般人員多做出 500%、甚至 1000% 的工作。」
為什麼這很重要呢?因為在大多數的產業以及職位上,兩個人的產出往往不會差異到十倍以上,往往只有 20%-30%,最多也只有一兩倍而已,所以很多人會用同樣的標準去檢視軟體工程師。
像是在國外,為什麼像蘋果、臉書科技公司都要找頂尖的工程師,因為他們深知軟體工程師差異十倍以上的道理。表面上你以為這些公司付了比較多薪水,但是如果用性價比來看,他們這樣做才真正賺到了。舉例來說 A 是一般人才,要求 4 萬的薪水,而 B 是頂尖人才,要求 10 萬的薪水。表面上你必須多付 2.5 倍薪水給 B,但是 B 的產出卻是 A 的五倍,如果你是老闆,你覺得請 A 好還是請 B 好?
常常說軟體工程師是低薪又爆肝的,絕對是從不懂這個道理的人口中說出,加上台灣很多並不是軟體公司,大多數台灣的科技公司不過是硬體公司,他們並不懂軟體,本業也不是靠軟體賺錢,往往就是做一些韌體或者內部測試用工具。而且許多公司文化都是硬體工廠思維,用軍事化管理在管軟體工程師,以為時間與產出成絕對的線性關係,並不知道軟體工程師的差異性有那麼大,總是想透過拉長時間與增加壓力就可以讓菜鳥工程師做出頂尖工程師水準的產出。
另外,還要看你所學的軟體領域也會有影響,如果只會做一些簡單的軟體,例如靜態的網頁或者很簡單的控制程式,這薪水不會高的。還有公司如果是做外包業務,對你的擠壓就等同於增加公司的獲利,碼農這個名詞就是這種外包公司下的產物。
50K-100K 薪水的工作是探囊取物
還有一種可能,就是自己太弱了而不自知。軟體行業的人才差異性這麼大,自然薪資待遇差距也就會大。差異不大的工作,例如小七店員,薪資範圍可能是在 22K-30K,但是軟體工程師的差距卻可以從 22K 到 100K 以上的差距。你如果看到有些人好像很輕鬆又領著高薪,除非他有特別關係或者是政府的肥貓公司,私人企業也不是那麼白癡或者錢太多要這樣付他高薪。所以一定要收起抱怨,好好觀察差異性在哪,多做一些 side project 增加自己實力。由於軟體功力的差異性以及產出不容易精準地量化,所以一個人的軟體才能無法準確用數字判斷,造成每個人的判斷可能不同,有時甚至有誤。如果你真的覺得你的實力沒有被公司看見或者公司判斷錯誤,那就拜託你換個公司,軟體工程師其實真的很缺。如果你找不到好公司,是不是有可能還是自己能力不足而不自知。所謂「旁觀者清、當局者迷」,有時可以問問比較客觀的朋友或者老師的意見。
如果你只是初學者而且不去精進軟體技術,你就會一直在薪水三、四萬這邊打滾,還一直抱怨加班加不停。不過,由於台灣這幾年面臨轉型危機,出現越來越多新創公司,因此對於軟體工程師的需求越來越多,例如 AppWorks 的徵才幾乎都無法找滿,而且薪水也都很不錯。如果你能增強軟體能力達到這些需求,50K-100K 的軟體工作真的是探囊取物。台灣雖號稱科技之島卻找不到軟體工程師(因為過去是硬體導向),目前呈現粥多僧少的現象可以好好利用,最後這裡附上「快速上手」三小時程式語言課程(三選一),可以透過我們合作夥伴聯成電腦的獨家優點來提升自己的軟體能力:
- 深耕教育超過 25 餘年,推動國人的電腦專業不遺餘力,培育上萬人進入電腦軟體產業。
- 首創 168 安心學習服務,透過符合政府評核的一貫式教學,讓學習與就業緊密結合,每個學習的環節都有意義。
- 超過十個就業機會、全國徵才見面會、大型廠商聯合徵才讓結訓學員挑選。
因此如果你對軟體有興趣或者想要成為科技搶手人才,只要填寫以下表格就可以獲得「快速上手」三小時程式語言課程:C#(Unity 遊戲製作)、 Java(安卓 Android 平台)或者 Python(應用廣泛),這些都是學習軟體很好的出發點,並可以了解自己對程式語言的接受度,為自己的未來規劃,每人限填一份喔: