作者 | Ekaterina Novoseltseva

译者 | 明明如月,责编 | 郭芮

头图 | CSDN 下载自东方IC

出品 | CSDN(ID:CSDNnews)

以下为译文:

今年 Apiumhub 和 codignsans 以及 clutch、gitkraken、Level-up、Clockwise、VisionX、Code Climate、LingoHub、Usersnap等公司携手开展了一项全球软件开发调研,此次调研的主要内容包括了解公司如何吸引软件开发人员、哪些语言最流行、哪些问题最突出等。

我们收到了来自世界各地的 700 多份答卷,我们真心希望这份报告对你有帮助。想要获得这份软件发展状况的完整报告,请点击这里(https://codingsans.com/state-of-software-development-2020)。

内容速览:软件开发的趣事

接下来,让我们来看一下这份报告中的一些数据,了解这份报告的核心内容。我要强调的是,由于这里是内容速览,我不会对每张图和问题都展开详细的论述。

众所周知,软件开发领域的变化非常迅速。几乎每年我们都会看到新的语言、软件架构、容器、软件方法论出现。现在被广泛使用的工具或编程语言,明年可能就会过时。今年我们调研的主要目的是对软件开发的现状和发展趋势做出总结。

这份报告有很多章节,报告的第一部分讲述软件团队面临的挑战和他们试图给出的解决方案。在本部分,你还将找到最流行的编程语言和项目管理工具。报告的第二部分是招聘的挑战和解决方案。这是科技公司面临的最大挑战之一。最后一章重点论述绩效管理。

这是我们第三次开展这项调查,从这个报告中你可以发现 2018 年、2019 年、2020 年之间的有趣变化,看看变化的内容和变化的趋势。

我们非常高兴与你分享 2020 年软件开发趋势,希望对你能够有帮助!

废话不多说,开始吧!

软件开发的核心问题

1. 软件开发的挑战

科技公司面临的最大挑战是产能(Capacity) 问题:在繁重的工作和有限能力的前提下交付可工作的软件的能力。知识共享(Sharing knowledge)是第二大挑战,如果我们把它与前一年相比,我们会看到它的排序保持不变,去年大多数公司也面临着完全相同的挑战。

核心挑战显而易见,那么解决方法是什么呢?

团队是如何克服能力挑战的呢?最常见的解决方案是招聘更多的人,招来更多的开发人员可以完成更多的工作。接下来就是实现敏捷开发。这个解决方案和去年一样。

团队如何解决知识共享问题?最流行的方式是导师制。除此之外,结对编程和代码审查也是非常棒的手段。你也可以用自带午餐的方式在非正式的场所进行或者采用黑客马拉松的方式,这样既可以提高开发人员的能力,同时也可以让他们玩得开心。

这和去年有点不同,去年公司更关注知识分享会,比如自带午餐,开会,开展技术讲座。还包括通过代码审查和内部协作的 wiki 文档百科的方式共享知识。

要查看图表和其他解决方案,请点击这里:https://codingsans.com/state-of-software-development-2020。

2. 编程语言

最常用的编程语言是什么?答案在这里:

资料来源:软件状态发展报告

正如我们所看到的,使用最广泛的编程语言是 JavaScript,占比 59.08% 。令人好奇的是,35.05% 的受访者表示,他们在未来 12 个月内不打算使用任何新的编程语言。

在未来的 12 个月哪种编程语言将会流行?

资料来源: 软件状态发展报告

如果将 2018 年、2019 年、2020 年的结果进行比较分析,我们会看到今年 Typescript 的使用量有明显增长。

3. 工具

在这份报告中,我们还可以清楚地看到尤其是在测试和项目管理方面,团队会使用各种工具。

4. 招聘和留住人才

招聘和留住开发人员是管理开发团队的关键部分。我们需要了解更多科技公司如何招聘和留住人才的方法。

自 2018 年以来,最有效的招聘方式没有改变。雇员内推(Employee referrals)和企业招聘专员(In-house recruiter)是招聘人才的最好的两种途径。

资料来源: 软件状态发展报告

从图中我们可以清楚地看出,科技公司在招聘人才时重点关注四个重要领域: 学习意愿(Willingness to learn)、工作经验(Work experience)和技能评估测试(Technical skill evaluation)以及企业文化契合(Cultural fit)。

同样值得强调的是,2020 年企业更加重视软技能(Soft skills)。

奇怪的是,现在很少有公司首先考虑学位或证书,它变成了次要的因素。最重要的是学习的意愿,因为我们生活在一个迅速变化的世界,人们只有能快速适应新的环境,才能抓住新的机会,将工作做得更好。

我们通过下表总结出企业吸引人才的最重要的因素:

资料来源: 软件状态发展报告

事实证明,优秀的团队(Team)和富有挑战性的工作(Challenging)是吸引新软件开发人员的最主要因素。

5. 软件外包

由于提高产能和招聘人才是最大的挑战,外包可能是一个快速解决方案。

让我们来看看公司对外包的看法:

资料来源: 软件状态发展报告

正如我们看到的那样,大多数公司对外包人员还是比较满意的(Somewhat satisfied)。外包是的解决人力不足问题一个很不错的办法。

6. 绩效管理

在报告的这一部分中,我们将研究软件团队如何度量性能以及产生交付问题的原因。

这一部分还揭示了开发人员团队保证代码质量的方法。

资料来源: 软件状态发展报告

正如我们所看到的,编写实现功能的软件(Working software)、完成的任务量(Completed tasks)和代码的可读性(Code readability)是项目经理衡量开发人员能力的最重要的因素。

资料来源: 软件状态发展报告

对于大多数项目经理来说,失败的首要原因是不切实际的期望(Unrealistic expectation),其次是评估不准(Estimation)和缺乏对可交付成果的明确定义(Lack of clearly defined deliverables)。

结论:全球软件开发状况

本文仅介绍了我们从报告中的搜集全部数据中的一小部分。如果你想看到完整的报告,只需点击这个链接(https://codingsans.com/state-of-software-development-2020),根据页面提示下载即可。你可以和任何对此感兴趣的人分享,要注意这些数据仅包括今年的软件发展状况。这份关于 2020 年的软件趋势报告可以解读出很多令人兴奋的信息,如果你有其他看法欢迎留言评论。

原文:https://dzone.com/articles/interesting-facts-about-software-development-stati

译者:明明如月,Java 高级开发工程师,CSDN 博客专家。

本文为 CSDN 翻译,转载请注明来源出处。

更多精彩推荐
☞搞定 Linux 命令之进程与数据流,不服来辩!| 原力计划☞整理了一份 Docker系统知识,从安装到熟练操作看这篇就够了 | 原力计划☞怒肝 8 个月源码,我成为了 Spring 开源贡献者
☞Gary Marcus:因果熵理论的荒诞和认知科学带给AI的11个启示 | 文末赠书
☞这 10 个云计算错误,会让你的业务一蹶不振
☞好扑科技结合区块链行业发展趋势,重磅推出“好扑区块链合伙人”计划
你点的每个“在看”,我都认真当成了喜欢

未来 12 个月,哪种编程语言将会流行?相关推荐

  1. 大厂程序员降薪跳槽,​民企提升员工KPI,近八成中国员工未来12个月有出现倦怠的风险 | 美通社头条...

    美通社消息--前程无忧.猎聘.美世.怡安陆续发布调研报告,分析在疫情反复的背景下,企业与员工的雇佣关系迎来怎样的发展趋势?裁员潮.现金流压力等现状带来哪些影响? 近八成中国员工未来12个月有出现倦怠的 ...

  2. 新研究显示全球外籍人士对居住地怀有信心,近三分之二受访者对未来12个月感到乐观

    对2万余名外籍人士进行的研究显示,他们对于在国外生活和工作的信心并未减弱 大部分(80%)外籍人士表示,他们至少明年将继续在侨居国生活 乐观看法主要来自于对恢复"正常"生活(75% ...

  3. 3000万美元投资,看看以太坊未来12个月又有哪些大动作!

    编辑 | 传神 出品 | 区块链大本营(blockchain_camp) 最近,一封由以太坊基金会发布的信件在其官方博客上公布,该信件重申了以太坊基金会在生态发展中的主要角色.哲学理念.支持的项目.学 ...

  4. 剑桥大学发布2019年度AI发展报告,预测未来12个月AI产业6件大事

    来源:人工智能和大数据 近日,剑桥大学发布了2019年度AI发展报告,在这份137页的报告中,涵盖了AI研究.人才.产业等多方面内容,值得一提的是,这份报告专门开辟了一个章节来介绍中国AI技术的发展. ...

  5. 2021年,薪酬最高的5种编程语言,你想学哪个?

    作者 | invozone 译者 | 平川 策划 | 凌敏 今天,我们来看看 2021 年最受欢迎的编程语言.我们将根据以下因素对这些语言进行排名. 学习这门语言需要的时间:对于初学者,甚至是有经验的 ...

  6. 三六零公告:胡欢承诺未来6个月不减持,公司没有定增计划

    4月6日,三六零(601360.SH,下称"360")集团发布公告称,近日有媒体报道称公司有关股东可能减持,为避免对投资者产生误导,公司特发公告说明,周鸿祎承诺12个月内不减持公司 ...

  7. 20140417本人分别用12种编程语言编写的MasterSeeker热键辅助工具软件[晓亮原创]

    20140417本人分别用12种编程语言编写的MasterSeeker热键辅助工具软件[晓亮原创] 20140417本人分别用12种编程语言编写的MasterSeeker热键辅助工具软件[晓亮原创] ...

  8. 12种编程语言训练,开源的AI “程序员”来了,CMU出品

    点击上方"CSDN精品课",选择"置顶公众号" 第一时间获取精品编程教程 在自然语言处理领域,常用语言模型(LMs)可以实现为字符(tokens)序列分配概率. ...

  9. 12 种编程语言的起源故事

    过去的几十年间,大量的编程语言被发明.被替换.被修改或组合在一起.每种语言总在争论中诞生,又在进化中消亡.而这些语言的的创造者,无一不是编程世界中的标志性人物,高举探索的旗帜不断前行.敬仰之情促使了这 ...

最新文章

  1. 【错误记录】Flutter 插件不兼容 ( requires Flutter SDK version >=1.22.0 <2.0.0, url_launcher >=5.7.7 <6.0.0- )
  2. angular5绑定html,在Angular模板绑定中剥离html
  3. centos7下kafka2.12-2.1.0的安装及使用
  4. [云炬学英语]每日一句2020.8.26
  5. oracle10_client的安装,Oracle10.2ClientWindows安装.doc
  6. Effective C++条款01: 视C++为一个语言联邦
  7. 数据源管理 | 基于JDBC模式,适配和管理动态数据源
  8. 苹果cms V8模板 价值200RMB时尚大气功能超强模板
  9. linux服务器启动过程
  10. ZooKeeper(四)ZooKeeper的简单使用
  11. 未来教育计算机三级课后题答案,全国计算机三级网络技术课后题答案(2016.3 未来教育).docx...
  12. 安装Oracle 11g RAC R2 之Linux DNS 配置
  13. 贷前调查必须采集的十大客户信息
  14. matlab机器学习库
  15. 一周信创舆情观察(11.15~11.21)
  16. 第五课多元函数偏导与全微分
  17. 植物大战僵尸之修改阳光
  18. 勒索软件Cerber和TeslaCrypt的区别-------典型的勒索软件家族
  19. Spring关于@required注解
  20. AR与VR的区别在哪?

热门文章

  1. IP address 和子网划分
  2. ContestHunter暑假欢乐赛 SRM 03
  3. params参数的调用
  4. [Linux 性能检测工具]IOSTAT
  5. 《计算机网络》学习笔记 ·003【数据链路层】
  6. matlab 手工实现normalize函数 未定义与 ‘double‘ 类型的输入参数相对应的函数 ‘normalize‘
  7. java只修改变的字段_修改Java中的最终字段
  8. 【OpenCV应用】python处理行李图像匹配项目——图像特征点
  9. android百度定位没反应,百度定位回调无反应,第一次能回调到数据,第二次无反应...
  10. Pytorch中expand_as()函数详解