What is Middle-Skill Computing Work?

On the left a blue label reading "workplace computing tools" connected to a right label "computing career" with a dotted squiggly pathway

What is middle skill computing work? Well, I am thinking about it, and figuring out if this is the right term or not. Throughout my career, writing blog posts has always been a tool to help me figure something out… and so here we are. This post is somewhat “written in haste” with a bit of editing. Given that research ideas may change significantly with new knowledge, what I write here is subject to change! Here are some changes already:

  • Skill probably isn’t the right construct here because skill itself is situation-dependent – what is middle-skill in one context to one person might be high-skill in another context, and low-skill to another person in the same context (thanks to Mark Guzdial‘s feedback for prompting this insight).

First, what is a “computing job”?

When you think of a computing job, what comes to mind? Software engineer at Google? Data scientist at Uber? That’s what usually comes to mind when I ask people what counts as a “computing job.” These are the elite, high-salaried, highly-sought-after positions at big tech companies that are the goal after a typical, formal computer science education and even a non-traditional coding bootcamp or online course. An emerging theme in my research is that there is a need for some more language around how we talk about computing work because there is a ton of computing work that happens outside of these typical high-status computing jobs.

I argue that the less elite kind of computing work is a powerful pathway for broadening access to computing education and career paths. For example, there are many people out there working in web design and development, managing datasets in Excel (and all the work at DataWorks), administering Salesforce automation flows, and more. People in these jobs may be simply looking for stable, salaried career paths that leverage their skills and provide some room to grow them on the job. In my earlier career, I was one of these people. I ran a web design and development freelance business, and over the course of a decade, my skills grew. Eventually, my skills grew to the extent that I could move into a more technical, and more highly paid, software engineering job at a media company. Still, this salary wasn’t what software engineers at high tech companies are paid, but it was a great job and great pay for me. This was my career path to computing, and I am doing a PhD to explore how alternative pathways to computing careers can be more accessible to adults without formal training.

Middle-Skill Computing Work

I am testing out the term “middle-skill computing work” to describe the “less elite” computing work that happens outside typical computer science contexts. Computing professionals may not think of think work as “real” computing jobs, and the tools may not be considered “real” programming tools (….and this kind of thinking is gatekeeping; I wrote a post about that here). I borrow the term “middle-skill” from manufacturing jobs, where middle skilled workers are those “with trade skills as well as those capable of working with automation” (Bianchi, 2023; HBS report, 2013). These jobs require some training beyond a high school diploma or GED, but less than a bachelor’s degree in a particular field. They are typically in the salary range from $30s-100k USD. The skills to perform this work are often learned on the job or through certificate training programs, and these positions can be a pathway to upward mobility within an organization.

What is middle-skill work in computing? Computing work is happening everywhere and in many kinds of jobs, but why does computing education research, and computing research more broadly, limit its focus to elite computing jobs and disregard novice-friendly tools like Excel, HTML, and CSS? Is it because this kind of middle-skill computing work is new? Is it because research is mostly conducted by people with a formal computer science education, so they don’t consider what happens outside of that context? Is it because the field thinks this work will be “automated away”? Why does it matter?

The emerging argument in my research is that this matters a lot for how researchers and practitioners approach the goal of broadening participation in the computing workforce. Elite jobs are not a viable option for many adults who are interested in computing careers. Many adults do not/cannot pursue elite computing jobs for several reasons. First, gatekeeping is pervasive in computing. Next, many adults have family and work commitments that are incompatible with current training options outside of universities; expensive coding bootcamps, isolated struggle through online courses, and hours upon hours dedicated to preparation for technical interviews are not feasible. Many adults want to learn on the job, and middle-skill computing work could be (and is, for some) a pathway to computing careers that is accessible to many adults, but as it stands now, it is a very challenging pathway. Further, middle-skill computing work won’t be “automated away”; it will evolve as our tools evolve, and automation might even create more opportunities for middle-skill jobs and less opportunity for elite computing jobs. Plus, the ability to automate is not evenly distributed across organizations. The capacity to automate work at Google, for example, will be very different than at a city government or a local hospital.

What do you think?

What does middle-skill computing work mean to you? Do you agree or disagree with my arguments? I am curious to hear your thoughts – please send me an email if you would like to share.