As a programmer, I’ve used and struggled with the APIs of many code libraries and frameworks: from data visualization (d3.js, ggplot2) to statistics (many in R) to web development (Ruby on Rails, Bootstrap) and many more.

My two co-authors and I were interested in how to best categorize the knowledge needed to successfully work with APIs. Before I tell you our three categories though, a story of failure, learning, and then success:

A Story: Statistical Tests in R

Early in my PhD studies, I finally got my first dataset to run an experiment on. I wanted to use it to determine if people’s use of an online debugger varied with culture. To see if our dataset fit our predictions about culture and debugger use, I decided to use the R programming language to run some statistical tests. …

Different Languages Have Different Colors

This fact that Korean has no equivalent to the English word “blue” was part of what motivated me to join Younghoon Kim (first author), Gabriella Silva Gorsky, and Jeffrey Heer on a project investigating how different languages handle colors differently. I’ll explain this fact about “blue" in detail below, but first:

Please consider taking our 12 minute color perception survey before you read the rest of this post (we could always use more data, and reading this post first might influence your answers).

Collecting Color Names

In order to find out how colors vary between languages we created the color perception survey (linked above) on Lab in the Wild. As part of this survey, we ask people to tell us what languages they speak, and we later ask them to name colors in their primary language. We started by only asking people to name random “hue colors.” We used this limited set of colors first since it lets us look for interesting patterns with limited…

While working on my last project, I learned about how scientists try to measure culture. Culture, of course, is an incredibly complicated subject, but with a few huge simplifications, we can measure aspects of culture and see how those aspects relate to each other and to people’s behaviors. But how do we make these simplifications? I will describe two different ways below:

National Culture (Hofstede’s cultural dimensions)

One huge simplification we can make to culture is to treat each country as having a single national culture, and make comparisons between countries.

Geert Hofstede made this simplification when he measured culture at IBM starting in the 1960s. He did surveys of IBM employees around the world to find out how people’s attitudes varied between countries, even when those people worked for the same company. …

When I moved to Peru a decade ago, I began to notice how much of the computer programming world was centered in the US (and within the US, Silicon Valley). I began to wonder who around the world had the most opportunities to learn programming, and how people around the world might program differently.

After starting graduate school I started to learn about how researchers have found that culture influences how people use computers in general. One of those differences is that some people prefer more step-by-step instructions, whereas others don’t.¹ …

Image for post
Image for post
Credit: WOCinTech Chat

How do the motivations of women who attend coding bootcamps differ from the motivations of women who attend undergraduate computer science (CS) programs?

A few months ago, I met Sherry Seibel at a computer science education conference (SIGCSE), where she presented preliminary results on this question (abstract, poster). She did a qualitative study where she interviewed four female CS graduates, and four female coding bootcamp graduates, asking them about their experiences.

Here are some of the differences she found between female CS graduates and bootcamp graduates:

  • Three of the four CS graduates considered themselves to be be good at math, while none of the bootcamps graduates considered themselves to be good at…

Image for post
Image for post
Credit: Ulrich Lange, Dev Bootcamp

Employer Views

Many people I’ve talked to about my coding bootcamp research wanted to know what employers are looking for from potential coding bootcamp hires. I have better answers now because a group of researchers I met last week at a computer science education conference (SIGCSE) went out and asked employers at twelve software development companies what they wanted from potential hires (paper). Some companies were small (less than 50 employees) and others were large (over 250 employees). Different companies focused on automobile technology, healthcare, digital marketing, and consulting.

The researchers found that employers at these companies look for a mix of hard skills (technical knowledge) and soft skills (adaptability, team work, creativity, etc.). In the interviews, employers talked about soft skills twice as much as hard skills. Most said they want a baseline level of technical skills that are assessed with screenings, but beyond this they put significant effort into evaluating soft skills. …

Image for post
Image for post
Graduation rates of coding bootcamps compared to Computer and Information Science degrees in the US. Sources: CourseReport, National Center for Education Statistics

A year and a half ago, my wife, Kristen, was an English teacher. Now she is a full-time software engineer at Microsoft. I followed her journey with excitement as she went from writing her first “Hello World” program, then her first full stack web app, to getting an apprenticeship and finally a full time job.

Along the way, I was intrigued by how many options she had for learning programming: online tutorials, in-person classes, intensive coding bootcamps, and more. Each option had different benefits and drawbacks, each one felt like a disconnected piece of a path (hopefully) leading to a software engineering job. …


Kyle Thayer

Assistant teaching professor in the iSchool at the University of Washington. I research programming, culture, and education. (he/him)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store