BitTorrent is a company made up of inventors, engineers, scientists, designers; makers and breakers of technology. The BitTorrent Interview is an introduction to the people of peer-to-peer: notes from the edge of distributed technology, and a few words from the team we’re lucky enough to call our own. In this week’s edition: Dave Hansen, software engineer.
In this edition of The BitTorrent Interview, we sit down with BitTorrent software engineer Dave Hansen. Dave tells us what advice he has for aspiring engineers (hint: finish what you start) and explains why he thinks learning to code is as fundamental as learning grammar.
Q: How did you get here?
Well, I’ve been a fan of BitTorrent for a while.
As for how I got to where I am work wise: when I was younger, I had the opportunity to work at a dot com during the original boom. I was in high school. I was working on software networking. Getting the opportunity to work with engineers as a peer was a huge opportunity for me and ultimately gave me a leg up when I was applying here.
Q: What advice would you give aspiring software engineers?
The most important thing as a new person in software is to complete the projects you start. That’s my biggest fault growing up. I think it’s the fault of most people when they are learning to program; you get an idea and you bang some stuff out and you never finish it. So much of what you learn from the project is in what feels like those last little steps. When you have mature project out there for everyone to read, it’s so much better than a 90% complete project. So, finish what you start.
“So much of what you learn from the project is in what feels like those last little steps.”
Q: How did you get started with programming?
I taught myself how to program when I was 10 by typing code out of a book into a text file and running that. I would make typos, which would introduce this whole thing where I’m adding a bug and don’t know where it is. But, in that process of looking for the bug, I learned a lot.
I went to computer camp at Stanford for all three years of middle school and got really enthusiastic about it. I liked learning to program as a way to occupy long days. I moved away from my friends. I was bored. It was a nice way to spend those afternoons.
Q: Do you think that people should start coding early?
I think that the most important thing anybody can do is learn to code a little bit. I think everyone can learn the fundamentals.
Whether or not you’re going to grow up to be an engineer, learning to code is valuable. It’s like taking grammar classes, everybody should understand programming basics in the same way we known nouns and verbs and adjectives.
In the same way I had a typing class, why not give kids a Raspberry Pi?
Q. What do you like to do outside of work and programming?
Inside of the office, I like to play Ping Pong. Outside of the office, I like to travel.
I’m about to go on a month long trip to Philippines. I didn’t travel outside of the country at all as a kid. I chose the Philippines because it’s beautiful and has a rich history. I’m going to go SCUBA diving around wrecks of warships and planes that crashed from the Japanese occupation. It’s nice to get out of what you’re used to for a few weeks. It’s a challenge.
Q. What do you find challenging?
So many things are a challenge: getting around, communicating. I mean, it’s a challenge if you make it one for yourself.
“Everybody should understand programming basics in the same way we known nouns and verbs and adjectives.”
Q. Is that what you like about traveling, the challenge?
Yeah. That and if you do it well, you can get pretty remote. It can be as quiet as you want it to be.