科技愛好者週刊(第 159 期):遊戲開發者的年薪

阮一峰發表於2021-05-21

本雜誌開源(GitHub: ruanyf/weekly),歡迎提交 issue,投稿或推薦科技內容。

週刊討論區的帖子《誰在招人?》,提供大量程式設計師就業資訊,歡迎訪問或釋出工作/實習崗位。

封面圖

重慶市很多山地,地形複雜,產生了特有的奇觀:被高架道路團團圍住的樓盤。(via

本週話題:遊戲開發者的年薪

最近,推特上面有很多歐美的遊戲開發者,曬自己的薪水,使用 #GameDevPaidMe 這個標籤就能看到,從中可以瞭解國外程式設計師的收入。

下面是一個美國開發者的發言。

他有超過十年的開發經驗,年薪是20多萬美元。這還是在西雅圖,如果在灣區,工資可能還會再高一些。這跟我聽說的差不多,美國高階程式設計師的年薪,一般都會超過20萬美元(約130萬人民幣)。

我沒想到的是,歐洲程式設計師的年薪,比美國少非常多。

上面這個英國開發者,作為高階程式設計師,年薪居然才4萬英鎊(約36萬人民幣)。他入行時,更是少到1.5萬英鎊(約14萬人民幣)。歐洲其他國家的情況也差不多,年薪也就幾萬歐元,如果是東歐國家(比如波蘭),薪水就更低了。

這就是令我吃驚的地方, 西歐國家的人均 GDP 遠高於中國,但是程式設計師的收入居然與中國差不多,甚至還低於中國。

我敢說,國內高階遊戲開發者的年薪,肯定不止4萬英鎊(36萬人民幣)。我舉一個例子,去年有一條新聞,騰訊起訴了兩名90後前員工,他們都是遊戲開發,離職後違反了競業條款,加入了競爭對手。為了計算違約金,法院的判決書詳細列出了薪資水平。

按照上面列出的數字,工資 + 年終獎接近60萬人民幣。這比英國遊戲開發者的收入,高出了一大截。這個還只是騰訊的普通開發,算不上骨幹程式設計師。

結論就是,中國程式設計師的年薪已經不低了,雖然不如美國,但是一點不輸給歐洲,高階程式設計師的收入其實要比歐洲高得多。 如果人民幣以後升值,薪水差異就會更大。我在推特上說,如果以國內遊戲業的薪水去歐洲招人,可以招到非常好的程式設計師。網友在底下評論,人家的薪水是以每天工作8小時計算的,這也是事實。

以前我們總是說,中國的勞動力成本低,這種說法已經不成立了,現在歐洲程式設計師反而比國內更便宜。這樣的一個直接後果就是,外包行業在國內搞不下去了,軟體外包就是比誰的成本低,國內的外包行業已經在萎縮了,倒是收費高昂的軟體諮詢公司越來越多。

對於年輕程式設計師來說,這也是前所未有的挑戰。你的工資高了,但是面對的競爭也強了,你是跟全世界的優秀人才在競爭。如果國外程式設計師比你優秀,還比你便宜,那麼僱主可能不會選擇你,反正可以遠端開發。所以,大家要有世界眼光,不要滿足於跟周圍的人比,要以世界水平來要求自己。

深度剖析 React 原始碼

學習前端開發時,很多同學都有想法,想啃一啃框架的原始碼。

這是很好的想法。如果能看懂原始碼,用起來就會得心應手,個人能力也是很大提升。萬一還能向框架倉庫提交程式碼,成為貢獻者,那更是個人的榮耀和職業生涯的成就。

首當其衝的,就是 React 的原始碼。它是全世界最流行的前端框架,應用最廣,包含了很多重要概念(比如虛擬 DOM、hooks、fiber 等),多端適用,很有學習價值。

但是,React 原始碼量級實在是太大了(壓縮後接近 300KB),內部構成非常複雜。很多同學第一次開啟原始碼,就被"勸退"了,因為根本找不到程式碼入口。就算硬著頭皮讀下去,也是如墜雲霧之中。

就算這樣,考慮到下面幾點,我還是鼓勵大家啃一下 React 原始碼。(1)大廠面試會問到 React 原理,沒看過原始碼,很難深入理解。(2)讀原始碼能提升解決 bug 和效能最佳化能力。(3) React 框架本身是一個非常好的學習資料,可以學到怎麼寫出規範的和可維護的程式碼。(4)讀懂原始碼可以證明你的潛力。

本週的課程資料就是 《深度剖析 React 17 原始碼資料包》 ,由前京東資深前端工程師高少雲老師主講。這份資料從簡單的手寫 mini-react 入手,再到複雜的fiber、hooks,深入解讀 React 原始碼。

課程主要內容如下。希望能夠引導大家,真正入門 React 原始碼。

  • 第一課:《初步解讀 React 的工作原理》,講解虛擬 DOM 和 JSX 的原始碼實現。
  • 第二課:《Fiber 的背景與實現》,講解 Fiber 架構。
  • 第三課:《深入解讀 Hooks》:深度解讀 Hooks 原始碼。

現在只需要微信掃描下方二維碼,就可以 0 元 獲得《深度剖析React原始碼》資料包。有意掌握 React 的同學,不妨學學看。

科技動態

1、

一家美國 3D 列印公司推出了木纖維列印,可以 3D 列印出木製品。

2、

國家廣電總局釋出統計,我國網民日均刷影片約100分鐘。這個時長應該已經超過了刷網頁的時長。

3、

山東省和河南省簽訂《黃河生態保護協議》,規定從河南流入山東的黃河水,如果水質改善一個等級,山東給予河南6000萬元補償資金;如果惡化一個等級,河南給予山東6000萬元補償資金。

4、

美國政府正在考慮透過一項新法律,如果企業遭到勒索軟體攻擊,法律將禁止向勒索者支付贖金。政府希望讓勒索者無利可圖,從而停止攻擊。

5、

一位澳大利亞賽車手創下了氫動力汽車續航的世界紀錄,他使用一輛現代牌氫動力汽車,單次續航887.5公里,共消耗了6.27公斤的氫氣。

6、

巴勒斯坦和以色列最近爆發軍事衝突,下面是一張5月14日凌晨的照片。右側是巴勒斯坦發射的火箭彈,左側是以色列"鐵穹"( Iron Dome)防禦系統發射的攔截導彈,兩方對射,看上去非常壯觀。

7、

北京大興建成全球最大的加氫站,日加氫量可達4.8噸,共有8臺加氫機、16把加氫槍。一輛總重4.5噸的氫燃料電池貨車,只需加氫3分鐘,就能續航350公里。氫能每公斤30元,與傳統貨車的加油成本基本相當。

8、32位股價不夠用

美國最貴的股票,目前是巴菲特的伯克希爾·哈撒韋公司 ,過去一年股價不斷上漲,已經達到了421,000美元一股。

這給納斯達克股票市場造成了麻煩,因為交易所使用32位格式儲存股價,能夠記錄的最大值是2^32 - 1(4,294,967,295)。其中,留出4位作為小數,所以能夠記錄的最高股價為429,496.7295美元。只要伯克希爾·哈撒韋公司再上漲2%,就會超出這個最高價。

納斯達克市場已經暫停了伯克希爾·哈撒韋公司的報價,開始升級系統。巴菲特曾經被問到,為什麼不像大多數公司一樣拆分股票,讓股價變得便宜。他回答,這樣會吸引來很多不老練的短期投資者,他們根本不知道自己在做什麼,所以不會拆分股票。

文章

1、鴿子在我家視窗孵蛋(中文)

一對鴿子在陽臺的空花盆築了個簡易巢,然後在裡面下了兩隻蛋,並且孵了起來。作者觀察了半個月,終於看到小鳥孵出來了。

2、如何生成不規則邊框的背景圖(英文)

本文介紹為一個網頁元素新增不規則背景圖(上圖)的幾種方法。

3、Git 的 squash 合併(英文)

Git 分支進行合併時,有多種合併方式:直進合併、非直進合併、遞迴合併和 squash 合併。最後一種 squash 合併,指的是把待合併的節點彙總成為一個新的提交。本文介紹這種合併方式。

4、JavaScript 模組的程式碼重複性(英文)

作者做了一個實驗,他新建了一個 Angular 的標準專案,分析 node_modules 目錄裡面安裝的所有模組,對指令碼檔案的每一個函式計算雜湊值,結果發現61%的函式是重複的,莫非大家都是從 StackOverflow 複製程式碼。

5、Rust 的不知名貢獻者(英文)

我們都知道,很多語言的創始人、主要貢獻者是誰。但是,Rust 語言的主要貢獻者是誰,大家卻說不出來。本文介紹 Rust 語言背後的貢獻者。

6、微小變化帶來的大收益(英文)

作者講了幾個案例,都是網站細節的微小改進,帶來使用者體驗的巨大改進,比如 GitHub 的 favicon 顯示構建結果(上圖)。

7、使用 Go 語言學習蒙特卡洛模擬(英文)

本文采用 Go 語言,使用各種小例子,講解什麼是蒙特卡洛模擬。

8、走進半導體巨頭(英文)

美國 CBS 電視網的著名新聞節目《60分鐘》,最近播出了一期半導體特輯,訪問英特爾和臺積電的 CEO,報導晶片為什麼會出現短缺。這是節目的文字稿。

9、JavaScript 的延遲載入屬性模式(英文)

如果一個物件的屬性值需要非常昂貴的計算,我們可能希望,只有用到這個屬性時,才對它求值。本文討論這在 JavaScript 裡面應該怎麼實現,作者是著名的尼古拉斯·扎卡斯(Nicholas C.Zakas)。

工具

1、Scheme flood

大家用桌面瀏覽器訪問這個網站,會列出你的電腦安裝了什麼應用(上圖)。這樣做的目的,是生成一個使用者指紋,從而追蹤使用者,作者寫了一篇詳細的文章,解釋這是怎麼實現的。(@jwenjian 投稿)

2、Chanify

一個開源的 iOS 裝置訊息推送工具,分為伺服器和 iOS App 兩個部分。安裝以後,可以將文字/圖片/檔案等各種訊息推送到 iOS 裝置。(@wizjin 投稿)

3、osmos::feed

一個透過 GitHub Actions 自動更新的 RSS 閱讀器,每次更新後會釋出成 GitHub Pages 的靜態網頁。(@chuanqisun 投稿)

4、APK 線上分析

一個線上工具,用來分析、修改 APK 檔案(安卓應用安裝包),以及提取 APK 圖示。(@codemofa 投稿)

5、Come Browse With Me

這個線上工具透過 WebRTC,可以將你的瀏覽器視窗分享給他人,也就是說,別人可以看到你在頁面上的一舉一動。

6、readme.so

一個 Web 工具,透過拖拉自動生成程式碼倉庫的 README 檔案。

7、FicusJS

一個輕量級的 Web Components 開發框架,用於快速開發 Web Components 元件。

8、github-elements

這個倉庫收集了 GitHub 釋出的官方 Web Components 元件,目前有17個,都是 GitHub 官網實際在使用的專案。

9、一紙簡歷

使用 Markdown 編寫簡歷的線上工具,支援模板與實時預覽,可以匯出為 PDF 檔案。(@shfshanyue 投稿)

10、木及簡歷

編寫簡歷的線上工具,與上一個軟體類似,有多個模板可選擇,原始碼見 GitHub。(@hua1995116 投稿)

資源

1、FFmpeg 操作備忘

這個網頁收集了 FFmpeg 一些常見操作的命令列寫法。

2、業餘編譯器作者的學習資源

該網頁收集各種編譯器相關的自學資源。

3、JavaScript 資料科學教程

一本英文的 JavaScript 教程,免費閱讀。從零基礎的語法開始講起,為資料研究人員提供必要的 JavaScript 知識。

4、IPv6 測試聚合站

一個專門收集各種 IPv6 網路測試服務的網站。(@TulvL 投稿)

5、Starlink 地面站分佈圖

Starlink 的衛星上網,目前需要有地面站。網友在谷歌地圖上建了一個圖層,標出現階段所有的地面站位置。亞洲一個都沒有,所以國內就算有衛星天線,恐怕目前也無法使用 Starlink 衛星上網。

圖片

1、數學家的黑板

美國普林斯頓大學最近出版了一本《數學家的黑板》攝影集,收錄了很多數學家的課堂板書。

2、邁阿密的色彩

邁阿密是美國南方的旅遊勝地,是美國唯一一個外國出生的居民(58%)多於本土出生的居民的大城市。

GitHub 的一個產品經理最近移居邁阿密,感嘆這個城市的色彩,豐富得難以想象。她在自己網站上釋出了許多照片,下面是其中的幾張。

文摘

1、賴瑞·艾利森的回憶

Oracle 公司的創始人賴瑞·艾利森(Larry Ellison)在回憶錄《軟體戰爭》(Softwar)裡面,回憶了他跟比爾·蓋茨的一段往事。

1993年,我打電話給比爾·蓋茨,討論了一些技術問題。我不同意他的觀點,並解釋了我的理由。比爾說:"我考慮一下,會給你回電話。"

四小時後,比爾·蓋茨回電話說:"我覺得你是對的,但是有幾個地方,我還沒有想通,你能解釋一下 A、B 和 C 這幾點嗎?"

我說:"比爾,你過去四個小時內一直在考慮這個嗎?"

他說,是的,這是一個重要的問題,我必須想通它,現在我們接著把它討論清楚。

我驚呆了。他投入時間和精力,反覆思考這個問題,得出結論我是對的,他是錯的。大多數人不願承認自己是錯的,比爾毫不猶豫就這樣做了。他唯一關心的就是對和錯。這使得他是一個非常危險的對手。

2、對於教育的三點思考

美國培訓行業的一個創業者 David Perell,最近在他的郵件列表裡面, 談了對美國教育的三點感想。

(1)表面上,美國人總是表現出來對教育很關心,學校暴露的各種運作問題都能上新聞媒體。但是,對於學生怎麼學習、在學校裡到底學到了什麼,美國人卻漠不關心。

David Perell 認為,其實應該反過來,需要關心的是學生是否真的學到了東西,而對於學校的各種問題倒是可以漠不關心。

(2)學生應該特別重視寫作課。

如果你不知道如何寫作,可能就不知道如何思考。

(3)老師們總是抱怨學生不聽課,但是很少想一想,自己的講課是否值得一聽。

言論

1、

機器學習模型的耗電量越來越大。目前,最複雜的模型 GPT-3,要使用 1,287 兆瓦的電能,相當於大型水電站的發電量,執行一次產生552公噸的二氧化碳排放量。

-- 《谷歌否認 AI 模型的低效率》

2、

很多創業公司是君主制,公司和創始人越來越難以區分,比如特斯拉公司。

-- 《創始人的控制溢價》

3、

創業公司的三個核心要素:團隊,產品和市場。其中最重要的是市場,使用者數量和增長率是決定性因素。創業公司失敗的第一大原因就是缺乏市場。

-- Marc Andreessen 的創業指南

4、

領先他人一年,你會致富;領先他人十年,你會發瘋。

-- David Perell

5、

我已將手機更改為黑白模式,有效防止了手機沉迷。

-- Hacker News 讀者

歷史上的本週

2020年(第 108 期):陣地戰與奇襲戰

2019年(第 56 期):文科生為什麼不容易就業?

2018年(第 5 期):網際網路時代,做一個好人是划算的

訂閱

這個週刊每週五發布,同步更新在阮一峰的網路日誌微信公眾號

微信搜尋"阮一峰的網路日誌"或者掃描二維碼,即可訂閱。

(完)

相關文章