編輯器領域正發生變革?從面試看 Visual Studio Code 的崛起
Visual Studio Code(VS Code)的使用率在迅速上升,現在已經成為大多數工程師的首選編輯器,並似乎正迅速搶佔其他頂級編輯的市場份額。
Triplebyte 每週都會面試數百名工程師。在每次面試中,我們都會記錄面試者使用的編輯器、程式語言和作業系統。我們不會根據這些資訊來決定面試者是否可以通過面試(我認為這不公平)。不過,這些非常令人著迷!它讓我們可以深入瞭解不同工程師群體喜歡哪些工具,以及這些偏好如何隨著時間發生變化。我們還可以藉此識別出工程師選擇的工具與他們在面試期間的表現之間的相關性。
我的同事 Mike 在一年前寫了一篇 ofollow,noindex">有關這些資料的文章 。Triplebyte 從那時起已經得到了長足的發展,因此我們現在可以更深入地挖掘這些資料,所以我寫下了這篇文章。
編輯器使用率
我提取了去年所有面試中使用的編輯器資料:
從這張圖中可以看到,Visual Studio Code 有多麼的突出。VS Code 佔了 17%的比例,它是去年多個 Triplebyte 候選人使用的編輯器。這讓我感到些許驚訝,主要基於兩個方面的原因。首先,VS Code 是一款來自微軟的相對較新的產品。其次,去年它甚至都沒有出現在我們的排行榜上——它的比例小到足以落入“其他”部分。
為了更好地瞭解這一點,我基於相同的資料繪製了另一張圖:
VS Code 正在吃掉其他編輯器的份額!很明顯,在過去的一年中,VS Code 的使用率從 5%上升到 22%。與此同時,Sublime Text 的使用率從 17%下降到 11%,Atom 的使用量從 11%下降到 6%,甚至連 Eclipse 也在下降。VS Code 每個月都在增加。Google Trends 顯示了類似的結果:
VS Code 正在崛起,並有望成為我們見過的最具主導潛力的編輯器。也許我也應該試一試!
面試通過率
然而,編輯器的使用只是整個故事的一部分。並非所有編輯器的用法都相同。我想看看最好的程式員都在使用哪些編輯器。因此,我提取了與候選人在面試中表現有關的資料,並按他們使用的編輯器進行分組:
這張圖顯示了每種編輯器使用者的通過率與所有候選人平均通過率的對比。首先,請注意脫穎而出的 Emacs 和 Vim!使用這些編輯的工程師的通過率遠高於其他工程師。Emacs 使用者通過率比其他工程師高 50%。我們該如何解釋這種現象?一個可能的原因是因為 Vim 和 Emacs 是老牌編輯器。老牌編輯器的使用者可能擁有更多的經驗。但也請注意,VS Code 是第三好的編輯器——它是一個全新的編輯器,這反而讓 VS Code 看起來更佔優勢。
Emacs 和 Vim 使用者是否還有其他的一些特徵讓他們在面試中更有可能獲得成功?也許他們傾向於花更多的時間和精力在短期內定製一個複雜的編輯器,以便在長期獲得更多的回報?
另一方面,使用 Eclipse、intelliJ 和 Visual Studio 的工程師的通過率較低。Eclipse、IntelliJ 和 Visual Studio 有什麼共同之處?它們都是 IDE。但是,PyCharm 也是一個功能齊全的 IDE,它的通過率也較高。Eclipes、IntelliJ 和 Visual Studio 的另一個顯著特點是它們與 Java 和 C# 的聯絡非常緊密,那麼我們可能只是看到了特定編輯器和特定程式語言之間的相關性結果嗎?
為此,我也按照程式語言查看了面試通過率:
Java 和 C# 確實具有相對較低的通過率,儘管 Eclipse 的通過率低於 Java(-21.4%對 -16.7),因此我們無法完全解釋是不是 Java 拖了 Eclipse 的後腿。
還有,Go 語言發生了什麼?Go 程式設計師表現都很不錯!為了深入研究這些問題,我按照程式語言查看了編輯器的使用情況:
這張圖上的百分比對應的是每個編輯器。我們可以看到,97%的工程師使用 PyCharm 開發 Python(很正常,這從它的名字就可以看出來)。使用 Eclipse 的主要是 Java(94%)使用者,使用 Visual Studio 的主要是 C# 和 C++(88%)使用者。我無法說清楚它們之間的因果關係,但似乎程式語言(Java、C#)和 IDE(Eclipse、Visual Studio)都與較低的通過率相關聯。這些資料來自我們的內部面試,但同樣的結果也適用於使用我們平臺進行招聘的外部公司。
在做出面試決策時,Triplebyte 不會考慮候選人使用哪門程式語言或哪種編輯器。並且外面有很多優秀的 C# 和 Java 程式設計師。但是,通過我們面試的普通 C# 或 Java 工程師似乎不如普通 Ruby 或 Go 工程師好,我不知道為什麼。
我們從這張圖中發現的另一個有趣的地方是 VS Code 和 Sublime 之間的區別。VS Code 主要用於 JavaScript 開發(61%),但不太常用於 Python 開發(22%)。而 Sublime 的數字基本上是相反的(51%Python 和 30%JavaScript)。有趣的是,VS Code 使用者的通過率高於 Sublime 使用者,儘管他們主要使用 JavaSript。
經驗水平和地理位置
最後,我按經驗水平和地理位置來切分資料。在下圖中可以看到不同經驗水平的人使用程式語言的情況:
圖中顯示的是具有給定經驗水平的人使用每種語言的百分比。有趣的是 Python 和 Java 最受實習生或具有兼職經驗的候選人的歡迎。
下面是不同經驗級別的候選人使用編輯器的情況:
首先,隨著經驗水平的增加,VS Code 的使用率在下降。可見 VS Code 在初級工程師中更受歡迎。我們還可以看到,Vim 和 Emacs 在經驗豐富的工程師中更受歡迎。這似乎是合乎邏輯的,這也是 Vim 和 Emacs 使用者在我們的面試中具有如此高通過率的主要原因。
最後,我們還研究了地理位置和使用的語言之間的關係:
大公司一般位於半島地區,因此你會看到很多 Java 開發人員。在舊金山,創業公司占主導地位,你會看到更多的人使用 JavaScript。
結論
以下是我們在過去一年中看到的工具使用趨勢的總結,以及工程師選擇的工具與程式設計能力之間的一些有趣的關係:
Visual Studio Code 正在崛起。在過去的一年裡,它已經成為最受歡迎的編輯器,並且每個月都在增長。我在想,編輯器領域是否正在經歷一場動盪的變革,從一個相對分散的市場轉變為某個編輯器佔據 50%以上份額的市場?
使用像 Vim 或 Emacs 這樣的老派編輯器的工程師往往是有經驗的程式設計師。也就是說,這些編輯器在經驗豐富的工程師中特別受歡迎。
使用 Go 語言的工程師也很厲害。
使用 Eclipse 或 Visual Studio 的工程師在我們的面試中表現稍差一些(平均)。
最後我想說的是,我們認為它們之間沒有必然的因果關係。也就是說,我不建議你基於這些資料開始使用 Emacs 和 Go 語言(或者停止使用 Eclipse 和 Java)。有些很厲害的程式設計師會使用每一種工具。在面試中,最重要的是要使用你最熟悉的工具。
英文原文: https://triplebyte.com/blog/editor-report-the-rise-of-visual-studio-code