I dedicate this post to all those digital rhetoricians out there who made it a goal to “learn to code” this Summer. I hope you did, and I hope you had fun. But I also hope you get back to doing your real job. We need you. Don’t panic, I’m not against making stuff with programming languages. I make software. And I think you should too. But writing code? You should leave that to other people.
As for my summer, I spent a lot of time thinking about teaching and learning in online spaces. I taught an online first-year writing course that began just one week after the Spring semester ended. I taught a hybrid graduate seminar called Teaching with Technology. And my colleagues and I saw our online review service – Eli Review – through three different three-week development sprints to improve the user experience and add new features.
As a digital rhetorician, I make software for the same reasons I write journal articles or teach classes: to put ideas into the world in a way that might make a difference. But I don’t write the code. I hire folks who do. And that’s…ok.
It’s fine to want to know how to do things with programming languages. I do. And I love it when I can put some characters in a row that – almost like magic – do things that a traditional text cannot. It is a thrill. But let’s not confuse knowing how flow control variables are used and how to call a function from a script library with developing commercial-grade software. It would be sort of like suggesting one could build a commercial airliner after putting a radio-controlled model plane together from a hobby store kit. Real airliners are built by teams of specialists. So is most of the software that is worth using.
When I came to Michigan State to join the Writing in Digital Environments (WIDE) research center, I was excited to have the chance to make software in a way that could have reach and impact as well as academic integrity. I saw it as a chance to move beyond the software equivalent of making digital videos with a consumer-grade camera and iMovie and into the world of making feature-length productions that folks pay money to see. Indeed, that’s how I understand what I do in conjunction with Eli. I’m something like the director of the picture. We also have the equivalent of producers, a cinematographer, and a host of technical people who do sound, cinematography, editing, casting, costumes, and even craft services. I yell cut. I review the dailies. I take the heat if the algorithm does violence to writing pedagogy.
We need more people playing director and producer roles in the production of digital resources – software and services – that expand the reach of rhetorical theory into the lives of people. What does that take? Experience in software development helps. Before I came to WIDE, I got some experience working in software engineering at a big, blue technology company. I also had spent years thinking computationally about rhetorical theory and writing practices. That’s another thing I encourage, by the way. And if I had to choose, I’d easily select computational thinking over knowing how to do things with programming languages as the critical skill of a digital rhetorician. What is computational thinking? Jeanette Wing, Chair of Computer Science at Carnegie Mellon, has a wonderful discussion of it. And her definition is great too: “Computational thinking is the thought process involved in formulating problems and their solutions so that the solutions are represented in a form that can effectively be carried out by an information-processing agent.”
It’s much more valuable and important to be able to think computationally about rhetorical issues than it is to be able to write a program that simulates blackjack or even one that, say, computes a score for evaluating students’ performance as reviewers. The hard part is designing the algorithm that produces a valid result, something that not even an advanced programmer can do without knowing what makes one review performance better than another. So my advice to my fellow and aspiring digital rhetoricians is this: forget about code. It’s like mastering the five paragraph essay rather than learning to write well. Instead, learn to make algorithms. Learn to tune them and do useful things with their output. Work in a programming language to do this if you like, or pseudocode, or just plain math. But make a rhetorical idea computational. That’s a cool Summer project!