軟體工程師有年齡、學歷、背景限制嗎?
相信每個人對於未來都會感到迷茫,尤其是想切換到另一個跑道更是如此,所以對於軟體工程師來說,會想知道的不外乎「這個行業是否可以長期做下去」、「入門會不會有很多限制」、「我現在加入會不會太晚」等等的問題。
而本篇將從相對客觀的數據來分析,整體大環境下的開發者構成,認識一下這個領域的人們組成為何。
數據來源
本文分析的報告來自於 Stack Overflow ,Stack Overflow 是針對程式設計領域的問答網站,是目前全球最主流的該領域網站,每年 Stack Overflow 也都會針對開發者來進行調查,本篇文章將會針對 2021 年的數據來進行分析及分享想法。
不過請特別注意,本調查的數據數量約 83,000 份,來源大多來自於 “白人”(58%) 及 “男性”(91%) 為主,雖然調查並沒有特別著重於特定區域、性別及人種,但這可能會與台灣現狀不符合,讀者可依據數據判斷是否接受此資訊。
用戶背景
這份報告的涵蓋年齡層相當廣,雖然程式語言已經出現相當久,但也是近二十年左右才越來越多人投入,而這份調查報告的年齡層涵蓋未滿 18 直至超過 65 歲皆有相關的數據(其實就是 Stack Overflow 的整體用戶分析),而主要的年齡層落在 25 至 34 歲之間,其次則是 18 ~ 24 歲及 35 ~ 44 歲之間。
年齡 | 數量 | 百分比 |
---|---|---|
未滿 18 歲 | 5,373 | 6.52 |
18 ~ 24 歲 | 20,993 | 25.47 |
25 ~ 34 歲 | 32,568 | 39.52 |
35 ~ 44 歲 | 15,183 | 18.42 |
45 ~ 54 歲 | 5,472 | 6.64 |
55 ~ 64 歲 | 1,819 | 2.21 |
65 歲以上 | 421 | 0.51 |
未提供 | 575 | 0.7 |
而上述的八萬多人以外,其中的約 70% 左右是專業的開發者或從事軟體開發工作的人員,就比例上來說年齡層稍微往上,更偏向 25 ~ 44 歲之間;所以整體 Stack Overflow 的用戶群涵蓋了許多「正在學習階段」的開發者,還不是真正投入開發工作的人員。
年齡 | 數量 | 百分比 | 所有回應的百分比 |
---|---|---|---|
未滿 18 歲 | 322 | 0.56 | 6.52 |
18 ~ 24 歲 | 10,987 | 19.08 | 25.47 |
25 ~ 34 歲 | 27,874 | 48.42 | 39.52 |
35 ~ 44 歲 | 12,497 | 21.71 | 18.42 |
45 ~ 54 歲 | 4,210 | 7.31 | 6.64 |
55 ~ 64 歲 | 1,294 | 2.25 | 2.21 |
65 歲以上 | 201 | 0.35 | 0.51 |
未提供 | 188 | 0.33 | 0.7 |
學歷以及如何學程式
這段相信對於許多人感興趣,大部分非本科想投入軟體開發領域來說,都會質疑:
- 非本科真的能投入軟體開發嗎?
- 如果不從學校學習,大家是用什麼資源學習呢?
在此列出「所有受訪者」自學程式的方式,就數據上來說可以看到絕大部分學習都來自於各類線上資源(如:影音、Blog,而且是偏免費的類型);其次則是 “學校” 佔超過 50% 的人填寫,或許看到這邊,會認為寫程式與學校教育有一定的關聯性,但請繼續往下看。
數量 | 百分比 | |
---|---|---|
線上資源(影音、Blog 等等) | 49,392 | 59.53 |
學校 | 44,462 | 53.59 |
書籍/實體資源 | 42,752 | 51.53 |
線上課程 | 33,511 | 40.39 |
線上論壇 | 26,229 | 31.62 |
朋友或家人 | 15,162 | 18.28 |
同事 | 14,225 | 17.15 |
程式訓練營 | 8,496 | 10.24 |
此圖則是按照各年齡層來區分不同的學習方式,在此可以得到完全不同的結果,
- 所有年齡層從學校學習程式約佔 20%,但依據年齡逐年縮小佔比,更多人是採用不同類型的方式自學程式。
- 線上資源趨向主流,25 - 34 歲學習程式有近 50% 以上來自於各類線上資源。
- 從線上課程或認證資源學習逐年增長,有接近學校教育的趨勢。
這張圖其實說明了許多開發者學習程式並不完全是來自於學校、學院的教育,從年輕的一倍可以看出有越來愈多的人是透過自學的方式轉職為前端工程師。
當然,除了透過自學的形式以外,數據中也說明學習程式並非只有透過單一媒介,任何只要可以幫助成長都是一個好資源,如:線上影音、書籍、論壇等等,這類型的媒介易於取得,但也相對沒有任何強制力,並不會有人壓著工程師去看 Youtube、也不會有人強迫考試,這個心態是完全自發性的,只有持續學習才能不斷精進,而且是大多數的工程師認為這麼做是必要的。
所以具備要求自我保持學習心態對於軟體工程師是必要的,如果你對於此領域有興趣,但不打算精進自己、試圖尋找合適的學習資源、尋求如何突破當前現狀,會建議提早放棄軟體工程師這條路。
寫程式可以寫一輩子嗎?
如果願意學習、願意精進自己,寫程式可以寫多久呢?
許多人轉職成為軟體工程師其實並非出自於興趣,而是發現自己的產業已經進入了夕陽階段,因此會希望接下來轉職的產業不要像前一個產業一樣落入夕陽。
在以下的數據中,列出了「寫程式的經歷有多長」,其中主要的年資是落在 1 ~ 9 年之間,原因如下:
- 軟體工程師在這幾年越來越多新血加入(15 年內的時間)
- 並非所有人適合軟體工程師,可能在蜜月期結束後就離開(在大學期間上完課發現志向不在此,因此約四年期間)
數量 | 百分比 | |
---|---|---|
不到一年 | 1,489 | 1.82 |
1 ~ 4 年 | 14,535 | 17.8 |
5 ~ 9 年 | 24,418 | 29.91 |
10 ~ 14 年 | 15,428 | 18.9 |
15 ~ 19 年 | 8,492 | 10.4 |
20 ~ 24 年 | 6,673 | 8.17 |
25 ~ 29 年 | 3,661 | 4.48 |
30 ~ 34 年 | 2,787 | 3.41 |
35 ~ 39 年 | 2,166 | 2.65 |
40 ~ 44 年 | 1,426 | 1.75 |
45 ~ 49 年 | 338 | 0.41 |
50 年以上 | 228 | 0.28 |
撇除 15 年內的軟體開發者,那麼還會有多少人願意寫程式超過 15 年呢?就上方數據累加後可以得到以下的結果:
- 寫程式超過 15 年以上:25,770 人佔 31.55%
- 寫程式超過 20 年以上:17,278 人佔 21.15%
- 寫程式超過 30 年以上:6,945 人佔 8.5%
就這數據來說,可以說明總體有 30% 人員寫程式經歷是超過 15 年的(如果在軟體開發者活動中,每 10 位就有 3 位開發者寫程式經歷超過 15 年),這是一個相對高的比例說明有許多人願意長期留存於軟體開發環境中;而以台灣的大學畢業市場來說,有超過 5 成的人並非從事原本在校所學的科系(來源:遠見雜誌),更別說還要持續相同的知識領域 15 年以上。
至於寫程式可以寫多久當然是因人而異,且所學習的程式語言也不一定在未來是存在的,在前端領域中還常常流傳一句笑話「每 18 個月前端技術困難一倍」,也因為如此會被認為工程師就是要不斷的追技術(也沒錯啦);但反過來說也造就了軟體工程師會具備以下的特質:
- 很強的學習能力 → 需要不斷的學習新技術
- 很快的閱讀速度 → 需要閱讀各式的文件
- 很精準的搜尋能力 → 需要面對各種新的問題
這些技能能夠讓軟體工程師很快的切換到不同身份,並且面對不同的職位問題,也因為如此軟體工程師在各行各業中都能看到身影,如果你接下來對這個領域有興趣,不妨先看看自己所接觸的事物,有多少是跟 “軟體” 是有關係的呢?