I was born in 1963, and grew up on Vancouver Island, where two inches of rain is considered a light shower. I completed a Bachelor's degree in Mathematics and Engineering at Queen's University in 1984, then worked in Ottawa before moving to Edinburgh to do an M.Sc. in Artificial Intelligence, which I completed in 1986.
I spent the next six years working as a programmer in the Edinburgh Parallel Computing Centre; my responsibilities included parallelizing scientific applications, editing the centre's newsletter, and running its summer intern program. I also worked on a Ph.D. in Computer Science, which I completed in 1992, and started writing for the popular press. These experiences have shaped my career and research interests ever since.
Between 1992 and 1995, I wrote a book called Practical Parallel Programming while doing post-doctoral work at the University of Oregon, the University of Alberta, Australian National University, the Vrije Universiteit, and the University of Toronto. In 1995, I took a post at IBM's Centre for Advanced Studies in Toronto; fifteen months later, I joined a business data visualization startup. Between those two jobs, I experienced first-hand most of the things that can go wrong in both large and small software teams, but also edited Parallel Programming Using C++ with Paul Lu.
I went independent in 1998, working primarily for Los Alamos National Laboratory, wrote my first children's book (Three Sensible Adventures), and started playing the saxophone and Ultimate frisbee (though not simultaneously). I also became involved in open source development, particularly the Python community.
Between 2000 and 2004 I was part of the Select Access development team. Originally a startup, we were acquired first by Baltimore Technologies and then by Hewlett-Packard. During this time, I was a contributing editor with Doctor Dobb's Journal and an adjunct professor in the Department of Computer Science at the University of Toronto, where I supervised undergraduate programming projects and created a new second-year course on software tools and design.
After leaving HP in 2004, I put the Software Carpentry course online and wrote Data Crunching. I became a professor in Computer Science at University of Toronto in May 2007, a post I held until April 2010. In that time I published another children's book (Bottle of Light) and two more programming books (Practical Programming and Beautiful Code, which won a Jolt Award in 2008), supervised several MSc theses and Google Summer of Code projects, set up a cross-country undergraduate capstone project program, helped create a new M.Sc. in Applied Computing, and was named ComputerWorld Canada's "IT Educator of the Year" for 2010. I also met the woman I'm now married to (which probably ought to have gone at the start of this paragraph), and in 2007 we became the proud and happy parents of the most wonderful little redhead in the whole wide world.
Since leaving academia in 2010, I have grown Software Carpentry into a program that helps several thousand scientists a year, and founded a non-profit foundation to oversee its future. I have also helped organize a two-day meeting of grassroots groups trying to improve inclusion and diversity in the tech sector, edited a book on evidence-based software engineering called Making Software and a series on software architecture called The Architecture of Open Source Applications, and written two more children's books: one on science called And Then..., and another called Still.
I am presently on sabbatical in England with my family as I finish off a fantasy novel for adults and another children's story and try to figure out what I should do next. If you have ideas, I'd enjoy hearing from you.comments powered by Disqus