I don’t work in IT, software development, or anything even closely related to those fields so I’m often surprised at how much programming I do in my daily work life. At times I write scripts or light programs (e.g., this set of Excel macros), usually to save time and ensure accurate, well-documented, and reproducible results. More often, I directly use some of the skills of programming, especially flow control and abstraction, to make tasks easier, elegant, or possible.
When I first entered college in 1996, I began as a computer science major. After a few years I changed my major because I was dissatisfied with the amount and kind of programming I was doing. I’ve never looked back and I’ve never pined for my missed life of code slinging. I have some sympathy for movements that purport to teach programming to anyone who is interested but I don’t believe that programming is an essential skill for every person in the 21st century anymore than metal fabrication was an essential skill for every person in the 20th century.
A few concrete examples may be helpful. First, I spend quite a bit of my time analyzing quantitative data e.g., student grades and assessment data, student retention data, and survey responses. I usually do that analysis (and much of the pre-analysis work such as data cleanup, creation of new variables, aggregating and matching of different data sets) using SPSS, a statistical analysis program commonly used in the social sciences. Although SPSS can be operated almost entirely using point-and-click menus, my real work is done using the program’s programming language (called “syntax” although it’s really just a scripting language). This makes my processes (a) self-documenting and (b) replicable. In other words, by using and saving SPSS syntax in organized ways I always know exactly what I did and I can easily make changes or corrections.
Second, I seem to use programming logic quite often when working with larger surveys. I’ve become quite good using some of the more advanced features of Qualtrics, the online survey tool for which we have a site license. I declare variables and pass them around between surveys and reports using Qualtrics’s “embedded data” feature. I also use some of the different features of the tool that allow me to divide a given survey into different sections and selectively display only those sections that are relevant to a particular respondent. Combining these features is allowing us to move a key assessment process for one of our academic departments from a cumbersome series of Excel spreadsheets and Word documents that is entirely manual to a Web-based process that still requires some manual data entry but has some built-in checks for data quality and reporting tools that are largely automated.
I’m not advocating that everyone must learn how to program. I am advocating that those who regularly work with quantitative data – assessment folks, researchers, evaluators, analysts – learn some basic programming skills including flow control, abstraction, and uses of variables. I spent part of my life trying to actively avoid programming and I’ve moved completely out of IT but programming skills have proven to be extremely valuable, useful, and sometimes essential.