使用哪一種程式語言的工程師平均收入最高?

評論
評論

the_social_network
電影「社群網戰」劇照

本文翻譯自 bpodgursky 的文章 〈 Average Income per Programming Language 〉,透過數據分析討論 GitHub 上使用各種程式語言的工程師平均收入概況。本文只能作為一種參考,作者詳細說明了統計方面的種種限制以及可能出現的偏誤。

幾個星期前,我在部落格中描述我如何使用 Git 的 metadata 和 RapLeaf 的 API 來建立 GitHub 上各種組織的人口統計概況(部落格文章 點這裡 ,每個組織的資料點 這裡)。

我也曾嘗試用不同方法截取資料,得出針對每種程式語言(而非組織)的人口統計概況。有關使用不同程式語言開發者的刻板印象比比皆是,我很好奇它們如何與現實掛鉤。從每個程式語言使用族群的基本資訊如年齡、收入、性別開始分析,根據我手上既有的資料,要做到這一點並不困難:

  • 我採用 GitHub 對每個 repostory 程式語言組成情況的估算。例如,GitHub 估計某個專案使用了 75% 的 Java 語言;
  • 我從中得知每個專案中使用比例超過 50% 的是什麼程式語言,某個專案中使用此一主要語言的開發人員是誰,並把他們的收入加總;
  • 我進而篩選出收入資料點(data point)大於 100 的程式語言。

以下便是收入情況的統計,根據家庭平均收入由低到高排列:

average-income-per-programming-language-1

同樣的資料以圖表的形式呈現如下:

average-income-per-programming-language-2

大部分的排行結果大致符合我的預期:

  • Haskell 是種非常偏學術的語言,因此在收入方面並不可觀;
  • PHP 是種較容易掌握的語言,方便非專業的或是初級工程師使用,也因此收入相對不高;
  • Java 和 ActionScript 已收入來看則被認為是高級的語言,多用於企業軟體的開發,因此收入頗豐。

另一方面,我不太了解圖表兩端的某些語言,例如 XSLT、Puppet 跟 CoffeeScript,也不清楚造成它們排名高低的原因。

不過在我們下出過多結論前,必須明白這些資料的限制:

  • 這些專案是開源的,無法適用於閉源(closed-source)程式開發人員的報酬;
  • Rapleaf 資料不涉及總收入資訊,樣本可能因此有所偏差;
  • 我忽略了年齡、性別等因素對造成資料分配偏態的可能性;
  • 我沒有分析所有的 GitHub repostory,作為樣本的使用者資料可能不具代表性。

這樣說吧,即使在絕對數字上有所偏差,這仍然是比較不同程式語言間相對收入差別的一個開始。

bpodgursky 這篇文章在 Hacker News 跟 Reditt 上都引發不小的迴響,因此他又寫了一篇文章 〈 Updates to language vs income breakdown post 〉 補充更多統計相關的資訊。

相關文章

評論