1. 14

Having worked on large, tangled code bases (including this one in particular), I found their use of custom tooling to facilitate refactoring and cleanup a bit interesting–and since the tooling they’re describing they’ve open-sourced, I figured it might be useful to others as well.

    1. 1

      Key moment:

      Khan Academy set aside 6 weeks at the end of 2017 for the entire company to work on paying down technical debt

      Getting that sort of organizational buy-in is pretty special! Props to the tech leadership for making that happen.

      Also, I thought the footnote was interesting about how JS gets refactored as part of performance initiatives because there’s an incentive to get the bundles as small as possible. Makes me wonder if there’s some other performance metric you could attach to the backend that would naturally motivate the Python refactoring as well. I guess it just defaults to “velocity” which is hard to measure to begin with.