Visual Studio Code(VS Code)的使用率正在迅速上升,现在已经成为大多数工程师的首选编辑器,而且似乎正在迅速抢占其他顶级编辑器的市场份额。
Triplebyte每周面试数百名工程师。在每一次面试中,我们都会记录面试官使用的编辑器、编程语言和操作系统。我们不会根据这些信息来决定面试官是否能通过面试(我觉得这不公平)。但是,这些都很迷人!它让我们深入了解不同的工程师群体喜欢哪些工具,以及这些偏好如何随着时间的推移而变化。我们还可以确定工程师选择的工具与他们在面试中的表现之间的相关性。
我的同事迈克一年前写了一篇关于这些数据的文章。Triplebyte从那以后有了很大的进步,所以我们现在可以更深入地挖掘这些数据,所以我写了这篇文章。
编辑使用率我提取了去年所有采访中使用的编辑数据:
从这张图可以看出,Visual Studio代码有多突出。VS代码占总数的17%。就是去年很多三字节考生用的编辑器。这让我有点惊讶,主要有两个原因。首先,VS Code是微软比较新的产品。第二,它去年甚至没有出现在我们的名单上――它的比例小到可以归入“其他”部分。
为了更好地理解这一点,我根据同样的数据画了另一张图:
VS代码正在蚕食其他编辑的份额!显然,在过去的一年里,VS代码的使用率从5%上升到了22%。同时,Sublime Text的使用率从17%下降到11%,Atom的使用率从11%下降到6%,甚至Eclipse也在下降。VS代码每个月都在增加。谷歌趋势显示了类似的结果:
VS Code正在崛起,有望成为我们见过的最具统治性的潜在编辑器。也许我也应该试试!
面试通过率然而,编辑的使用只是整个故事的一部分。并非所有的编辑器都以相同的方式使用。我想看看最好的程序员在用哪些编辑器。因此,我提取了与候选人在面试中的表现相关的数据,并根据他们使用的编辑器进行了分组:
该图显示了每个编辑器用户的通过率与所有候选人的平均通过率的比较。首先请关注脱颖而出的Emacs和Vim!使用这些编辑器的工程师通过率远高于其他工程师。Emacs用户通过率比其他工程师高50%。我们如何解释这种现象?一个可能的原因是Vim和Emacs是公认的编辑器。已建立编辑器的用户可能有更多的经验。但也请注意,VS Code是第三好的编辑器――它是一个全新的编辑器,让VS Code看起来更占优势。
Emacs和Vim用户还有什么其他特征让他们更容易面试成功?也许他们倾向于在短期内花费更多的时间和精力来定制一个复杂的编辑器,以便在长期内获得更多的回报?
另一方面,使用Eclipse、intelliJ和Visual Studio的工程师通过率较低。Eclipse、IntelliJ和Visual Studio有什么共同点?都是ides。不过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