Greg Wilson

Greg Wilson

Head of Instructor Training at DataCamp

Co-founder of Software Carpentry

Editor of Beautiful Code, Making Software, and
The Architecture of Open Source Applications

Occasional children's author

Ph.D. in Computer Science

Parent, spouse, and proud Canadian

I Can't (Quite) Teach JavaScript

Mar 17, 2018

I’ve been thinking about what tools I would use to teach librarians how to crunch data if I was starting today with a blank slate, and I have reluctantly concluded that I can’t (quite) use JavaScript. I hope my reasons for considering it, and my reasons for saying “no”, may both interest people.

Seven Ways to Think Like a Programmer

Mar 16, 2018

Jon Udell’s essay “Seven Ways to Think Like the Web” completely changed the way I think about what the Internet is for and how we ought to use it. I tried to sum up the big ideas of an earlier incarnation of Software Carpentry in response; revisiting that list six years later, I think it has thought it had held up pretty well:


Mar 16, 2018

To people who use ‘em, a wheelchair is a chariot of independence. Like a bicycle. Or a skateboard. No one is trapped, tied down, or imprisoned. Quite the opposite. They are the way some folks go to school, work & hang out with friends.

A Base Case for Empirical Software Engineering Research

Mar 13, 2018

I’ve been saying for years that programmers ought to pay more attention to empirical studies of software engineering and base their practices on evidence rather than strong opinion. I was challenged on this three years ago when someone asked me to cite studies showing that bug trackers are a better way to manage backlog than shared spreadsheets. I couldn’t, and still can’t.

Wanted: A Tool for Figure Labeling Exercises

Mar 11, 2018

I’d like to be able to do the following:


Mar 9, 2018

An imagined dialog:


Mar 9, 2018

Parkinson’s First Law is that work expands to fill the time available, but Parkinson never said whose time. As I’ve watched several organizations I’m involved in mature, I’ve realized that the people who run them think in terms of their time, rather than the volunteers’. I certainly did this when I was running Software Carpentry: it was my main focus, so the volume of lessons and email I (unconsciously) expected people to read was scaled to a full-time job, rather than to a couple of hours once a month.

Collaborative Lesson Development

Mar 3, 2018

William Gibson once said that our children would find it quaint that we bothered to distinguish the real from the virtual. Now that the hype about MOOCs has died down, we can see more clearly that on-demand delivery of automated lessons is just one of many ways to use the web to make education better for students and teachers alike. I’m really excited about Edthena, CourseSource, the upcoming Journal of Open Source Education, and dozens of other “hopeful monsters” in educational technology, and thanks to a lot of hard work from Gabriel, Rémi, Rayna, Kate, Damien, and Ian, our contribution has finally been published:

Workshop on Organizing for Progressive Community Change

Feb 28, 2018

A growing number of people who work in tech want to be involved in progressive community change, but have never been part of grassroots initiatives before. We are therefore pleased to announce that Alejandra Bravo and Graham Mitchell will be running a one-day hands-on workshop on Saturday, April 7 in Toronto to teach people how to figure out what their community actually needs, how to rally and organize volunteers, and how to build relationships with local institutions and like-minded groups. For more information, and to apply to attend, please go to:

I'm Missing

Feb 27, 2018

I’ve been browsing the SIGCSE 2018 proceedings (which for once I was able to read legally), and as I wrote last week, I’m repeatedly struck by my own absence. There are a handful of mentions of free-range instruction, like this paper by Burke and others, but the overwhelming majority of studies focus on formal educational settings. A lot of end-user developers pick up their skills on their own, in weekend workshops, or in bootcamps, not in institutional classrooms; it would be nice for those of us who teach that way to see ourselves in the research literature, and to be able to learn more about what we’re doing when we read it.