I happened upon Chris while researching technology summer camps in Los Angeles, to fill out the magazine’s resource page listing these camps. Chris and his wife started Kids Can Code, a hands on technology camp. When I looked into his background, I realized Chris is exactly like many programmers and technologists I’ve met over the years. He started in one place, creating a record label web site in 1994, then evolved into different roles in his career. Here’s his story, from well before the website and through the past few decades.
Tim: Was the record label site you created the first time you had done programming?
Chris: I first learned to code in middle school. We had some TRS-80 computers and were able to do some BASIC programming. Then, in high school we were lucky enough to have an old Unix system that had been donated by a local company. We had AP Computer Science, which was based on Pascal at that time.
The record label site we created in 1994 didn’t really involve a lot of programming, just basic HTML and server setup. It was such a new thing back then, it was exciting every time we saw a hit on the website!
Tim: What is your background as a programmer?
Chris: I grew up in the 80’s, when arcades and home consoles were all the rage, and I’ve always been into video games. As with kids today, when my friends and I were learning to code in middle and high school, we did it because we wanted to make games. As I recall, the first game I ever made was a text adventure when I was 12.
I studied as an engineer (aerospace) in university. We were required to do quite a bit of FORTRAN programming for projects. I also took classes in C.
Professionally, I have never been exclusively a programmer. I have mainly worked in systems, building the networks and servers that enable various online services. In that capacity, you have to be kind of a jack-of-all-trades and pick up a lot of different skills around both hardware and software.
The language I use most is definitely Python. It has pretty much replaced other languages for the majority of tasks I need to accomplish. I find it very enjoyable to code in, as well as being my favorite choice for teaching to beginners.
Tim: How did you get involved with game programming?
Chris: I came to game development from the online services side. When building online games, you have to consider not just the game itself, but how you make sure that it stays online and available for players to use 24×7. In that sense, it’s no different from any other kind of online service.
Online/mobile games today are very much driven by data. Every game has a flood of data about how players are playing, what parts of the game are working and what parts aren’t, etc. All of this feeds back in to the game’s design so that you can make it as engaging and fun an experience as possible.
Tim: Do you find game design and game programming very different? Does it help to know both?
Chris: “Game design” is a very broad term, and can mean different things depending on who you are talking to and what type of games you are talking about. Kind of like how film making isn’t just about camera work, screenwriting, or acting, but a combination of those and many other factors that go into making a successful film.
Making games is a great way to learn programming, because while you’re learning you’re also producing something that’s (hopefully) fun and that you can share with your friends.
Tim: Are you working in a technical role these days?
Chris: Right now, I work as a consultant, helping game companies to analyze their games and manage the huge quantities of data that online games generate.
Of course, I also spend as much time as I am able to teaching and evangelizing early computer science education.
Tim: What's the most fun you've had as a programmer and technologist?
Chris: Definitely teaching has been the most fun. This past summer for the first time I ran a game development and design camp for advanced students. I really enjoyed this camp quite a bit, as we were able to really get quite deep into all aspects of game development – coding, art/sound, deployment, etc.
Tim: What's been your role with your Kids Can Code summer tech camp? How did that go last summer?
Chris: I am the main instructor for the coding camps and develop all of the curriculum. Last summer was was our second year doing summer camps and was bigger and better than the year before.
Tim: For your kids, and any kids, what advice do you have for pursuing an interest in technology?
Chris: With the Internet, kids today have an unprecedented access to learn anything they could possibly have an interest in. My greatest advice would be to take advantage of that and try looking into as many different things as they can at an early age. You never know what you might find that turns out to be the thing you really love doing.
Games are definitely something that nearly all kids are attracted to. Robotics is also very popular these days, and will be a major growth industry in the future, and software is a very important component of robotics.