原文:What coding skills do devs want to develop

  作者:Hannah Yan Han

  翻译:黑色巧克力

  译者注:作为开发人员可能不止熟悉一门编程语言,有工作中使用的,也有将来想要掌握的,作者通过调查数据归类进行了说明,下面请看译文。

  开发人员的技能是怎样相互关联的?如何发展这些技能?

  在最近的Stack Overflow开发者调查中,70%的调查对象指出了自己承担的角色(如前端,数据管理等等),其中有很多人认为自己身兼数职。

  

image


  开发人员职业交叉图

  可以看出Web开发是所有开发人员共享的一项通用技能,而机器学习专家和品质保证工程师则更加专业。

  下面是受访者的开发者角色图:

  

image


  开发人员常使用的开发语言数量平均值是2,也就是说,每个开发者至少需要掌握2门开发语言。

  

image


  开发人员常使用的开发语言数量

  大约80%的人使用1到4门编程语言,甚至可能懂得更多。

  考虑到这一点,可以比较一下受访者常用的语言和想要掌握的语言。

  当前技能vs未来技能

  

image


  部分调查数据

  因为数据包含开发者工作语言技能和想要掌握语言技能的比较,可以提取为额外的语言如平台、架构和数据库等,作为列表数据的分类,从而全面详细的查看。

  

image


  可以发现很多人对TypeScript,Swift,Go,Scala,R,Python,Haskell,Rust等感兴趣。

  如果查看每一份个人意愿清单中出现的语言,分布情况如下:

  

image


  开发者想要掌握的语言技能

  

image


  除了当前工作的平台外,开发者想要学习的平台

  

image


  除了当前工作的架构外,开发者想要学习的架构

  

image


  除了当前工作的数据库外,开发者想要学习的数据库

  深入问题思考

  对于一个存在共同项的调查数据,如何直观地将其与没有共同项的部分一同展示?

  例如,其中使用SQL的受访者,大部分不仅使用SQL,还使用其他的。

  我觉得一种方法是引入交互性和动画,即通过提供放大感兴趣语言的选项,便于查看部分的受访者单独使用这项语言技能和使用它作为工具包的一部分的比较,然后扩展浏览共同语言技能的细节。

  对于调查数据,如何确定它代表了全部开发者?如果它的类别不全面,又如何在采用网络模式分析调查数据时解释这一点?

  如果javascript是调查中最流行的语言,它可能仅仅是因为很多web开发人员参与了调查。因此,对于使用节点大小来表示被调查者的数量,我非常谨慎,同时所有节点的大小只表示一定程度上数量。

  考虑到所有的个体变化,怎样才能最好地将网络的演变可视化?

  例如,一个当前使用Go、Python、Ruby的开发人员希望在将来使用Go、Python、Ruby和PHP。在当前的语言数据集中,如何可视化添加的语言?如果VBA程序员想要使用Python,作为语言转移而不是增加技能,那么这也是不同的。


本文转自极客头条