哪一個國家擁有世界上最棒的工程師?如果這句話的「工程師」是單數,指的是某一個特定的人選,這個問題可能沒有準確的答案。不過,如果此處的「工程師」是複數,講的是哪個國家擁有最多、最好、最棒的工程師,那這個問題的答案就十分有趣了。
你心目中的答案會是哪一個國家?是許多程式語言的發源地,擁有眾多巨擘工程師,如 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, HackerRank)
(本文經科技報橘授權刊載,未經授權不得轉載)
專欄介紹: