Team Senators is responsible for Ad creation and management needs of all our customers advertising on Facebook. The team is currently working on modernizing the campaign creation and management system and revolutionizing the way advertisers create campaigns on Smartly.io.
The new system is called Workspaces and it’s a real-time collaboration tool that allows multiple users to simultaneously create and edit advertising campaigns and instantly see the changes others have made. For now, the team is focusing on building Workspaces to support Facebook advertising.
The team’s tech stack consists of Node.js, React, TypeScript, PostgreSQL, and Redis. The collaborative and real-time aspect of Workspaces is built with ShareDB that is based on Operational Transformation (OT) of JSON documents. “90 percent of our team’s time goes into building Workspaces”, says Iiro, the Engineering Manager of Senators. “On top of that, we maintain the old system for campaign creation and management, written in PHP and Angular/React backed with MongoDB. Ultimately, we will shut down the old codebase in favor of Workspaces. But until that happens, we need to keep the data synced between the legacy world, Workspaces, and the Facebook API.”
Mindful coordination with internal and external stakeholders
Since the product area Senators owns is so central to the Smartly.io platform and business, their work intertwines with that of many other development teams within our Engineering organization. Team Senators works hand in hand with the other development teams within the Meta Product Group. With Workspaces in development, the teams now share a common architecture that allows them to share the load, collaboratively implementing the customers’ use cases into the new framework.
Workspaces is now going into the Beta testing phase, where team Senators collaborates with some of Smartly.io’s largest customers to understand what they need in a world-class collaboration tool. Designing a tool like Workspaces isn’t exactly a piece of cake, since it has to support the highly diverse setups and workflows our customers rely on in their day-to-day work. Listening closely to the feedback we get from the testing phase and being quick to devise solutions to customers’ needs is a key factor in setting Workspaces up for success.
Senators also collaborates with the social media giant’s engineers to find the best ways to implement the Facebook API, which the team works with a lot. The team’s bug investigator is in touch with Facebook’s technical support to see where the issues customers flag originate. Each team member rotates in the bug investigator role for one week at a time, which is a handy thing for seeing how customers use the platform, pinpointing problematic areas in the legacy system, and learning how to avoid similar pitfalls in Workspaces.
Large team with lots of experience
Team Senators is on a growth path — soon the team will be 8 developers strong and have close to a century of software development experience between its members. The team is a good mix of tenured and new Smartlies, which gives them the advantage of having both the historical context of how the Smartly.io platform has been developed and fresh ideas on how it could be future-proofed.
Like most development teams at Smartly.io, Senators follow Kanban principles in its development process. They have weekly planning meetings where they review the stories currently in the works and decide together which stories should be taken up next. Stories are typically linked to an epic, which is a unit of a larger feature set they aim to build. Senators host daily standups for checking up on their Kanban board, doing a round on what everyone is working on and whether they need help or have something to share to the rest of the team. Every two weeks, if there is a topical issue to discuss, the team runs a retro. If not, they cancel the meeting in the spirit of keeping meetings to a minimum and allowing everyone to concentrate as much as possible on the work at hand.
Team Senators is looking to add a frontend-focused Senior Fullstack Engineer to their ranks. In this role, you will look after our frontend architecture across the Workspaces components and implement our Facebook offering on top of the new campaign management framework. Your tasks will also include building APIs that follow the best practices with OpenAPI, as we generate types for TypeScript from OpenAPI definitions, as well as creating and improving commonly shared libraries.