We’re building the best product company to work for, where highly autonomous engineering teams can take full ownership of creating a first-class software platform. Our full stack teams each own a single product area and drive it forward independently with as few external, flow-breaking dependencies as possible.
At Smartly.io, product development teams form four larger Product Groups – Facebook, Paid Social, Creative and Cross-Platform – and an Infrastructure Group responsible for site reliability and tooling. Each Group owns one section of our product strategy and while the teams within a group work on their own roadmaps independently, their efforts contribute towards a shared goal.
Smartly.io was originally built to automate and optimize Facebook advertising. While we have expanded to multiple advertising platforms, Facebook is still at the core of our business. Development teams in the Facebook Product Group are relentlessly innovating on top of Facebook’s own advertising tools, liberating large advertisers from manual work and unlocking greater performance. Staying one step ahead of one of the world’s largest advertising platforms offers a demanding and ever-changing environment and a real chance to impact the business of the majority of our customers in reshaping the social advertising landscape. Current hot topics include automation and incremental real-time collaboration.
Facebook Group’s tech stack includes TypeScript, Node.js, Ruby on Rails, React, and PostgreSQL. The teams are actively moving away from legacy tech, refactoring and replacing the old code base that consists of Angular, PHP, and MongoDB.
The Platform Expansion Group is responsible for expanding our platform beyond Facebook and Instagram advertising. The teams within the Group work on greenfield projects, solving unique problems around scaling advertising of some of the largest advertisers in the world on new advertising platforms like Pinterest and Snapchat. Working on new products also means that developers have the opportunity to make an impact on what our product will look like in the future. Our teams move fast and work in close collaboration with our platform partners. Their daily work revolves around product discovery, prototyping, and validating new solutions through tight feedback loops with some of our largest customers.
As the whole Platform Expansion Group is working with the same tech stack (React, Node.js and TypeScript), moving between teams and projects is made easy for developers who want to accelerate their learning through team rotations.
The Creative Group plays a central role in enabling our customers to craft engaging ad creatives at scale. They break new ground by automating creative production and empowering advertisers to find the best performing ads with the help of creative insights. The systems built within the Group render almost half a million videos per month on top of several billions of images. Tweaking the performance of these systems to support the scale growing towards 1 million videos is an interesting technical puzzle that our teams work to solve.
On top of new feature development and maintenance, our teams engage in research and development of new innovative solutions. Development teams keep a keen eye on an enjoyable user experience as the solutions they build are leveraged heavily by our power users, who work with them for several hours per day. As the teams within the Group are very new, they are still learning how best to work together. The state of evolution offers each individual developer an opportunity to impact how both our organization and our product look like in the future.
All the Creative Group’s teams use Node.js, React, TypeScript, and PostgreSQL, but they have some NestJS and Ruby on Rails projects ongoing, too.
The Cross-Platform Group is responsible for ensuring users can run their ad operations smoothly across different platforms like Facebook, Pinterest, and Snapchat. The teams are building a variety of platform-agnostic solutions to power needs like campaign analytics, actionability, advertising automation and access management.
The main goal for these teams is to solve complex technical problems only once in a way that works across all the different advertising platforms and produce powerful cross-platform tools with a smooth user experience. While a large part of the Group’s work revolves around customer-facing solutions, they also build and maintain internal services and infrastructure that other development teams can leverage and build on. The Group’s work is highly interconnected with other Product Groups, meaning they get to tackle interesting architectural challenges.
The Cross-Platform Group’s development teams mostly work with Node.js, Ruby on Rails, React, and TypeScript, but since the teams are free to choose the best tech for the job at hand, they also run some of their services on NestJS, Kotlin, Elixir, and PHP.
The four Product Groups are complemented with an infrastructure-focused Group that takes care of site reliability, security and developer tooling. The Group believes in automating our infrastructure and solving technical problems in a way that is both sustainable and scalable.
Infrastructure Group teams work closely with other development teams and customer-facing teams to continuously improve, support, secure, and operate our production and test environments. They boost our developers’ productivity and happiness by improving our UI component library, development environments, and continuous deployment setup.
The development environments and CI pipelines are built on Kubernetes, because running tens of microservices and their databases on a single laptop is not an option. The Smartly.io infrastructure currently processes petabytes of data every month through hundreds of servers while this Group architects, develops, and deploys tools and technologies to keep our platform up and running.
Our autonomous engineering teams choose their own technologies and ways of working, but most of our teams use the technologies listed below. Teams can have more specialised needs and use other languages and tools on top of the ones named below.
Our recruitment process has five steps that test the depth of your technical knowledge and your ability to make informed decisions.
We're getting to know each other.
You'll get a challenge to test your coding skills which you can do at a time that suits you.
Learn more about your future team.
You'll take part in an interactive coding interview with one of our developers followed by a discussion around Systems Design and Architecture.