The most important factor in software work is not the tools and techniques used by the programmers, but rather the quality of the programmers themselves.
Good programmers are up to 28 times better than mediocre programmers, according to “individual differences” research. Given that their pay is never commensurate, they are the biggest bargains in the software field.
Robert Glass’s two postulates (of which he reminds us in “Frequently Forgotten Fundamental Facts about Software Engineering” on the IEEE Computer Society web pages) reflect several important issues. First off, they accommodate the focus on “people issues” in the otherwise technological domain of computer programming. Among other things, this focus has helped the research discipline of empirical software engineering to address the practice of software engineering from additional viewpoints (managerial, sociological, and psychological) to the purely technological one. A necessity, one would say, in order to make the practice of software engineering more evidence-based.
For the purpose of our discussion, let’s assume that the two postulates from Robert Glass hold. Mind you, we’ve made it our business to constantly reevaluate and refine such assertions, even when the assertions may ...