Khan Engineering

Khan Engineering

We're the engineers behind Khan Academy. We're building a free, world-class education for anyone, anywhere.


Latest posts

Making Websites Work with Windows High Contrast Mode

Diedra Rater on March 21

Kotlin for Python developers

Aasmund Eldhuset on Nov 29, 2018

Using static analysis in Python, JavaScript and more to make your system safer

Kevin Dangoor on Jul 26, 2018

Kotlin on the server at Khan Academy

Colin Fuller on Jun 28, 2018

The Original Serverless Architecture is Still Here

Kevin Dangoor on May 31, 2018

What do software architects at Khan Academy do?

Kevin Dangoor on May 14, 2018

New data pipeline management platform at Khan Academy

Ragini Gupta on Apr 30, 2018

Untangling our Python Code

Carter J. Bastian on Apr 16, 2018

Slicker: A Tool for Moving Things in Python

Ben Kraft on Apr 2, 2018

The Great Python Refactor of 2017 And Also 2018

Craig Silverstein on Mar 19, 2018

Working Remotely

Scott Grant on Oct 2, 2017

Tips for giving your first code reviews

Hannah Blumberg on Sep 18, 2017

Let's Reduce! A Gentle Introduction to Javascript's Reduce Method

Josh Comeau on Jul 10, 2017

Creating Query Components with Apollo

Brian Genisio on Jun 12, 2017

Migrating to a Mobile Monorepo for React Native

Jared Forsyth on May 29, 2017

Memcached-Backed Content Infrastructure

Ben Kraft on May 15, 2017

Profiling App Engine Memcached

Ben Kraft on May 1, 2017

App Engine Flex Language Shootout

Amos Latteier on Apr 17, 2017

What's New in OSS at Khan Academy

Brian Genisio on Apr 3, 2017

Automating App Store Screenshots

Bryan Clark on Mar 27, 2017

It's Okay to Break Things: Reflections on Khan Academy's Healthy Hackathon

Kimerie Green on Mar 6, 2017

Interning at Khan Academy: from student to intern

Shadaj Laddad on Dec 12, 2016

Prototyping with Framer

Nick Breen on Oct 3, 2016

Evolving our content infrastructure

William Chargin on Sep 19, 2016

Building a Really, Really Small Android App

Charlie Marsh on Aug 22, 2016

A Case for Time Tracking: Data Driven Time-Management

Oliver Northwood on Aug 8, 2016

Time Management at Khan Academy

Several Authors on Jul 25, 2016

Hackathons Can Be Healthy

Tom Yedwab on Jul 11, 2016

Ensuring transaction-safety in Google App Engine

Craig Silverstein on Jun 27, 2016

The User Write Lock: an Alternative to Transactions for Google App Engine

Craig Silverstein on Jun 20, 2016

Khan Academy's Engineering Principles

Ben Kamens on Jun 6, 2016

Minimizing the length of regular expressions, in practice

Craig Silverstein on May 23, 2016

Introducing SwiftTweaks

Bryan Clark on May 9, 2016

The Autonomous Dumbledore

Evy Kassirer on Apr 25, 2016

Engineering career development at Khan Academy

Ben Eater on Apr 11, 2016

Inline CSS at Khan Academy: Aphrodite

Jamie Wong on Mar 29, 2016

Starting Android at Khan Academy

Ben Komalo on Feb 29, 2016

Automating Highly Similar Translations

Kevin Barabash on Feb 15, 2016

The weekly snippet-server: open-sourced

Craig Silverstein on Feb 1, 2016

Stories from our latest intern class

2015 Interns on Dec 21, 2015

Kanbanning the LearnStorm Dev Process

Kevin Dangoor on Dec 7, 2015

Forgo JS packaging? Not so fast

Craig Silverstein on Nov 23, 2015

Switching to Slack

Benjamin Pollack on Nov 9, 2015

Receiving feedback as an intern at Khan Academy

David Wang on Oct 26, 2015

Schrödinger's deploys no more: how we update translations

Chelsea Voss on Oct 12, 2015

i18nize-templates: Internationalization After the Fact

Craig Silverstein on Sep 28, 2015

Making thumbnails fast

William Chargin on Sep 14, 2015

Copy-pasting more than just text

Sam Lau on Aug 31, 2015

No cheating allowed!!

Phillip Lemons on Aug 17, 2015

Fun with slope fields, css and react

Marcos Ojeda on Aug 5, 2015

Khan Academy: a new employee's primer

Riley Shaw on Jul 20, 2015

How wooden puzzles can destroy dev teams

John Sullivan on Jul 6, 2015

Babel in Khan Academy's i18n Toolchain

Kevin Barabash on Jun 22, 2015

tota11y - an accessibility visualization toolkit

Jordan Scales on Jun 8, 2015


Working Remotely

by Scott Grant on Oct 2, 2017

When my wife and I left Silicon Valley in sunny California to return to my hometown of Kingston, Ontario, it was a significant change in our pace of life. Kingston is a medium-sized university town on the edge of Lake Ontario that can reach negative 40 degrees with windchill in the winter. (For reference, negative 40 degrees is the point on the temperature scale where Celsius and Fahrenheit overlap with one-another, so basically, it's a lot colder than the bay area.)

Kingston has a lovely entrepreneurial scene, a strong public sector economy, and a lot of educational and military opportunity. It's a beautiful town, and I'm elated to live here. However, there aren't a lot of local places to find a tech job.

I've worked remotely in some capacity at a few different organizations over the past decade, and worked remotely full-time for approximately two years. My first exposure to remote work was as a graduate student and new parent, when my advisor gave me the chance to experiment with a flexible schedule.

Pair programming remotely

Remote work has grown since then. More importantly, we've come to understand that remote work isn't just as simple as "working from home."

With growing tool support and broad understanding of what it takes to succeed as a remote employee and as a remote-friendly workplace, towns like Kingston suddenly become just as tech-friendly as San Francisco. Well, San Francisco without the boba, and no bike-delivery in the -40 degree winter.

Remote Work and Routine

When I started working at Khan Academy, my joke was that I'd bought some new work outfits to celebrate, including comfortable pajama pants and some soft wool socks. The truth is more complicated.

Regular Working Hours

Working remotely, whether at home, at a coffee shop/restaurant, or in a co-working space, requires a certain amount of self-discipline. When I was a graduate student and living with a newborn baby, I worked whenever there was time in my schedule (and when I wasn't too tired!) Nowadays, it's been helpful for me to set up a routine, which is key for getting into the "you're at work now" mindset and not into thinking about all the house tasks that could get done. I'm used to starting work at eight in the morning because that's the time that my wife and kids go to school and the house is empty except for me, my cat, and my fish.

A large part of my work schedule revolves around my family life. My work day tends to start right after my kids have hopped on the school bus. I grab lunch at 11 or 12, usually on the hour, and I don't eat at my desk. I take a small break at around 3:45 each day to pick up my kids from the bus, hear about how their day went, and get them settled in at home, before returning to work for an hour or so. That's what my average weekday looks like. It's a comfortable routine that lets me be productive during my best hours while still being available for my family.

Knowing When To Stop

If you work from home, there's a danger in getting trapped in the mindset of always being at work. I have a home office where I spend most of my working time. But I'm also in here after the kids go to bed to read, to write, or to play a round or two of Spelunky. I'd be lying if I said I never checked in on Slack to see how things were going in the office. Having a dedicated work space (or mostly dedicated work space) helps me not get trapped in the mindset of always being at work. Sitting on the couch might be comfortable, but it's harder for me to feel like I'm at work because that's not where I typically do most of what's required of me. If I am on the couch, I can relax because it doesn't feel like I have work expectations.

Every person is different. It's important to be aware of your work-life balance. Setting boundaries helps you stay healthy, while also giving you the time and focus you need to do your work.

Important Addendum

I did buy the pajama pants and socks! It's too cold in the Canadian winter to walk to the bus stop in pajama pants, so I have an unavoidable excuse to get dressed in the morning. Yay, routine! :)

Logistical Considerations

One of the most striking differences between Khan Academy and my other remote working experiences is that there's a visible effort by everybody to be inclusive. Our office is in Mountain View, California. For me (and for the other East Coasters), this means that we have a three-hour difference between the on-site work day. We don't have a rigid set of core working hours, and employees are free to work when they're able. We try to be mindful of people's schedules, of course. This means that teams make a conscious effort to share a few hours of each day for meetings and synchronous conversation.

Every meeting room has teleconferencing hardware that's easy to use. If there's a technical issue that prevents remote employees from taking part, the meeting typically halts until the problem gets solved. Sometimes the solution is creative; when the audio stopped working in a recent meeting, on-site employees banded together to communicate via realtime notes in a shared Google Doc. And when there's discussion in or after a meeting, everybody is aware of the small delay when teleconferencing, and patiently waits to make sure they won't be speaking over top of somebody else.

This mindfulness is the biggest work-related difference that I've found here. Khan Academy is always thoughtful of the fact that there are people who work outside of the main office. As an organization, everybody is reflective about communication strategies. We consciously make time for face-to-face meetings. We try to write documentation in a way that enables asynchronous work. And we're respectful about the fact that some people are most comfortable working in the early hours of the day while others prefer to start in the late morning and work into the evening.

Culture: Treating Remote Employees like Onsite Employees

Khan Academy is also mindful of the value of having enough face-to-face time. As employees, we're encouraged to travel to Mountain View several times a year, especially at the same time as others. We use Slack to keep in touch, but there's no substitute for getting to know people in person.

There's a long-standing tradition of baking bread.

Khan Academy has a bread baking tradition. Being remote doesn't have to get in the way!

And being at a distance doesn't mean that you miss out on the fun benefits of working in an office that supplies you with healthy snacks and other goodies. A delicious banquet of cookies arrived at my front door shortly after starting at KA. My kids even let me have one or two of them. :)

A cookie bouquet!

The one who really ate the cookies

Other KA Opinions

According to our current company directory, one-third of Khan Academy is remote. I polled our #remote Slack channel where us out-of-towners (and some in-towners) chat about what's on our mind and asked two questions: What's the best part of working remotely for you, and what's the hardest thing about working remotely for you?

The most common reason that we get excited about working remotely is the flexible schedule and increased deep-work time. We have a few early-risers, most of whom are farther East than the company office, and those quiet hours in the morning can be some of the most productive. We also appreciate not having to choose between career and family because of where you choose to live. Insofar as establishing a healthy work-life balance, remote work enables us to live in quieter areas, if we choose. Others mentioned the lack of a commute and not having to pay Silicon Valley rent prices.

That said, there are other challenges involved in remote work, too—some of which are harder to overcome than others. While we do occasionally see each other in-person, remote workers often miss out on the "water-cooler" culture: the implicit information-sharing and social bonding that happen at the snack station. It's difficult to capture those more casual interactions via Hangouts and Slack.


Khan Academy is a really special place. Everybody here is vested in maintaining a company culture founded on respect and inclusion. As remote employees, we see that reflected in the conscious effort made to keep us as closely informed as on-site employees. And while there are unique challenges that come with working in a separate location from one of the most fun workplaces ever, the tradeoffs make the choice easy.


With special thanks to the KA reviewers and responders who made this possible! Thank you, in alphabetical order, to Kevin Barabash, Nick Breen, Joshua Comeau, Matthew Dunn-Rankin, Eman Elshaikh, Jared Forsyth, Melanie Fox, Colin Fuller, Amos Latteier, April Russell, Jeff Yates, and Karina Young!