Survey Results
This post originally appeared on the Software Carpentry website.
Here are the results of the survey that we announced a couple of days ago. I'm a bit surprised that so many computer scientists responded, and equally surprised by the popularity of "biomedical engineering" — who knew? The scores for various topics hold a few surprises as well: I would have predicted that something with the word "web" in it would have scored near the top of the list, rather than at the bottom.
But it's clear that version control has to be the next lecture we produce, followed by one on task automation. We're going to use Subversion for the former: Git and Mercurial and other distributed version control systems are clearly on the rise, but there isn't a clear winner yet, and integration with other tools still lags. Deciding what to use for task automation is harder: we've always used GNU Make in the past, but that requires knowledge of the shell, which many of our intended audience don't have. Ant is a non-starter; SCons or Rake would be better from a geek point of view, but again, there's the question of tool support. Your thoughts would be greatly appreciated...
Education | ||||
Graduate degree | 69 | 75.8% | ||
Undergraduate degree | 22 | 24.2% | ||
Area | ||||
Computer Science | 52 | 57.1% | ||
Mathematics and Statistics | 22 | 24.2% | ||
Earth Sciences | 20 | 22.0% | ||
Physics | 17 | 18.7% | ||
Biomedical Engineering | 15 | 16.5% | ||
Microbiology | 13 | 14.3% | ||
Electrical Engineering | 8 | 8.8% | ||
Macrobiology | 7 | 7.7% | ||
Business/Finance | 4 | 4.4% | ||
Mechanical Engineering | 4 | 4.4% | ||
Medicine and Health Care | 4 | 4.4% | ||
Astronomy | 3 | 3.3% | ||
Economics | 3 | 3.3% | ||
Psychology | 3 | 3.3% | ||
Other | 8 | 8.8% | ||
Job | ||||
Academic Researcher | 40 | 44.0% | ||
Software Developer | 31 | 34.1% | ||
Graduate Student | 16 | 17.6% | ||
Engineer | 14 | 15.4% | ||
Government Research Scientist | 8 | 8.8% | ||
Manager/Supervisor | 8 | 8.8% | ||
System Administrator | 6 | 6.6% | ||
Industrial Research Scientist | 2 | 2.2% | ||
Teacher | 2 | 2.2% | ||
Topics | ||||
Version Control | 2.64 | |||
Automating Repetitive Tasks | 2.59 | |||
Data Visualization | 2.53 | |||
Reproducible Research | 2.51 | |||
Testing and Quality Assurance | 2.51 | |||
Coding Style | 2.44 | |||
Data Structures | 2.44 | |||
Debugging with a Debugger | 2.40 | |||
Designing a Data Model | 2.36 | |||
Object-Oriented Programming | 2.34 | |||
Performance Optimization | 2.32 | |||
Basic Programming | 2.31 | |||
Using the Unix Shell | 2.31 | |||
Refactoring | 2.25 | |||
Parallel Programming | 2.23 | |||
Working in Teams/on Large Projects | 2.22 | |||
Computational Complexity | 2.18 | |||
Packaging Code for Release | 2.16 | |||
Static and Dynamic Code Analysis Tools | 2.12 | |||
Design Patterns | 2.10 | |||
Systems Programming | 2.03 | |||
Integrating with C and Fortran | 1.98 | |||
Matrix Algebra | 1.97 | |||
Functional Languages | 1.94 | |||
Handling Binary Data | 1.88 | |||
Image Processing | 1.82 | |||
XML | 1.80 | |||
Build a Desktop User Interface | 1.76 | |||
Create a Web Service | 1.75 | |||
Introduction | 1.68 | |||
Geographic Information Systems | 1.51 |