500px-Opera_Mundi_2

哪一個國家擁有世界上最棒的工程師?

如果這句話的「工程師」是單數,指的是某一個特定的人選,這個問題可能沒有準確的答案。不過,如果此處的「工程師」是複數,講的是哪個國家擁有最多、最好、最棒的工程師,那這個問題的答案就十分有趣了。

你心目中的答案會是哪一個國家?

是許多程式語言的發源地,擁有眾多巨擘工程師,如 Bill Gates、Ken Thompson、Dennis Ritchie 與 Donald Knuth 的美國,還是以數學聞名,潛力十足的印度,或是盛產許多駭客的俄羅斯?還是你要把這票投給自己鍾愛的台灣?

也許每個人心目中都有自己的答案,不過有沒有一個測量的方法,可以用來量化每個國家的「程式實力」呢?

  • HackerRank 工程師的線上題庫

HackerRank 是一個專屬於工程師的網站,提供了許多「練習題」,你可以純粹用來練習自己的 coding 技巧,也可以藉著完成越來越多的題目,展現自己的實力來找到一份工作。

有超過 150 萬名使用者在 HackerRank「刷題」,共有 15 種領域的題目可供測驗,包含不限定程式語言的資料結構,或是 C++、Java 等。其中演算法的測驗人數遠遠超過其他種類。也許是因為演算法為許多工程師面試時會遭遇到的考題,讓工程師們不斷地在線上「刷題」,最後一名則為資安領域的題目。

而 HackerRank 就利用了其龐大的資料庫來進行統計,當然答題的精準度與時間也計算在其中,基於這份龐大的資料庫內容,到底哪一個國家的工程師得分最多呢?

  • 哪一個國家擁有最棒的工程師?

總結來說,前 4 名分別是,中國、俄羅斯、波蘭與瑞士,自此之後有較大的分數差距,第 5 名開始則是匈牙利、日本,台灣則在第 7 名的位置。

美國則較意外的處於第 28 名,而前言提到的印度則在第 31 名。

  • 各領域的領頭羊分別是?

在 15 個不同領域中,每個國家擅長的都不一樣,最廣泛的演算法由俄羅斯拔得頭籌,數學、資料結構與函數語言中國都拿到首位。

台灣則可以在演算法與資料結構中擠上前 5 名。

  • 那大家都用什麼程式語言呢?

普遍來說 Java 占了各個國家滿大一分的比例,不過有幾個例外,像是馬來西亞與巴基斯坦特愛 C++,而台灣人史上最愛 python。

  • 永不放棄也是一種美德

最後則是哪個國家從不輕言放棄,這個獎項頒給了瑞士,瑞士擁有了最多堅忍不拔的工程師,台灣在這份排名中排行第 12 名。而綜合能力第 1 名的中國,則排在第 24 名的位置。

  • 總結

也許這份資料有許多漏洞存在,像是印度許多學校強迫學生必須擁有 HackerRank 的帳號,加大了印度在 HackerRank 中的使用者基數,對這份統計表來說卻不一定是正向的數字增加。又或者美國的工程師們也許不需要「刷題」即可找到工作。

總結來說,如果此刻此分此秒舉辦了工程師的奧林匹克大賽,中國將會獲得金牌,俄羅斯將帶著銀牌回家,波蘭則獲得銅牌。

而美國與印度,甚至台灣?則還有得努力。

參考資料來源》
HackerRank: Which Country Would Win in the Programming Olympics?
圖片來源:Wiki, CC Licensed

──

  • 延伸閱讀

Airbnb 資深工程師分享:怎樣才是正確、有效的 code review
這家身價 900 億的公司每天開會只花 10 分鐘,讓工程師專注工作 6 點快樂下班
【雲端入門】如何選購雲端套組最符合效益?簡單企業健檢這麼做!