why i joined khan academy

18th September 2013

these were the things i looked for when i was naively job-searching 2.5 years ago:

  • mission oriented
    • i wanted to work on something that “mattered”, something that was directly doing good. i always had an idealistic streak, and i think it’s crazy that so many of us (particularly in tech and in the bay area) live in such fortune without thinking beyond our own existence. <insert caveat about how many products do tons of good unintentionally or indirectly>
  • team size of < 15
    • i wanted to be part of a team full of cohesion and trust, where the only focus was building the product. big teams can fulfill these criteria, but it’s all too easy to get sidetracked with politics, unnecessary process, and asking for permission. small teams cultivate seamless cooperation more easily, plus there’s more ownership per person!
  • young product
    • just like people, products are more malleable when they’re young. i wanted to explore (with aforementioned mission-oriented small team) all the possibilities of growing the product. i wanted to see the product take its first baby steps, to make its first stumbles, and even to go through its angsty teenage phase.
  • mentorship
    • i wanted to help the world out, and selfishly, i wanted to help myself out too. i wanted to become a better software engineer, better person, better _________. it was important that i would be able to learn from my team, and hopefully that would go both ways.

and the rest is history! suffice to say, i’m lucky + glad that i matched ka’s criteria too.

p.s. maybe you’ll find what you’re looking for at khanacademy.org/careers ?

p.p.s. i might have just scooped part of a podcast that will be released. in some form. by jason and me. shhhh!

show and tell: silly things

9th September 2013

learning is fun
along the way
as we ‘grow up’
learning becomes a chore.

at ka, we think learning is
and we try to
restore that original
feeling of

and sometimes we might be silly
on a whim
to remind you
(and us)
not to take anything
too seriously.




p.s. thanks to alpert
for his .gif factory.

p.p.s. sorry to ie8 users.
your browser has
no capacity
for silliness.

ka: from cool library to cool tutor

22nd August 2013

just last week, we launched a brand new learning dashboard on khan academy, and it illustrates a cool shift in the role khan academy can play in a learner’s journey.

prior to the learning dashboard, khan academy was like a very cool library. with 4000+ videos and 400+ exercises organized in some fashion, the burden was on the user to find the right content to consume. the user must be self aware and know 1) what topic she wants to learn, and perhaps more challenging, 2) what topic she is ready to learn. we had a few mechanics that made the experience less-library-esque, but they weren’t baked into the core experience.

:: enter, the learning dashboard ::

the learning dashboard was designed and built with the “cool tutor” idea in mind. we try to understand what you understand, and then we suggest the exercises that will be the most helpful.  we aim to suggest things that are *just right*. not too hard as to be impossible, but not so easy that it’s pointless. the more you do these exercises, the more we learn about your learning. a virtuous cycle!

if you happen to have a coach on khan academy, she can step into that cool tutor role and recommend exercises to you too! and if you don’t like any of the suggestions, and you wish you could just get lost in the metaphorical bookshelves of khan academy… you can still do that too. :)

more improvements, soon!

a few of my favorite things

15th August 2013

here are a few of my favorite things that i particularly enjoyed learning about (thanks jason!) and then using.

on building a better product + team

8th April 2013

dear debbie the developer,

welcome to the dev team! forgive me as i assume a couple things of you:

  1. you love to code.
  2. you love empty calendars because they let you code all day without interruption.

together, our dev team codes a ton as we grow our product into a better product. we craft new experiences, tackle challenging problems, and imagine better worlds as a result of our efforts. from this perspective, it is clear how coding at khan academy will bring us from here to there.

at khan academy,
you will not, however, code 24-7.

this is because you have not one but two goals:

  1. build a better product (yay, probably lots of coding!)
  2. build a better team (???)

the two are obviously related. a team of 0 can build nothing. a team of 1 (cue: sal) can build the initial version of khan academy. that early version of khan academy worked wonders for people, and our bigger team today can do even more. at this moment, we’re working on 1) redesigning the entire learning experience, 2) i18n, 3) growth, 4) analytics, 5) coach+class+community, 6) and many more facets of the same vision. sal is amazing, but even he can’t do all of this by himself.

in order to grow a better team, we commit significant blocks of time to hiring great people (like you!). we try to do it all, from repping khan academy at conferences to meeting up with potential candidates to reviewing resumes to interviewing candidates. it is not a distraction from our work because it is our work.

after we hire great people, we continue to invest time in making everyone greater. i hope you find that it is a continuous and glorious swirl of teaching + learning. code reviews share lessons and build relationships within the team. we explicitly mentor interns to absorb them more happily + less chaotically. and aside from the formal stuff, everyone is naturally super nice, and i’ve never felt like i couldn’t ask a question to learn more. again, all of this takes time, but it is time well spent.

our team at khan academy is special, and i hope you now see how you are not (only) a code monkey.


building tools to enable people to learn and teach

24th January 2013

since i’ve become a level 30 professional tweeter, blogging has really fallen by the wayside. it’s about that time of year though where i need to renew this domain, which reminds me of this awful wordpress install which has about a million + 1 vulnerabilities.

gym membership : exercising :: domain renewal : cultivating a respectable web presence.

anyway. back to our regularly scheduled programming –

though bay area awareness of khan academy is high (both in the ed + tech dimensions), i occasionally encounter people who are confused that khan academy would hire software engineers. “aren’t all the videos on youtube? do you make videos? no? then what do you do?”

some of our developers *do* make educational content (see https://www.khanacademy.org/math/calculus/differential-calculus/visualizing-derivatives-tutorial/e/visualizing_derivatives by stupendous stephanie).

for the rest of us (where i really only have authority to speak for myself. i am not the lorax, i do not speak for the trees), we build tools to enable people to learn + teach.

during the summer, a few of us worked on q&a, enabling faculty like brit to answer students’ questions or to challenge them with more questions: https://www.khanacademy.org/profile/britcruise/discussion. we noticed some particularly wonderful users who set great examples, and we enabled them as more powerful moderators to nurture and guide our growing community.

more recently, i worked on a super duper top secret project codenamed medusa. did i say secret? i mean not secret at all. here’s the shoddy documentation i wrote, which will only be relevant to you if your name is sal, beth, steven, brit, rishi, karl, vi, ben, stephanie, or <your  name if you create educational content on khan academy, now or in the future!>.

the tldr version of medusa’s purpose is to enable faculty to upload and organize their content. yes, the very content that is the metaphorical bread + butter of khan academy, unless you are on that ridiculous paleo diet (ahem).

my latest weeklong sprint enabled faculty to express their ideas in a different medium: text. yes, we had videos, yes we had exercises, yes we (more recently) had programs, and now we have the most complicated of them all: text! see one of the first articles written on khan academy: https://www.khanacademy.org/humanities/art-history/introduction-to-art-history/the-basics/a/a-beginners-guide-to-the-history-of-western-culture

so, the next time someone raises their eyebrow at me like they’re bob and bob from office space, i’ll link them to this blog post. this is what i do! i’m also a people person, i swear! the engineers can’t deal with people!

everyone starts somewhere!

26th June 2012

clearly, the part of my brain that thinks about blogging is a very slow and inefficient queue. the main reason why i dusted off this blog was because this fancy article about our dev team was published today on the internet: http://www.wired.com/business/2012/06/khan-academy/

i agree with the article that it is rare to work with such a talented collection of minds. what i find to be more wonderful and surprising, though, is how plain _nice_, helpful, and respectful everyone is. my coworkers (esteemed colleagues? board game enemies?) are very excited about what they do, and they love to share whatever they know with whoever asks. the college-me would have been too intimidated to ask and too embarrassed to reveal what i didn’t know.

fortunately, i’ve overcome these remnant fears of asking novice questions, and i’ve started being able to provide insight as new folks roll into the ka family. i’ve learned to appreciate uber transparency so that we may all learn from each other, asking questions, and exploring elegant or curious hacks together. learning *is* fun! it would only make sense that we learn a thing or two ourselves as we try to help the world learn.

as someone who started at ka with a humbler past, i feel like i’m experiencing a prolonged crash course (oxymoron, anyone?) on how to build a product/team. it’s too late to be google’s #1, but i’m more than happy being ka’s marcia lee. :)

everyone starts somewhere!
and anyone can go nowhere.

one year at ka, 3 months ago

25th June 2012

i had the ambitious idea to write an introspective one-year-at-ka post, with observations from each period in the team’s growth from 6 to 30+ pensive people. i started, stopped, started again, and stopped again, and so many weeks later, i’ve decided to give up and hit publish. the post that you are reading now represents the shadow of a greater post that was written in the alternate universe where i blog as much as i tell myself i will.

thinking back to the period from when i first started to a couple months in to the new job (one year ago from today, plus or minus exactly one blue moon):
– i hadn’t seen the rest of the dev team (ben+jason) In Real Life yet, since they were still in ny. what chumps! how were we even functional?
– we liked to eat lunch around a rooftop picnic table. with summer, the weather got hotter, and the team got bigger with a few full-timers and a slew of interns. we strategically crowded together in the shade of a not-large-enough-outdoor-umbrella.
– sal (and by extension ka) was slightly less well-known, pre TED, 60min, nyt, wired (2x?), business week, commencement speeches, etc.

today, we find ourselves with a larger slew of interns (15? 16? more?), and about that many full-timers on the dev team. we’ve coalesced into garrulous gaggles, each complete with their own trello board, docs of rambling notes, and spreadsheets with magical numbers. we still have a healthy aversion to “process”, but our company and our dev team have reached the point where we need to, you know, coordinate. :)

there are exciting times ahead as we, like any teenager, figure out our identity. a world-class education for anyone anywhere sure sounds great! but what form does that take, and what are the steps we can and should take to get there?

show and tell: hovercards

31st March 2012

about a week ago, we released hovercards (not to be confused with hoverboards). the next time you watch a video on ka, mouse over the name of someone who has posted a comment, question, or answer!

the observant ka user will recognize that hovercards are mini versions of a user’s public profile, with her avatar, name, five hand-picked badges, and some stats hinting towards her commitment to the site.

discussing a video on ka is intellectually fruitful, and the hope is that hovercards make the experience more joyful and more human. human in that you can imagine the other people who also mulled over which five badges to share, who also played around with their arrangement until their display case looked just right, and who are embarking on educational journeys that cross paths with your own.

give it a try and let us know how you feel!


as has become habit, here are a few screenshots chronicling this feature’s development.

cutting the public profile in half, and putting it into another rectangle:

one day, we might have an “add as coach” button in the hovercard, and this was a silly experiment to see what it would look to have a giant button. it is indeed giant.

wouldn’t this have been funny for folks without a public profile? maybe?

kitt (our new-but-not-that-new-anymore designer!) with the winning breakthrough to emphasize the display case over the exercise and video counts. the acts of choosing and manipulating the badges are much more meaningful and personal — we cannot be reduced to numbers, after all!

did you know that the triangle on the hovercard is in fact two triangles? there’s a white triangle sitting on top of a gray triangle. well, now you know! we’ll spare the details of how this feature was implemented except for that fun fact. the curious will always find what they seek (hint: look here).

most of the hovercards you encounter will give notice of a non-public profile. that makes for a slightly subdued learning party, but such is what happens when opting for a public profile is itself a relatively new feature and we at ka respect your privacy!

adding a coach from your profile

14th March 2012

adding a coach is nothing new on ka, but this little piece of functionality does have a new home (and mostly new implementation)!

one of our values at ka (literally and officially. it is written in a document somewhere.) is that shipping beats perfection. so yes, we pare down features, as 10 user happiness units now is worth more than 11 happiness units later. once we’ve given users the 10 though, it’s not a bad idea to give them the extra 1!

cue screenshots to show where i drew the line between v1 and v1.00000001.

check out that new section in the profile nav! there used to be an add-a-coach link in the site’s footer, but no longer. you might expect to see more things pertaining to You appear in Your Profile, In The Future.

v1, fairly similar to the old add-a-coach page’s layout. we released this a couple weeks ago.

hm, how about one list?

take away the zebra stripes, add a dash of color.

maybe to the left?

never mind, let’s move it back. and on hover, turn that button *orange*. we released this shortly after v1.

i also made a few changes since v1 to the interaction to hopefully make it Feel Right (like disabling inputs, clearing the textfield in various cases, showing error notifications, and maybe more!). alas, those don’t show up so well in screenshots.

try to add a coach, and let me know how it goes!