John Sullivan

(Resume & Portfolio)

Work History

Khan Academy Senior Software Engineer

to

Khan Academy Software Engineer

to
  • Python
  • GAE
  • Javascript
  • React.js
  • BigQuery
  • Selenium
  • Aphrodite

I led a successful multi-year, many-person engineering effort to ensure Khan Academy's success internationally. Before that I held a pivotal role in the creation and evolution of Official SAT® Practice, influencing the direction of the product and building huge swaths of its back- and front-end code, as well as being the face of Khan Academy's engineering team as we collaborated with The College Board's engineers.

I created the engineering blog to share our knowledge internally and externally, and then followed through and inspired (slash badgered) people to make regular posts for years. I created Khan Academy's first useable and successful end-to-end testing system as a side project (a system that is constantly pretending to be a real user and alerts us when parts of the site break), and helped drive contract negotiations with Sauce Labs so we'd have a powerful infrastructure to run the system. I helped evolve how we evaluate new hires, and pushed Khan Academy to make hiring effective and inclusive.

I spent over three years at Khan Academy, and have led or helped with too many projects and efforts for me to list here. Talk to me if you want more stories, and keep an eye out for learned lessons appearing on my blog.

Mozilla Software Engineer Intern

  • C++11
  • Networking
  • Win32
  • Bionic

I worked on the guts of Mozilla's networking code. If you're viewing this resume on Firefox, you're running my code. (Fun fact: that code is ancient enough that some of it is the same code that was running in the Netscape browser!)

Specifically I worked on improving how Firefox and other Mozilla products perform DNS lookups. I ended up having to write platform specific code for many of their supported platforms. Towards the end of my internship I also helped with research on how mesh networking could be implemented in Firefox OS phones (a technology that allows internet access in areas with minimal infrastructure).

Galah Cofounder

to
  • Python
  • uWSGI
  • Nginx
  • MongoDB
  • ZeroMQ
  • OpenVZ
  • Flask
  • Vagrant

I founded this company after an instructor at UC Riverside said they wished they had an automated grading system for computer programming assignments. I created Galah, enlisted a cofounder, and for a few years hundreds of students every quarter used Galah. Over 150,000 submissions were received and graded.

My cofounder and I created an ecosystem of products around Galah: ways for teachers to write Python code that can test their students C++ code, ways for system administrators and teachers to control Galah from the command line, and (with the help of a lawyer) a novel "commercial open-source" license.

When Khan Academy offered to hire me full time after my internship, I coordinated with my cofounder and the instructors who relied on Galah and shut the company down.

Khan Academy Software Engineer Intern

  • Python
  • GAE
  • Javascript
  • Amazon CloudSearch
  • Nginx
  • Vagrant
  • Bash

I was told to "make search better" when I arrived as an intern, and I wasted no time. I interviewed Google engineers for inspiration, ran A/B tests, and collaborated with folks across the company.

I ended up improving Khan Academy's search functionality by radically updating its UI, including fancy search-as-you-type features and non-fancy "make it clear what each result is" features; moving the backing engine from a not-maintained Solr installation on some server to the more Khan Academy appropriate CloudSearch; reducing the time it takes to update our search index after the site is updated (which happens dozens of times daily) from many hours to minutes; and many tens of tiny tweaks (I blogged about one such tweak).

JetHead Development Software Engineer Intern

  • C++
  • CEA-608
  • CEA-708
  • Bash

They're a small company and I ended up independantly designing and implementing the closed captioning implementation for their suite of set top boxes.

JetHead writes software for DirecTV, and most DirecTV boxes you'll see in commercial spaces (bars, restaurants, etc) are running my captioning implementation. Lemme know if you see a bug 😅.

My code proved to be quite stable and few bug reports were filed against the system during my year-long absence between internships. When I came back for my second internship they were preparing to ship our commercial boxes to new markets in other countries including Mexico and China. That meant many new captioning formats to support, so to accommodate I expanded on my work and created a stable platform that allowed us to get several folks on the team building atop the platform concurrently. After getting that going I also helped with the specific efforts for Mexico.

UC Riverside Supplemental Instructor Mentor

UC Riverside Supplemental Instructor

  • C++
  • Python
I led multiple twice-weekly classes that aimed to improve students' understanding of Computer Science. During my last year, I became a mentor (a manager-like role) and worked to teach, lead, and manage my fellow instructors.

Freelancer

  • Visual Basic 6
  • Win32
  • C#
  • WPF
  • NI-DAQmx

I did several one-off contracts with various people and companies between my first year of high school and my first year of college. These contracts included creating a GUI for a laser that measured the darkness of coffee grounds, cloning the popular Microsoft Ribbon, setting up a database and GUI for a senior community home broker, creating a tool to index a professor's written works, and much more.

During this time I almost always had an active contract. The coffee laser and senior community home broker's contracts were long-term and ended up lasting a year or more.

Misc Independent Projects

I've worked on many projects outside of work. Before I started working professionally, I made many hundreds of variously-sized projects instead of doing my homework. Here is a selection of some of my favorites, but you can find a few more on my GitHub profile and personal site. I'm always happy to talk about the projects I made before GitHub was around as well.

Superzippy

  • Python
A simple tool for turning a multi-file, multi-dependency Python script into a single executable file. I initially created it in order to more easily distribute tools to users of Galah at UCR.

Anti-Gravity Connect 4

  • Flash
  • ActionScript
One of the few Flash games I've created, and the only one I'm willing to share with the world. AGC4 puts a big twist on the classic game of Connect 4.

Cloak

  • Visual Basic 6
  • Win32 API
A Visual Basic 6 application that lets you hide any window on your Windows PC immediately, and temporarily, at the press of a hotkey. The first version was made towards the beginning of my middle school career when a user asked for a way to play Runescape without their parents knowing. I released the third version right before entering high school.

Education

Self-Taught

I began programming in 3rd grade. I continuously wrote software once I got started, and created many hundreds of variously sized projects after school and during summers, often coding long into the night.

I don't write code in my spare time nearly as often as I used to before I left college, but I'm still actively working on becoming a better software engineer, and I'll never stop learning.

University of California, Riverside

I left while I was in Junior standing in order to join Khan Academy. I was pursuing a BE in Computer Science and had a 3.285 GPA.