I gave the opening talk at MSR Vision 2020 in Kingston on Monday (slides), and in the wake of that, an experienced developers at Mozilla sent me a list of ten questions he'd really like empirical software engineering researchers to answer. They're interesting in their own right, but I think they also reveal a lot about what practitioners want from researchers in general; comments would be very welcome.
- Vi vs. Emacs vs. graphica editors/IDEs: which makes me more productive?
- Should language developers spend their time on tools, syntax, library, or something else (like speed)? What makes the most difference to their users?
- Do unit tests save more time in debugging than they take to write/run/keep updated?
- Do distribution version control systems offer any advantages over centralized version control systems? (As a sub-question, Git or Mercurial: which helps me make fewer mistakes/shows me the info I need faster?)
- What are the best debugging techniques?
- Is it really twice as hard to debug as it is to write the code in the first place?
- What are the differences (bug count, code complexity, size, etc.), if any, between community-driven open source projects and corporate-controlled open source projects?
- If 10,000-line projects don't benefit from architecture, but 100,000-line projects do, what do you do when your project slowly grows from the first size to the second?
- When does it make sense to reinvent the wheel vs. use an existing library?
- Are conferences worth the money? How much do they help junior/intermediate/senior programmers?
Originally posted at Never Work in Theory.