In every interview, engineers ask: “What’s your Tech Stack, and what tools do you use?”.
Every team has certain autonomy, but we still share some standards and tools across the organization.
The Aircall engineering team is nearly 200 people, organized into agile teams owning different business domains like Telephony, User Management, Dashboard, Integrations, and so on, with more than 30 teams in total. SRE and QA have their own structure, sometimes embedded in product teams and others working on separate domain teams.
This list is not exhaustive (and is constantly adapting to our needs, including a potential Ruby on Rails development company), but it paints a good picture of our landscape.
Programming Languages and Frameworks
- Our primary programming language is Typescript, as we are embracing AWS serverless (Lambdas, AppSync, DynamoDB) with Node.js for backend development and React for frontends.
- Our core is a monolith running on Ruby on Rails. We have a team relentlessly decomposing it to migrate to our new tech stack, making significant progress.
- The DataPlatform team uses Go.
- Our QA teams write most of their tests in Python.
- And, of course, our native Android and iOS apps are written in Kotlin and Swift, respectively.
- Most of our internal APIs are REST, but we are introducing GraphQL APIs for our client applications with great results.
Infrastructure and Monitoring
- We don’t hesitate to bet on AWS as our main cloud provider and use all it can offer.
If it exists in the AWS catalog, we use it: EC2, ECS, EKS, lambda, AppSync, DynamoDB, Aurora Postgresql/Mysql, ElastiCache Redis, Amazon OpenSearch (formerly ElasticSearch), Cloudfront, S3, SQS, Redshift, and more.
Everything in Aircall is Infrastructure as Code, with either AWS SAM or Terraform.
- Gitlab.com is our code repository and CI/CD tool.
- Datadog is our main observability and monitoring tool. We use it for Logs, APM, RUM, and Monitors.
- We use Sentry and Rollbar for application error tracking. Why two? Because error tracking is essential; pick your choice, monitor, and fix them.
- We have SonarQube for static code analysis and SAST and Snyk for vulnerability scanning.
SaaS Tools
The Atlassian suite
JIRA, Confluence, and Service Desk are the central pillar for organizing the product backlogs, support queues, and managing internal documentation.
Some project management is happening on Monday.com, but engineering/tech is mostly on JIRA.
Collaboration Tools
- GSuite, Slack, and Zoom are our communication tools.
As we are a distributed and primarily remote team, we lean heavily on Slack for communication compared to email, but with an interesting self-imposed limitation. Slack messages are deleted after three months to force us to move decisions and more extended discussions to a more suitable long-term documentation platform like confluence.
- Some teams use Loom for asynchronous video communication, while others use Miro, LucidCharts, or Draw.io for diagramming, brainstorming ideas, or running retrospectives.
- 360Learning is our collaborative learning platform.
Most Aircall onboarding takes place on it, with videos showing you how each department works, but it doesn’t stop there. Anyone can contribute, but there’s a team that cares for this tool, making sure there is always new content, ranging from security courses to management training or even company all-hands in case you missed one or want to rewatch it.
Other SaaS Tools
Harvestr.io is used for customer feedback and product management, and we use 1Password for password management.
In the last months, we’ve also introduced more tools to help with managing our growing complexity and team size: JellyFish.co, an engineering management platform that gets signals from JIRA, Gitlab, and other tools to provide a unified view on what each team is working on and help with cost capitalization, and OpsLevel, a tool to help document and manage the maturity of our growing microservice architecture.
And last but not least, we use Aircall for our Sales and Support departments.
I joined Aircall just six months ago, and one thing that caught my attention is the tech stack and the adjacent SaaS tools used in the Software Delivery Lifecycle.
At first, I was a little overwhelmed by the number of new tools I had to learn (even though most of them are pretty standard in the startup ecosystem and I’m familiar with them). But I was eager to learn how to use them, as these are best-of-breed tech stacks and tools.
Aircall chose a modern stack and the best SaaS tools to solve our problems. Every tool solves a specific need.
We don’t hesitate to look for alternatives when something is not working, introduce new tools to work more productively, or replace patched-up processes. As a SaaS company, it makes sense that we use SaaS to its fullest potential.