Individual or Environment

We now turn to the third question with which we started this chapter, which we can now formulate a bit more precisely. If you know that it isn’t trivial to determine software developer expertise, should you focus on tools and techniques instead? Imagine a policy maker in charge of reducing the number and severity of road traffic collisions, the leading cause of death among children worldwide 10‒19 years old and the sixth leading preventable cause of death in the United States. Should she prioritize efforts on increasing driving skills and driver awareness, or should she spend more money on environmental measures, such as improving the road standard, lowering speed limits, and lobbying for more safety features in cars? Both, you might say, but then, within a limited budget, how much on each?

Research on road traffic collisions is, unfortunately, in a fortunate position: there is a tremendous amount of data worldwide available for analysis. It is therefore actually possible to make rational decisions on where to spend resources. Software engineering is not in a position to make such clear-cut decisions. We don’t yet have enough data, and our tasks are extremely diverse.

Skill or Safety in Software Engineering

Programming skill is becoming measurable. This means we may get a better grasp on both the task of programming and what it means to be an expert programmer. We’ve made progress on construct validity (that is, our measures consistently reflect aspects of ...

Get Making Software now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.