What distinguishes great software engineers?

What distinguishes great software engineers?
复制标题

DOI:
10.1007/s10664-019-09773-y
复制
发表时间:
2019-12
影响因子:
4.1
通讯作者:
P. Li;Amy J. Ko;Andrew Begel
P. Li;Amy J. Ko;Andrew Begel
中科院分区:
计算机科学2区
文献类型:
--
作者:
P. Li;Amy J. Ko;Andrew Begel

文献摘要

被引文献

相似文献

伟大的软件工程师是创造伟大软件的关键。然而,今天,我们缺乏对伟大工程师与普通工程师的区别的理解。我们通过对经验丰富的工程师进行迄今为止最大的混合方法研究来解决这一知识差距。我们调查了1,926名工程师,包括高级工程师、建筑师和技术研究员,要求他们判断伟大工程师的54个属性的重要性。然后,我们进行了77次电子邮件采访,以解释我们的研究结果,并了解上下文因素对评级的影响。在综合研究结果后,我们认为伟大工程师的五大显著特征是编写好代码,调整行为以考虑未来的价值和成本,实践明智的决策,避免让别人的工作变得更难,以及不断学习。我们将研究结果与以前的工作,并讨论了研究人员,从业者和教育工作者的影响。
Great software engineers are essential to the creation of great software. However, today, we lack an understanding of what distinguishes great engineers from ordinary ones. We address this knowledge gap by conducting one of the largest mixed-method studies of experienced engineers to date. We surveyed 1,926 expert engineers, including senior engineers, architects, and technical fellows, asking them to judge the importance of a comprehensive set of 54 attributes of great engineers. We then conducted 77 email interviews to interpret our findings and to understand the influence of contextual factors on the ratings. After synthesizing the findings, we believe that the top five distinguishing characteristics of great engineers are writing good code, adjusting behaviors to account for future value and costs, practicing informed decision-making, avoiding making others’ jobs harder, and learning continuously. We relate the findings to prior work, and discuss implications for researchers, practitioners, and educators.