Functional Workplaces: Truecaller - The World's Best Caller ID & Spam Blocking App
6 Aug 2021
5 min read
What do you think when you see an unknown phone number calling you at a random time? Does it fill you with dread at the thought of another robocall about a car accident you were definitely not involved in at some point over the last three years? Well, you’re not alone. In the last year, a staggering 29.8 Billion USD was lost to phone scams in America. Meanwhile, in the UK alone, it’s estimated that over 20% of unknown calls are now robo-marketing.
Truecaller is trying to take the sense of dread out of unknown numbers by using their proprietary database to identify as many unknown callers as possible. With over 270 million users, they process huge amounts of data, running millions of daily searches in their database.
Started originally as a blackberry (remember them) app in 2009, they quickly expanded to support Windows, Android and iPhone. They rapidly grew and in their first few years gained over 5m users performing 120m searches of their database. By 2021, they achieved over 270m worldwide users and 500M app downloads. They’ve also created an instant messaging function, launched a new financial service, and gained unprecedented agility and speed-to-market. With their strongest presence in South Asia, Middle East, Africa, and HQ in Sweden, they are ready to IPO this year!
Initially built largely in Java, they now use Scala for the majority of their back-end programming. Here’s how their tech stack looks like:
- Programming languages: Scala, Java
- Frameworks: Play, DropWizard, gRPC, Akka
- Storage: Cassandra, Scylla, MySQL
- Caching: Memcached, Redis, EhCache
- Streaming: Akka Streams
- Messaging: Kafka
- Big data: Spark, Airflow, BigQuery
- Programming languages: Kotlin, Java
- MVP architecture, unit tests
- Dependency injection: Dagger
- Networking: REST, gRPC
- Programming languages: Swift, Objective-C
- Architecture: MVVM-C
- Dependency Management: CocoaPods
- Storage: CoreData, Keychain
- Networking: REST, gRPC,
- Programming languages: Scala, Java, Python
- Compute : Hadoop, Spark, BigQuery
- Storage: HDFS, GoogleFS
To get a sense of how they’ve managed to scale to such a large user base and find out a bit more about the culture that enabled their huge growth, we spoke with the Stockholm team.
You’re a Swedish company based in Stockholm, but you have a huge presence in India. Why do you think it grew in this way?
I think this is because the first feature we developed and the first problem we tried to solve was knowing who was calling you.
In India the culture around communicating is a bit different, they skip the email part of the conversation and go straight to the phone call for both personal and work matters. There’s also a huge market for telesales and phone communication so it became popular because they get a lot of calls and it saves a lot of time filtering out calls they don’t want. When you use phone calls for everything, it’s hugely important to know who’s calling.
How are your teams set up?
In general, we have cross-functional teams, they basically have all the capability to work independently of their own domain. We split up our devs by product, for example, a messaging team that just works on that product and they have mobile engineers, backend, frontend, testers, designers, product owners - a full set up to cover every piece of that domain.
Within the larger cross-functional teams we have small sub-teams of 2/3 people that might focus on individual elements.
We have some teams in Sweden and in India and tried to slice it up so the domains match the market. We want to minimise the amount of collaboration across time zones.
If you'd like to join one of their teams check our Trucaller's open roles!
What’s the culture like?
We try to be very open and collaborative, trying to create an environment where innovation is encouraged with regard to new tools and technologies. Open source is important to us but we have certain privacy regulations to do with the personal data we manage so there are some compliance issues. Everything has to be signed up by our legal compliance team to make sure there are no issues with GDPR or local data protection laws.
When you look to hire devs, what makes a good fit, what sort of skills?
For backend especially we require Scala and Java and experience in certain technologies specific to the teams, we also look for people who know what it's like working in a high load environment, we have 150m daily users so as you can imagine there’s a lot of load in the system.
Our general approach to candidates is that we’re looking for a startup-ish mentality, working in similar ways to us with a similar taste for new ideas. The personality we’re looking for is innovative people who can bring new ideas, who are proactive, extroverted. Basically, developers who have ideas and can sell them to the team and onboard others.
Has a developer ever led the adoption of a new technology?
Yes absolutely, there was a developer in the Android team, who suggested using Kotlin after only being with us for a few months. He sold it well and made a great case and now the whole company uses it.
What are the sort of skills that take you far at Truecaller?
I think it depends on the teams because we always need to match personalities to the teams, so there isn't one particular type of person but I think something that is consistent is that we want productive, innovative people that are product centric and want to improve the tech stack from an efficiency and a usability perspective.
What are the current challenges that the tech team is facing?
Each team has its own challenges, our approach is shipping fast is good, but we need quality. We really need code to work from the start because there are so many daily users, so moving fast remains a challenge.
How would you describe the tech team from Truecaller?
If we could describe it a few words it would be:
- Impressive team members
- Creative and innovative
- High-Quality Code Base
- Fosters Psychological Safety
What’s the interview process like at Truecaller?
The process is quite straightforward, it starts with a recruiter interview, followed by a tech assignment and a tech interview. And the final stage is an interview with the hiring manager.
Finally, why should someone work at Truecaller?
We would say:
- Working with advanced technologies,
- The scale of the product, with an impact on 270m users,
- Promising future (filing for IPO this year) and no real competitor in the current market, even Google can't reach our scale of product,
- Diversity and international teams with over 37+ nationalities,
- Good Compensation and benefits,
- Sweden is a nice country!
Take a look at Trucaller's open roles and apply to join their amazing team!
Marketing Manager at WorksHubSee other articles by Mihaela