Tools

Posted

A couple of days ago I tweeted:

What tools do you use daily to build software that aren’t on this list: text editor, version control, test runner, build manager, debugger, style checker, doc generator, package manager, issue tracker?

Answers included:

It’s quite a list, and I’m willing to make a few bets:

  1. Most developers pick these up on their own rather than being taught explicitly how to use them.
  2. As a result, most developers don’t use most of these (where by “most” I mean Hanselman’s dark matter developers, not just the minority who blog and tweet and answer questions on forums and go to meetups).
  3. Proficiency with these tools doesn’t just correlate with productivity—it predicts it. In other words, if you teach people how to use these tools well, they will become more productive.

I further believe that:

  1. These tools aren’t in the curriculum because the act of building software isn’t considered part of computer science. Consider: to the best of my knowledge, no university in the English-speaking world offers a full semester course on debugging, and I’ve only ever seen one decent textbook on the subject (compared to literally hundreds on writing compilers).
  2. They also aren’t included in the curriculum because it’s hard to create meaningful pen-and-paper exam questions for them.
  3. It would be possible to examine proficiency meaningfully by having students record their desktop while solving problems and then submitting the video. I believe this could be done without violating students’ privacy, and that instructors could watch those videos at 5X or 10X and give meaningful feedback.

If you’re a graduate student in software engineering or computing education and looking for a research topic, I think this would be a good one—I’d be happy to chat any time if you want to brainstorm.

And following up on a suggestion from a friend, I guesstimated the genders of the people who responded to my original tweet from their profiles. This may not be accurate—studies have shown that women often use neutral or male identities online to avoid harassment—but the breakdown saddens me:

My estimate of the breakdown by race is undoubtedly no more accurate, but looks even more one-sided :-(