Choosing the right technical stack to implement your world changing product is an ongoing decision with lots of moving parts. In an evolving technical environment with changing frameworks, new customers, and new requirements, we often need to evaluate to see if we need to add or remove something from our stack.
Diversity of tooling is a great thing, but every time we add to or take away from our technology stack, a thoughtful decision needs to be made. Changing the technology not only impacts our product, it impacts our development team – maybe we need to learn something new – maybe we need a detailed migration plan to deprecate an aging technology. We strive to get the right tools for the job, and the right tools for the team.
Infrastructure: Serverless? Containers? PaaS? Managed Services? Yes.
One of our earliest decisions was to focus on being Cloud Native, built on AWS, and to be Serverless-first. We wanted to make sure we could scale our systems seamlessly as our company and customer base grew. Since our early “pure serverless” days, we’ve adopted other strategies in order to optimize for varying workloads. We’re big proponents of Infrastructure as Code so we can spin up and tear down environments quickly and consistently. To that end, we use Terraform to give us consistent environments in AWS. Docker is used to ensure we have light weight containers with all of the dependencies taken into account. Docker Compose makes for a great local development experience that is cross-platform.
All the Things
Our current front end technology stack includes: React, React Query or Redux, Flex, ES6 & TypeScript. Our current back end service stacks consist of: Node, Python/Flask or Ruby on Rails, and PostgreSQL. You might be asking yourself, “do I need to know all of these things to be an engineer at Torch?!?!”. The answer is no – or at least not when you walk through the proverbial door on day one. Our focus is on building teams that are cross-skilled and willing to learn. Our teams focus on being able to pick-up where other teams finish off.
For example, if one of our teams all win the lottery and decides to retire, we want to be sure we have enough trained engineers to take over, regardless of their skills when they started. Teaching, sharing skills, and learning is engrained not only in the product, but in what we do every day at Torch.
Instrumentation is key to keeping our system up and running 24/7 so we use tools like DataDog, LogRocket, CircleCI, Sentry, Sisense and Segment to keep an eye on our platform.
These are just some of the tools we use to build and operate our Coaching, Mentoring, and L&D platform. Reach out if you’d like to know more, and head over to our engineering careers page to learn more about how to join the team!