电子说
代码编辑器之于程序员的重要性不言而喻。长久以来,Vim、Emacs等老牌编辑器一直占据着举足轻重的地位,但是近年来情况似乎发生了变化。根据软件工程师招聘网站Triplebyte的统计数据显示,Visual Studio Code正在兴起,并在过去的一年里成为最受欢迎的编辑器。此外,他们还研究了工程师选择的工具与编程能力之间的一些关联性——使用Vim或Emacs这样老牌编辑器的工程师往往是强大的程序员,使用Go的工程师也特别强大,使用Eclipse或Visual Studio的工程师则似乎表现不佳!下面就让我们来一探究竟。
以下为译文:
Microsoft Visual Studio编辑器的使用率正在快速上升!我们在访谈期间发现VS Code是现在大多数工程师选择的代码编辑器,它似乎正迅速抢占其他顶级编辑器的市场份额。
每周三Triplebyte会采访数百名工程师。每次访谈,我们都会记录被采访者使用的编辑器、语言和操作系统。当然,我们不会使用这些信息来决定谁通过我们的面试,我认为这不公平。但是,这份数据是非常令人着迷的!它让我们深入了解不同工程师群体喜欢哪些工具以及这些偏好是如何随时间变化的。并且能够允许我们发现工程师选择的工具与他们在面试访谈期间的表现之间的相关性。
一年前,我的同事迈克写了一篇关于这些数据的帖子(https://triplebyte.com/blog/technical-interview-performance-by-editor-os-language)。但是,Triplebyte那时还没有足够的数据来论证其中存在的某种关系,而现在我们有足够的数据可以更深入地挖掘。
这是我的这篇文章的目标。
各类编辑器的使用率
我提取了去年所有访谈中使用的编辑数据作为开始:
从该图中我们可以发现Visual Studio Code拥有惊人的17%使用率,去年多个Triplebyte的候选人都在使用VS Code编辑器。有两个让我感到惊讶的原因:首先,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是第三好的编辑器,而且它是全新的。
使用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%)。
还有一个现象,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的工程师也特别强大。如果你知道原因,请告诉我!(译者注:区块链技术正在蓬勃发展,正如我们所知,底层的区块链技术大多是用Go语言实现的,或许这就是使用Go语言的工程师大受欢迎的原因。)
使用Eclipse或Visual Studio的工程师在我们的访谈中表现不佳(平均情况)。这种相关性也代表陆使用我们平台的外部公司的面试。
最后我要说的是,我们认为这些都不是因果关系。我不建议你根据此数据开始使用Emacs和Go(或停止使用Eclipse和Java)。强大的程序员不应该被编辑器限制,所以在面试中最重要的是使用你最熟悉的工具。
全部0条评论
快来发表一下你的评论吧 !