作者 | 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 个云计算错误,会让你的业务一蹶不振
☞好扑科技结合区块链行业发展趋势,重磅推出“好扑区块链合伙人”计划