The Supermetrics products help businesses streamline their marketing data from siloed sales and marketing platforms into their go-to reporting, analytics, and warehousing tools — whether that's a spreadsheet, a data visualization tool, a data lake, or a data warehouse.
It sounds simple, but when you factor in the scale we operate on, it isn’t. Around fifteen percent of global advertising spend is reported through our products. Every month, we transfer about 2.5 petabytes of marketing data from more than a hundred sources through billions of queries.
It's a team effort to make all that happen. In this blog post, we'll look at how the Product Engineering organization is set up at Supermetrics, how it works, and which product areas each team owns.
100+ engineers, five engineering groups
In 2022, we introduced a new organizational structure with engineering groups. Previously, we had many small and separate teams, but now we're more structured, and each team has a clear set of responsibilities and product areas to focus on.
Currently, our teams are divided into five engineering groups:
- The Core Group owns our backend foundation.
- The Hub Group owns our new Supermetrics Hub product.
- The Destinations Group builds products that transfer data to destinations like Google Sheets, Looker Studio, and data warehousing.
- The Connectors Group develops third-party API integrations for data fetching.
- The Infrastructure Group supports the rest of the engineering organization and makes their work flow more smoothly.
On top of these groups, we have several specialist teams servicing the entire organization, including Security, Developer Experience, Testing, and Architecture.
Each development team consists of people with various roles working together. Software Engineers and their Engineering Managers are paired with a dedicated Product Manager, and experts from fields like Test Automation, DevOps, and Product Design are on hand when needed.
How we work together
Each team has the autonomy to choose its ways of working. We share some working patterns to make internal communication and alignment easier and avoid siloing.
- Two-week sprints with retro meetings and daily standups either as a meeting or via Slack.
- We're agile and combine useful features from Scrum and Kanban to manage stories.
- Jira is our tool of choice for keeping tabs on tasks, epics, and the like. We plan each epic and discuss these plans across the organization to keep everyone on the same page.
- We prefer more communication over less. As the engineering organization grows and our products become more complex, teams must communicate with each other to avoid silos. We have an all-hands dev channel on Slack for discussing general technology issues and ideas.
- While different teams are for different things, all engineers at Supermetrics can contribute anywhere in the codebase. If you see a bug on another team's domain, you're welcome to submit a pull request and get the appropriate team member to review it.
What technologies we use
Most of our backend code uses PHP, MySQL, and Redis. You might see some Go, Node.js, or Python, but that's rare. We use these technologies locally in Docker containers. Our staging and production rely fully on cloud services provided by Google and Amazon.
Our frontend is based mostly on React, TypeScript, and Google App Script. Some projects still use Vue.js. We use REST APIs for communication.
Without going into further details, here's a short list of other tools we use in our daily work: Jira, Jenkins, GitHub, PHPStan, Psalm, Jest, PubSub, PHPUnit, and Kubernetes.
Introducing our engineering groups and teams
Core Group
If the Supermetrics Engineering team is the Solar System, the Core Group is The Sun, and the product teams revolve around it. The Core Group is responsible for the backend foundation on which all Supermetrics products are built.
The Core team maintains our custom framework, fixing bugs and optimizing the code for better performance. The team owns the backend platform and provides services like data aggregation to all the other Engineering teams within Supermetrics. They also create reusable components for all our products.
Hub Group
Supermetrics Hub is a new key product for us. It’s the centralized interface where customers interact with a wide variety of different services, like managing, transforming, and exporting their data. They can also manage subscriptions, user accounts, and billing in the Hub.
The Hub Products team builds core features like data blending, data transformation, and data source connections, which are available for all Supermetrics products.
The Hub Workflow team focuses on developing tools for customer engagement, onboarding, and support.
The Platform Growth team owns the purchasing flow and the licensing system.
Connectors Group
A connector is an API integration that fetches data from various sources and processes it to match the user's request before sending it to a destination. The Connectors Group teams are responsible for these third-party API integrations and fetching data from those sources. The Connectors Group teams rely heavily on code designed by the Core Group.
The Connectors Engineering team mostly maintains and migrates APIs within existing coded connectors. We currently have over a hundred connectors, most of which are still coded. It means they're written using actual code (as opposed to Codeless Connectors, which we'll discuss next) and need to be maintained and adjusted as the user base grows.
The Connector Platform team builds Codeless Connectors — a new technology that allows us to build new connectors faster, not with code but with configuration. You can read more about this concept in our previously published tech blog post.
The Connector Specialist team uses the no-code configuration wizard built by the Connector Platform team to configure new Codeless Connectors. The Connector Specialists don't have to have coding skills. They only need to understand the API documentation and our configuration schema.
Product Destination Group
As its name suggests, the Product Destination Group focuses on building and maintaining the data destinations Supermetrics supports. We partner with and build functionality on top of widely used data analysis, visualization, and storage applications, like Microsoft Excel, Looker Studio, and Snowflake.
The user workflow is very similar regardless of destination. You connect to one or more data sources, select the metrics and dimensions you want to pull into the destination application, configure things like date range and filters, and then click to request data. But since all the destination applications are unique, the Product Destination Group's development teams are specialized to work with specific destinations.
The Google Sheets team develops our add-on for Google Sheets. If you use Google Sheets to gather stats from different sources, this product can save a ton of time, so you can focus on making sense of raw data. Recent releases include inline data refresh and triggers for refreshing data in set intervals.
The Excel/PowerBI team builds an add-on for Microsoft Excel. While the user experience might feel similar to what we do for Google Sheets, the code base is entirely different. The Excel add-on requires the Microsoft environment to run, while Google Sheets uses Google Apps Script. A part of this team also develops connectors for Microsoft's Power BI data visualization tool.
The Looker Studio team (formerly Google Data Studio) owns our extension to Looker Studio, which marketers use to create customizable visual reports and dashboards.
The DWH and API Products team works with huge volumes of data. Supermetrics supports various data warehousing and data lake platforms, like BigQuery, Snowflake, Google Cloud Storage, and Amazon S3. Users can create their own schemas to pull specific data from multiple sources and automate transfers to their preferred data storage.
Infrastructure Group
The Groups and teams mentioned above focus on their product areas. The Infrastructure Group, on the other hand, operates cross-functionally and supports the work of other engineering groups and teams. These teams are:
- Security
- Developer Experience
- Architecture
- DevOps
Plus: Team Labs
Team Labs is a scrappy startup-like team within our Engineering organization. It takes on new product ideas and organizes itself around greenfield projects. At the moment, the team builds our monday.com product and focuses on new product ideas like how our product is enhanced by generative AI and machine learning features.
Our technology and engineering organization have expanded over time
Each Group and team offers a unique perspective and distinct technical challenges. What they have in common is that engineers can truly influence not just their own work but the evolution of the Supermetrics products and their technical implementation. All our teams are also made up of wildly talented and helpful colleagues.
We continue to grow and are looking for talented people to join our Engineering team. Explore career opportunities on our Engineering careers page.
Top comments (0)