• Visual Studio Code正在崛起
  • 发布于 2个月前
  • 153 热度
    1 评论
  • 放羊娃
  • 0 粉丝 35 篇博客
  •   

Visual Studio Code的使用率正在迅速增长! VS Code现在是大多数工程师在编程面试中选择的编辑器,它似乎正在迅速地从其他顶级编辑器那里夺取市场份额。
Triplebyte每周面试数百名工程师。每次面试,我们都会记录下编辑器、语言和使用的操作系统。我们不会用这些信息来决定谁通过面试(我认为这不公平)。然而,这是令人着迷的数据! 它让我们了解不同的工程师群体更喜欢哪种工具,以及这些偏好是如何随着时间变化的。它还允许我们在编程面试中判断工程师选择的工具与他们的面试表现之间的相关性。
我的同事Mike在一年前写了一篇关于这个数据的文章。但从那以后,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每个月都在加速增长。谷歌趋势也显示了同样的情况:

VS Code正在崛起,并有望成为我们所见过的最主要的编辑器。也许/应该试一试!


面试通过率
然而,编辑器的使用只是故事的一部分,并不是所有人的选择都相同。我想知道哪些编辑器是最好的程序员使用的。为了了解这一点,我提取了有关Triplebyte求职者在我们的面试中表现如何的数据,按照他们所使用的编辑器进行分组:

这个图表显示了每个编辑器的用户通过我们面试的比率,与所有候选人的平均通过率相比。首先,请注意Emacs和Vim的卓越之处! 使用这些编辑器的工程师比其他工程师通过我们面试的几率要明显高得多。而且效果也不差,Emacs用户通过我们面试的几率比其他工程师要高出50%。如何解释这种现象?一种可能的解释是Vim和Emacs是老派的。你可能期望他们的用户具有更多的经验,从而可以做得更好。但是,请注意VS Code是第三个最好的编辑器——而且它是全新的。这就稍微削弱了以上叙述(并使VS Code看起来更有优势)。


Emacs和Vim的用户是否有其他一些特征使他们更有可能在面试中获得成功?也许他们更愿意在短期内投入时间和精力定制一个复杂的编辑器,以便从一个更强大的工具获得长期回报?
另一方面,使用Eclipse、intelliJ和Visual Studio的工程师以通过我们面试的比率比较低。Eclipse、IntelliJ和Visual Studio有什么共同之处?当然,它们都是IDE。然而,PyCharm也是一个功能齐全的IDE,它的通过率很高。还能发现什么呢?Eclipse、IntelliJ和Visual Studio的另一个显著特征是它们与Java和C#的紧密联系,所以我们可能仅仅只是看到了特定编辑器和特定语言之间相关联的结果呢?
为了调查这个问题,我还按语言查看了面试的通过率:

Java和C#的通过率确实相对较低,但是请注意Eclipse的通过率低于Java(-21.4% 比 -16.7),因此我们不能完全将它的糟糕性能解释为Java拉低了它的性能。
还有,Go怎么了?Go程序员很棒!为了更深入地研究这些问题,我按语言查看了编辑器的使用:

图表上的百分比是按编辑器计算的。例如,我们可以看到97%的工程师在Python中使用PyCharm编程(这是有意义的——在它的名称中)。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)。


经验/地点
总结一下,我根据经验水平和地点对数据进行了切分。在这里你可以看到按经验水平的语言使用情况:

同样,行总和为100%,因此该图显示具有给定经验水平的人使用每种语言的百分比。这里最值得注意的是Python和Java在只有实习或兼职经验的求职者中非常流行。我们是否看到了一些大学毕业生正在使用他们在学校所学的语言?
然后是按经验级别划分的编辑器使用情况:

首先,你可以看到,随着经验水平的提高,VS Code的使用率下降。它明显更受初级工程师的欢迎。你还可以看到Vim和Emacs在经验丰富的工程师中更受欢迎。这似乎是Vim和Emacs用户在我们的面试中通过率如此之高的主要原因。
最后,我们研究了位置和使用的语言之间的关系:

我喜欢这张图表,因为它说明了海湾区的地理情况。在大公司聚集的半岛上,你可以看到许多Java开发人员。在创业公司占主导地位的旧金山,你会看到更多的JavaScript开发者。
 

结  论
以下是我们在过去一年中看到的工具使用趋势的摘要,以及工程师选择的工具与他们的编程能力之间一些有趣的关系:
Visual Studio Code正在崛起。在过去的一年里,它已经成为了所有编辑器中最受欢迎的编辑器,并且每个月都在增长。我想知道编辑器行业是否正在经历一场结构性的转变,从一个相对支离破碎的市场份额向一个单一编辑器拥有超过50%市场份额的世界转变?
使用Vim或Emacs等老派编辑器的工程师往往是优秀的程序员。也就是说,这个发现最好的解释是,这些编辑器在经验丰富的工程师中特别受欢迎。
使用Go的工程师也特别优秀。如果你知道原因,请告诉我。
在我们的面试中,使用Eclipse或Visual Studio的工程师(平均而言)表现不是太好。这种相关性仍然适用于使用我们平台的外部公司的面试。
对这一切持保留态度。最后我想说的是我们不认为这是因果关系。也就是说,我不建议你在此数据的基础上开始使用Emacs和Go(或停止使用Eclipse和Java)。有些优秀的程序员使用每一种工具。在任何面试中最重要的是使用你最熟悉的工具。

用户评论