Dylan Vassallo 😁

The Khan Academy Internship Experience

September 14, 2012

Quite a few of my fellow interns have already written about what they did at Khan Academy this summer. We were productive, no? And there were fifteen of us, matching the number of full-time devs. Some of the stuff I did:

KA intern badge

Really proud of this one.

But we’re done with our internships. Another school year is upon us (sigh). If you’re a CS student who wants to intern for a tech company next summer, you’re probably going to be thinking about applying and interviewing in the next few months. So let me tell you why you should intern at Khan Academy.


Artwork by the one and only David Hu

Khan Academy interns learn from the best. The KA team is hands down the best I’ve ever worked with. Everyone is very smart, extremely competent, and really really nice, but more importantly they are the most uniformly passionate group you’ll find anywhere. On day one of your internship, one of the devs will introduce themselves as your mentor, a go-to person for pretty much anything you need–from a better keyboard to long-term career advice. And I don’t really know how to say this without sounding completey self-aggrandizing, but everyone in my intern class was fantastic to work with too. I don’t envy our lead developer Ben–with a team that can execute this well, one of the most difficult questions is where we should be focusing our efforts.

Khan Academy interns ship code. To millions of users. All the time. By the end of my first day I had gotten my development environment set up, pushed a small change to our stable branch, and watched it get deployed to the live site. It didn’t take long before I was commiting code for some pretty comprehensive infrastructure projects and feature work. If you’ve ever worked at a large company where you didn’t have a lot of direct impact on the product, you’ll quickly get addicted to seeing your name in the “devs with changesets in this deploy” message that follows a rollout. And we’re strongly committed to open source. There’s very little about your Khan internship (Khanternship?) that you won’t be able to share with the world.

Khan Academy interns use good tools. Our stack includes Python, JavaScript, Google App Engine, and Amazon Web Services (EC2, EMR, and S3). Collaboration is done with Mercurial/Kiln, git/GitHub/Phabricator, Trello, HipChat, and Google Apps. You can use whatever kind of computer you want. There are no centithreads, and barely any decithreads for that matter. Our code quality is always improving thanks to our testing, documentation, and continuous deployment practices, and the product benefits from extensive analytics work using techniques like A/B testing. Trust me: there are a lot of other companies at which this part of the job is a lot less fun.

Khan Academy interns have fun. Khan interns are treated like full-timers in many respects, and taking part in company culture is no exception. One thing I liked about KA being a small startup is that although we did have a couple intern-specific events, like an epic scavenger hunt around Mountain View, almost everything we did was entirely all-inclusive. There were the KA traditions like bread, petting Toby, hackathons, and the company offsite as well as a bunch of stuff outside of work like rock climbing, going to the movies, and trips to Muir Woods, Point Reyes, the Googleplex, and more.

Feel free to contact me if you have questions that I didn’t answer here. But really, what are you waiting for?