How We Code at Teachable

jack phelps
May 16, 2018 · 2 min read

We spend a lot of interview time describing our stack, architecture, and processes to candidates. Like good little engineers, we figured it’d be nice to automate the process by writing it down so we can focus on more important things.**

Stack and Tools

This table isn’t exhaustive, but it’s a pretty good picture of what we’re using:

We use fairly standard tools and practices in our daily lives:

We deploy most weekdays. We have a “no Friday deploys” rule to protect our weekends, but we’re willing to skip it for bugfixes or other rare cases where it makes sense.


The bulk of the engineering department is distributed into four “pods” and governed by back end and front-end “guilds”; we also have QA and data teams.

After being completely flat for years, we reorganized to create some structure and process as we grow to ensure that engineers are able to focus on the right priorities without distraction. There are some projects we’d always wanted to tackle but that would continually be pushed off in favor of short-term priorities.

Now that people are formally staffed in these areas, it’s their job to make sure those projects happen. We’re also trying ensure some amount of rotation amongst pods to reduce siloing and keep people well-rounded while also giving them a chance to work on things that interest them.

** {sigh} I made yet another thing and now I have to maintain it :( Last updated 2018–10–03


The official office blog of Teachable.

jack phelps

Written by

software engineer & dirty hippy (actually fairly clean though).


The official office blog of Teachable.