Photo of Yann Dauphin Hi, I'm Yann Dauphin! 

What do you work on?

I am a machine learning Ph.D. candidate. I design and code artificial intelligence algorithms that can learn from examples. They are like programs that can program themselves. I spend most of my time discussing new ideas for algorithms, coding in Python, drinking tea and reading up on recent developments.

My research focuses on large-scale deep neural networks. I've been able to apply some of my work at Google and Microsoft through internships. These days, I'm working on distributing the learning of neural networks on clusters of computers. I’ve also worked on new learning algorithms that can extrapolate data. Here is such an algorithm making up images of facesAlgorithm dreaming up faces

How did you learn to program?

It all started when I realized that all you needed to make programs was a computer. Here was a way to translate my wacky ideas into reality without any money or heavy lifting. I’ve always had a wide imagination so I thought that was very exciting. Programming meant being able to make my own games, websites and tools.

So in middle school around 1999, I bought a programming book. That book was so dry that it made me give up. A year later, I stumbled upon Howstuffworks’ excellent C programming tutorial. The very same day I was writing my first programs. At first they were pretty simple, but it was cool to see all the things you could make the computer do. I honed my skills mostly by working on my own projects and by contributing to open source projects on Sourceforge. Later on, I broadened my knowledge by studying computer engineering in university.

What do you do when you're not programming?

Photo of Yann playing bassPlaying a gigMy favorite way to move around is biking. I ride about 100 km per week in the summer. It helps me clear my mind and stay in shape. I also enjoy playing music. I listen to all kinds of music (like rock, reggae and rap), and I try to play a bit of everything with my bass.

What’s your one piece of advice for new programmers?

The more you know, the more you can do. However, you don’t need to know everything to get things done. Just a bit of know-how is enough to get started on most projects, you can learn the rest along the way. Don’t be afraid to break stuff, it’s all virtual anyway.