How we build at Thinkific

Leonardo Faria
Thinkific
Published in
5 min readJan 29, 2020

--

Whether it’s hanging out at a local meetup, delivering a presentation, or attending a conference, our team is often asked how we build Thinkific from an engineering perspective.

These same questions also come up throughout our interview process. Our candidates are curious about the work we do, asking great questions to learn more about the challenges and opportunities they will come across aboard our team. And we know that it’s a two-way street — as much as we’re looking for awesome new people to join our team, it’s important that they find the right fit for themselves too!

With all of this in mind, our team wanted to put together a quick look at how we build at Thinkific to give people the chance to dig deeper and ask the questions that really matter to them.

Teams

Our Engineering team is divided into small teams focused on features and foundational work. The teams are composed of 4–5 software engineers, a team lead, a product designer, and a product manager working in biweekly sprints within 6-week product cycles. Each of these teams typically focuses on a specific area of Thinkific (one team will focus on our Thinkific Plus product, for example, with another team targeting our Platform offering). This allows our teams to become experts in each area and allows them to build a better product as a result.

Product areas

At Thinkific, we’re building a platform that enables entrepreneurs to create, market, sell, and deliver their own online courses. Our engineering team is always working on building new features and expanding on what we’ve already built in order to help both course creators and their students achieve success. Our product serves different audiences and there are many different use cases, so we’ve divided our platform into several codebases.

  • Course Creator Admin: Thinkific’s Admin Dashboard is the course creator’s control center. It’s where they can access everything they need to do with their sites — Site Builder, the Course Builder, Student progress, Site settings, Orders, Integrations, and more!
  • Course Builder: This is where our course creators come to create and design their courses. Here’s a quick walkthrough of how it works in our Knowledge Base: The Thinkific Course Builder.
  • Site Builder: Course creators use Site Builder to easily build beautiful, customized websites from homepages to product pages, and any additional pages they want to showcase the content they need. Learn more in this Knowledge Base article.
  • Student Experience: At Thinkific, we know that the student experience is paramount. When they can focus on learning and engaging with course material, it makes both our course creators and their students more successful!
  • Support Admin: This is where #TeamThinkific comes to support our course creators. One of our core values is to Be Fanatical About Customer Success — our Support team is the best-in-class and we’re always working to improve how they can better support our customers.
  • Mobile: We strive to make the experience of our platform seamless across different devices, including mobile.
Table with our tech stack
Our tech stack

We also have Platform teams dedicated to working on the development experience for third-party app and theme developers. These partners build custom themes or apps that integrate into the Thinkific product to provide customised student experiences or that extend the platform’s capabilities in some way.

Foundations

In order to support our growth and our product-focused teams, Thinkific has a few teams working on foundational product concerns. This group of engineers work on Performance, Security, Reliability, internal tooling, and cross-department requests.

Thinkific has been cloud-first (AWS) since day one, and we’ve recently started investing in serverless for tasks that don’t require a server per se. Part of our Shopify integration, for instance, is built using lambdas. We also have been investing in Kubernetes for better scalability and growing our infrastructure team.

On the front end, we’ve built our own design system/component library called Toga, built with CSS and React. The main goal of Toga is to be the single source of truth for Thinkific’s designers and engineers when making design decisions to create consistency across our platform.

Teams and Blue Sky Week

Our Product team is divided into small teams focused on features, infrastructure, and defense. The defense team is responsible for supporting Thinkific’s internal team, working on projects like new software integrations, quickly identifying and fixing bugs, and process improvements for our internal team. This responsibility rotates from team to team on a quarterly basis and is an opportunity for our teams to support and contribute to the success of different departments on a more regular basis.

The teams are composed of software engineers, a team lead, a tech lead, a product designer and a product manager working in biweekly sprints within 6-week product cycles. Each of these teams typically focuses on a specific area of Thinkific (one team will focus on our Thinkific Plus product, for example, with another team targeting our Platform offering). This allows our teams to become experts in each area and allows them to build a better product as a result.

A typical Demo Day at one of Thinkific’s Blue Sky Weeks

We also offer chances to work with others outside of your team! Thinkific hosts a quarterly Blue Sky Week, where everyone in the company (regardless of their job function) has the opportunity to pitch an idea they have or are passionate about to push the boundaries of what we’ve already built at Thinkific. Teams are formed around these innovative ideas, with many team members contributing their expertise to different projects to help deliver a live demo of their idea turned into reality by the end of the week. It’s a really great way to see how everyone, from engineers to marketers to customer success managers, can contribute to these awesome projects in their own way, since we believe that through collaboration, we succeed together. It’s one of our core values at Thinkific!

Guilds

We have guilds for Backend, Frontend, DevOps and QA. These guilds are made up of engineers from multiple teams and consist of engineers with subject matter expertise and passion in a specific engineering discipline. Guild members either are or become experts in these areas, providing technical leadership, direction, and set best practices within our engineering organization. Guilds also serve as a way for engineers who want to progress in their careers to better determine areas they can improve and focus on. Our guilds are based on the Spotify model.

Join Us

With all of this new knowledge about our Engineering team, are you interested in learning more? We’re always looking for talented and passionate people to add to #TeamThinkific, and we have several openings right now on our Product team.

Our team is always happy to chat about what makes Thinkific a certified Great Place to Work and how we’ve built one of Canada’s Most Admired Corporate Cultures! Connect with us on Facebook, Twitter, LinkedIn, and Instagram to stay posted on what the team is getting up to.

Thanks Amanda Nagy, Dalena Nguyen and Matt Payne for collaborating on this post

--

--

Leonardo Faria
Thinkific

Front-end Architect, dog lover and Mac collector