Alright, so I got into programming pretty early on, I think around 13 or 14. Basically, as soon as I discovered that you could actually make video games, not just play them, you could do that by writing code – that got me really hooked. I kind of quickly became very interested; I started to learn more about it, and quickly progressed from Visual Basic to others, and ended up with C++. That was my language of choice for a long period of time, because when you’re doing video game development, that’s one of the better tools.
I wanted to make video games for a long time, pretty much up until I got to my masters. I was doing my final project there; this was a huge project in C++, and I was working on it for many months. There was a lot of pressure, there were a lot of deadlines, and I had to do a lot of things very quickly, and I felt a lot of frustration at that time, because there were so many things I had to do kind of manually and in a very tedious manner.
So I was using Visual Studio, and for C++ it didn’t have great refactoring tools, and I was just like doing all these things — like, if I wanted to rename a variable or a function, I would have to change it in a CPP file and in a header file as well.
[00:04:06.13] If I were to move something, it would be a lot of manual steps, and that kind of frustration just made me really want to work on the tools that would make my job easier, or the jobs of all the programmers out there… So that got me interested more on the developing tools side.
Sometime after that I felt so motivated to do that, and I had all these ideas and I wanted to try them out, so I started working on this experimental project called Conception. I really wanted to try some crazy ideas, like — I was thinking “Why is it that source code is text files? That is so backwards; it should be something more sophisticated.” I tried to put those ideas to the test, and for about a year after that I worked exclusively on this project. It was a lot of fun, it was very interesting, we tried a lot of experimental ideas, and at the end of that year I actually submitted it to a conference — it was a competition, Live 2013, and I ended up winning first prize. That was pretty cool.
What happened after that is that the project got a lot of visibility and publicity, and it kind of helped me get my first job in San Francisco, which was a place that I really wanted to end up or go to to work sometime. I’m from Toronto, and San Francisco — it’s always been a dream to go and work there, because I knew it’s one of the best places for technology. It’s where all the startups are, all the big companies, and lots of things are happening there, so it’s kind of like just a dream to go there.
I ended up getting a job, so I ended up working first at Triggit. It was a startup where we did real-time bidding and advertising, things like that; this was a company that was just getting into using Go, so one of the reasons they hired me was because I was good with C++ and Go. I thought this is a great place for me to practice both languages and help them convert a lot of things they were doing, from many languages. They had a lot of success with Go, so they started to push it to more and more projects.
After that I worked at another company, Sourcegraph. That one, you may have heard of it. We were building tools for developers, and it’s kind of famous in the Go community because of doing the live streaming for GopherCon, and so on. This was a very different environment where there was a lot more open source. I was actually working on developer tools, so this was a lot of fun.
In the course of working in San Francisco for those three years, I was kind of always saving up towards this future dream of being able to just work on open source full-time. That was my dream of what I wanted to try next… Because it’s one thing when you have your weekends, maybe an hour or two on weekdays to contribute to open source, and a whole different story if you actually have your full time available to do it.
Because I became such a big fan of working with Go, I wanted to basically do more of that. So this actually happened, and I ended up starting this — beginning of this year, end of last year, and I kind of transitioned; I left my job there and I came back to Toronto, and started doing this thing of working full-time on open source Go code.