a Screenmancer Exclusive
SCREENMANCER INSIDER - GOOGLE CODE JAM 2014
Q & A with John Dethridge, Coder/Commentator
Also on Google+.
by Screenmancer Staff
LOS ANGELES, CA: Three days from now, Google's Pro Coder John Dethridge will make his debut as Code Jam 2014's Live Stream Commentator. So we thought we would catch up with him between his native Australia, which John left last week, and Google's Mountain View Office. He will fly into Los Angeles for Code Jam pre-prep tomorrow, but for now, he was gracious enough to make time to share an insider look at the event on Aug. 15, Google's Code Jam 2014, the Onsite Finals in West Los Angeles.
A few quick facts about John, beside being from Down Under, he began his Google odyssey as an employee by competing in Code Jam for three years while he was still a student. On the last try, he interviewed for the Blue/Red/Yellow while at the Onsite Finals back in the day. Besides, coding, John has some alarmingly normal habits, "like hanging out with friends... Swimming." But don't let that patina of normalcy fool you, Dethridge is among the top coders worldwide and on the team of Googlers who "volunteer" their free work time to cook up these insanely difficult - though solvable within four hours (!) - code conundrums.
Here's John with Screenmancer on The Large Input vs the Small Input, whether you can tell country of origin in someone's code, and whether competitive coding will make ESPN any time soon:
Q: What's the difference between the Big Input and the Small Input in layman's terms?
So, mostly what it is, is these preliminary (challenges) are problems are difficult to solve, but you need more than a program that gets an answer. We care about getting answer, but (it has to be efficient.) The large input is testing that. Some problems, say as part of a Google Search, need to be fast. So it’s not good enough just to find the right answer.
Q: What about Google Search, how often is that algorithm updated?
I don't work on Search myself, likely 100's of updates per year. A whole team is dedicated to just that.
Q: Language of choice?
I use C++. When I was in school (laughs) [at age 8], I used Basic! Later I used some other things. At work and programming competitions, C++.
Q: What about C# (C Sharp)?
I've never used C#. Microsoft developed it, some use it.
Q: Have you ever seen any languages that just blew you away, unique coder-generated ones?
One of the interesting things is that we let people use whatever language they like. Very occasionally, in the early rounds, people use really esoteric languages - almost as joke - but it doesn't work later when it gets harder. Some people will solve a problems in one of those languages. or every problem in a different language for fun. They are just having fun.
Q: Fun? That's funny! How do you guys build these challenges - like the drummer one, somebody into bands?
Anyone at google can volunteer to join the Code Jam team - often people are thinking about algorithms. Like 'How would I answer this?' Then it has to be right for the (contest). If it is difficult enough, but not difficult enough, then 'oh this would make a good problem.' We want the problems to be unique, not to be something they have seen over and over again. Again, easy enough so you can solve it within the context of a four-hour competition.
Q: Who solves them first, or do you reverse engineer them, put a question to an answer?
Sometimes we'll have an algorithm that we already have - then change the program in that way.
Q: Do you think coding will ever been seen as a big sport worldwide?
It's a sensation already. Time will tell. There's a lot of people interested in Computer Science, and people who are just enthusiasts in general, who think it is interesting. I don't think it will be on ESPN any time soon...
Q: What do you do for hobbies, or are you always coding?
Nothing out of the ordinary. Spending time with friends. Board games and computer games. I enter program competitions myself. There's one called Top Coder, also IPSC (Internet Problem Solving Contest). We look at other competitions, and see how different they are. We wouldn't want to be a lot easier, or so difficult that nobody can solve the problems. We have an idea of how it is out there.
Q: How about the difference in styles between Australian coders v US coders v Russian coders? Or, why are there so many high rankers from Belarus and Russian Federation?
I can't tell where someone is from, geographic region, just from reading their coding. That's an open question. We have people entering, literally ten's of thousands, from all over the world. So in the early stages, we have good coverage of most territories.
Q: Are there ever any straight up hackers with a digital red flag attached that you guys sweep up by accident?
No. Nothing like that.
Q: Do you recommend entrants be fluent in a few languages?
I think it is okay to be familiar and comfortable with just one. And use that through the whole competition. Generally as a software engineer, it is a good to know a few for your real job in programming.
Q: Okay. Two front-runners, last year's Champion "mystic" and newcomer "Gennady." What are the differences in their approach as coders to the Code Jam competition?
Uhm. That's a good question. I'm not sure if there is a lot of difference in the way they code.
Gennady has only just finished high school. He did extremely well in high school competitions, and he has done really well in a lot of (open adult) competitions as well. Great to have him here for the Code Jam finals.
I don't want to play favorites. A lot of these people in the final 26 have done really well in other competitions. So any of these people could win.
Some years people will finish (in record time), like every problem. Sometimes it happens, and then they just get to bask in the fact everybody is still working. Then they get go to a Google micro kitchen. Grab a snack, coffee or something. Just kind of sit back.
I fly out tomorrow (to LA). I'm really looking forward to it; seeing what they think of the problems we have put together for them.
The Onsite Finals will be held in Google's West Los Angeles Offices on Aug. 15, and John Dethridge will be there for the Play-by-Play action.
SCREENMANCER is a gathering place for people who make movies (and technology)
[Or think of us as Second Screen-mancer as we watch live and watch the Live Stream.]
Thanks to the Google Team, Meghan, Emily, John, and the Competitors for making time for this series on Code Jam 2014.
MADE IN LA