The beginning

Cloe Stanbridge
8 min readintermediate
--
View Original

Overview

The article discusses how SafetyCulture's engineering team has evolved from a small startup to a significant player in the tech industry, focusing on their transition to a SaaS model, the development of innovative products like iAuditor, and the adoption of modern technologies such as machine learning and microservices. It highlights the company's culture of autonomy, rapid growth, and commitment to quality in software engineering.

What You'll Learn

1

How to migrate a monolithic application to microservices using Node.js and Golang

2

Why adopting a 'you build it, you run it' model enhances team accountability

3

How to implement a shared C++ codebase for mobile applications

4

When to transition from REST to gRPC for better performance

Prerequisites & Requirements

  • Understanding of microservices architecture
  • Familiarity with AWS services(optional)
  • Experience with Node.js and Golang

Key Questions Answered

How did SafetyCulture transition from a document business to a tech company?
SafetyCulture transitioned from a document business to a tech company by adopting the SaaS model in 2012, which allowed them to develop the iAuditor app. This shift enabled them to provide real-time inspections, significantly improving workplace safety and efficiency, with 1.3 million inspections completed monthly across 143 countries by the end of 2018.
What technologies does SafetyCulture use for its engineering projects?
SafetyCulture employs Node.js and Golang for its microservices architecture, utilizing AWS for cloud services. They have also transitioned from REST to gRPC and are implementing a shared C++ codebase for mobile applications, enhancing their development efficiency and scalability.
What challenges did SafetyCulture face during its rapid growth?
During its rapid growth, SafetyCulture faced challenges in maintaining quality and ownership of code as the team expanded. They adopted a 'you build it, you run it' model to encourage accountability among engineers, ensuring that teams were responsible for the code they deployed, which helped mitigate issues and improve collaboration.
How does SafetyCulture foster innovation within its engineering team?
SafetyCulture fosters innovation through initiatives like ShipIt events and hackathons, where teams can develop and ship new features quickly. This culture of experimentation has led to successful projects, including drone integrations and SmartScan technology, enhancing their product offerings and employee engagement.

Key Statistics & Figures

Monthly inspections completed using iAuditor
1.3 million
This figure reflects the significant adoption of the iAuditor app across 143 countries by the end of 2018.
Number of employees at SafetyCulture
320
The company has grown fivefold over the past two years, indicating rapid expansion and scaling of operations.
Series B funding amount
$30 million
This funding round at the end of 2016 marked a pivotal moment for the company, enabling further growth and development.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Key Actionable Insights

1
Implement a 'you build it, you run it' model to enhance team accountability and ownership over code.
This approach encourages engineers to take responsibility for their work, leading to higher quality code and reduced downtime. It fosters a culture of collaboration and continuous improvement.
2
Utilize hackathons and innovation events to stimulate creativity and rapid prototyping within your team.
These events can lead to the development of new features and solutions that may not emerge in a traditional work environment, driving engagement and innovation.
3
Consider migrating to a microservices architecture to improve scalability and flexibility in your applications.
Adopting microservices allows teams to work independently on different components, facilitating faster development cycles and easier maintenance.

Common Pitfalls

1
Failing to maintain ownership of code as teams grow can lead to quality issues.
As teams expand, it's crucial to implement structures that ensure accountability for code quality. Without clear ownership, problems may arise, and teams may struggle to maintain high standards.

Related Concepts

Microservices Architecture
Agile Development Practices
Cloud Computing With AWS
Machine Learning Applications In Tech