Coder Social home page Coder Social logo

learning-ability.md's Introduction

GitHub开发者学习能力评估指标

一、问题

衡量开发者的学习能力有什么作用?在GitHub社区中如何衡量一位开发者的学习能力?什么因素能够反映出开发者的学习能力?

二、描述

衡量开发者学习能力的作用:

1.识别和培养高质量的开发者:GitHub给开发者提供了很多接触优秀开源项目和高质量代码贡献的机会,通过分析GitHub社区开发者的学习能力和贡献水平,相应的公司和企业可以更容易的找到有才华的开发者,并给予他们更多的机会和挑战。

2.为人才市场营造规范的、健康的竞争氛围:全球各地的开发者都在GitHub上互相交流学习,通过统计开发者的学习能力,能够清晰地呈现出全球各地开发者的学习能力排名,为人才竞争市场和企业招聘提供数据支持和潜在人才推荐。越来越多不在固定地点工作的人来到 GitHub 以寻求最新的知识、建立更广泛的社区关系,因为 GitHub社区是知识分享和人才培养的发源地,是全球开发者的重要聚集地。

3.衡量开发者的学习能力不但能够评估开发者的技能组合,以确定该开发者当前阶段开发体系方面的不足,还能够有助于推动GitHub社区的创新和进步,促进技术和文化的交流和分享,实现更加多元化和可持续的社区发展。

三、目标

一个优秀的开发者必须不断学习新技术和工具。因此,开发者的学习能力可以帮助雇主或招聘人员确定一个开发者是否有能力在不断变化的技术环境中适应并继续发展;学习能力也是一个软件开发者职业发展的关键因素。一个愿意不断学习新东西的开发者会更有可能在行业中获得成功,并成为一个有价值的资产。

此外,开发者的学习能力也可以帮助团队更好地协作和分配任务,以便最大程度地利用团队成员的技能和潜力。

四、设计思路

在GitHub中评价一位开发者的学习能力是相对困难的,通常来说,掌握多种编程语言的开发者具有更强的学习能力,因为他们已经展示了学习和适应新技术的能力。此外,掌握多种编程语言的开发者通常也更容易学习新的编程语言,因为他们已经掌握了多种编程语言的基础概念和编程思维方式。因此,掌握多种编程语言可以反映出一个开发者的学习能力,所掌握的编程语言数量越多表示学习能力越强,映射到GitHub中则是开发者在所创建项目中使用的编程语言,越多表示学习能力越强。

五、实现

一、学习能力指标模型计算的设计

学习能力指标.png

确定了能够反映开发者学习能力的最重要的影响因素是开发者所掌握的编程语言的数量,因此在指标计算的过程中采取1个影响因素评估开发者的学习能力,具体计算公式如下:

指标公式.gif

其中,表示开发者的学习能力评估值,表示开发者掌握的编程语言数量,表示开发者学习能力评估函数。

  1. 数据获取

通过GitHub API获取2020年的开发者全域数据并存储到数据库中。其中关于开发者学习能力的数据表如下图:

数据获取.png

三、评估函数的计算方式与合理性分析

因为学习能力只有1个影响因素即开发者掌握编程语言的数量,所以并不需要考虑权重分配问题。对获取得到的数据进行统计评估,求出项目中使用不同编程语言数量的开发者人数以及占比。如下表所示:

数据统计.png

表中的第一列是开发者掌握的编程语言的数量,第二列是掌握对应编程语言数量的开发者人数,第三列是掌握对应编程语言数量的人数占总开发者人数的百分比,第四列是指掌握编程语言数量小于等于第一列对应数量的开发者人数占总开发者人数的百分比,最后一列是根据累计百分比设计分段函数来计算掌握对应编程语言数量对开发者学习能力的评估值。

统计分析直方图.png

​ 统计分析直方图

概率密度曲线图.png

​ 概率密度曲线图

由上述的概率密度图可以看出只掌握1种编程语言数量的开发者占到了所有开发者数量的87.52%,这个数量无疑是巨大的,由此我们认为掌握1种编程语言是开发者的常态或者普遍现象,因此它处于学习能力评估值的低位。掌握2种编程语言的开发者仅占总开发者人数的9.5040%,相比较于掌握1种编程语言的开发者数量而言出现了骤降的趋势。由此可见,掌握2种编程语言是开发者的少数或者不常见现象,因此它处于学习能力评估值的中高位。另外,掌握编程语言数量小于等于2种的开发者占据了总开发者人数的97.02%,余下不到3%的开发者是掌握编程语言数量超过2种的。因此,在后续的分段评估过程中,随着掌握开发语言数量的增加,相应的学习能力评估值的跨度较小。当开发者掌握编程语言数量为16时达到顶峰,大于等于16时给予满分100分。

分段函数表达式.gif

四、学习能力指标可视化

下图展示了项目中每个编程语言数量对应开发者人数,以及每个编程语言数量对应的开发者人数的占比

学习能力可视化.png

合作者

王玉恒

王耀庆

learning-ability.md's People

Contributors

svipwangyh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.