Q&A: What does your day-to-day work look like these days? Do you find yourself doing math explicitly?

by Justin Skycak (@justinskycak) on

Want to get notified about new posts? Join the mailing list and follow on X/Twitter.


My ballpark estimate is that half of the things I do involve math explicitly. Sometimes that’s numerical math, sometimes graph algorithms / traversals / reasoning, sometimes prob/stats when leveraging data. The vast majority of that stuff is custom, built from scratch, and heavily leverages applied math foundations (and sometimes even pure math).

A couple examples here and here.

The exact “what” of my day-to-day is always changing. Sometimes it’s working on the task recommendation system, other times it’s developing tools to edit/analyze/validate the knowledge graph, other times it’s developing miscellaneous algo-heavy functionality elsewhere in the system (the free response parser, the XP grader, the completion date estimator, etc.), other times it’s developing system-wide validations & alerts, other times I even get involved with content.

For instance:

  • A couple days ago I finished a massive multi-week model update to allow it to more intelligently reason about multisteps/projects as a part of the knowledge graph. (Previously they were just kind of barnacled onto the side in a way that wouldn't work for courses where projects are going to be more tightly integrated, like the upcoming ML1 and CS1 courses.) That involved lots of updates generalizing graph algos / traversals / reasoning.
  • Today I need to figure out what topics in our system should go in our upcoming ACT Fundamentals course (we have an SAT Fundamentals course in the works; ACT Fundamentals is similar and can piggy-back off of it but there's some additional math tested on the ACT).
  • At the same time I'm also overseeing the content development of projects for our upcoming ML1 course.
  • Yesterday someone ran into a bug due to somehow getting their course settings into a weird configuration, so I fixed their record and added the general situation to a long list of validations that run frequently and periodically and alert us of any issues.
  • Yesterday I wrote some code to explicitly check whether a student needs to take a diagnostic after promoting to the next course of their sequence. Usually you don't in the lower-level courses because they're so strictly hierarchical, but that assumption begins to fall apart in university math, e.g. if you enter the system at Linear Algebra as your first course and later promote to Multivar Calc then you really should take another placement to assess your knowledge of all the prereqs of MVC that are not prereqs of LA (since you wouldn't have been assessed on them when you took the LA diagnostic).
  • I need to create a synthetic practice exam generator for our upcoming SAT/ACT test prep courses and make sure the distribution of problems aligns with what you'd encounter on the actual exams. Also some other supporting infra for those courses that's harder to describe.
  • I need to proof-of-concept a proof grader for our upcoming Abstract Algebra & Real Analysis courses.
  • Also need to integrate some additional analyses into our student performance analytics tools (that overlay student performance on the knowledge graph to identify areas where we need to improve content or content metadata or task recommendations).
  • </ol>
    Yadda yadda... Note: this is just the stuff that's in my line of sight for the next couple weeks, not listing other big projects like creating the rest of the CS1 course, task behavior analysis & in-task coaching, etc.



Want to get notified about new posts? Join the mailing list and follow on X/Twitter.