Engineering at Smartly.io

Engineering and product development are vital functions at Smartly.io. How do they work and how are they designed? Browse through this page to find out.

See open positions

From Startup to Rapid Growth Company

Since the foundation of Smartly.io in 2013, we have gone through a major transformation and have become a global company of 600+ people from a small Finnish startup. As of 2023, we have 200+ Smartlies in engineering and product development to deliver our ambitious multi-channel digital advertising offering. With the rapid growth of our customer base and their ad spend, our organization’s needs have changed too, requiring a certain level of formality. However, at the same time, we also want to keep our agility and flexibility to react to all changes around us.

How do we do this in engineering? We have some fundamental principles in place.

Basic Principles

Some fundamental principles for all engineering are ownership, decision making, flexibility, productivity and quality. All are familiar terms and very much related, but what do they mean at Smartly.io?

Ownership

As a SaaS product provider, we need to ensure our production machinery is well-functioning at all times. If something unplanned happens, we need to be able to immediately recognize and react to it, and know which team owns that part of the product. That's why all our microservices have a 'home base' team and they all are held accountable for each technical domain.

Decision Making

In a large engineering function, it is essential to have transparency in decision making. At Smartly.io, decisions are made on many levels by teams and individual experts. We foster flexibility in decision making, and strive to keep a low hierarchy. To enable transparency, we regularly share information with all team members to keep everyone updated.

Flexibilty

Flexibility in our engineering teams is based on lean and agile principles. We run timeboxed development with continuous planning in all teams, and each of them have the autonomy to decide and fine-tune their practices. However, some basic practices such as daily standups, weekly planning, reviews and sprint retros, need to be followed.

Productivity

Productivity is the key to success. We need to be able to work fast and provide added value to our customers. Therefore, our product management and customer teams work closely with our users, and all feedback is looped back to engineering quickly. Productivity means we have the right practices in place and deliver value to our customers.

Quality

Quality is the key to any sustainable business, and it gets increasingly important for growth organizations. We utilize code reviews and automated testing to maintain the highest possible quality, and also put effort into integration testing between technical domains. Quality at Smartly.io is so much about user experience and product design.

Continuous Improvement

A growing organization is never finished. Our ways of working are constantly changing, and we see change as an opportunity to improve. Everything at Smartly.io is based on this philosophy, hence we are always looking for ways to make our products better, along with our ways of working as well as our organization as a whole.

Learn more about our culture

The Product We Are Building

The Smartly Digital Advertising Platform. Our product is designed for digital advertisers to reach, engage and learn smartly. Combining the power of media automation, creative agility and advertising intelligence across the largest media platforms, our product is being built to solve complex challenges of marketers.

Engineering Blog

Dive into the world of engineering and product development at Smartly.io.

Leading Engineering Teams Takes Fluidity and a Growth Mindset

Engineering Manager Holly Gibson knows from experience that building a career in software development and leading an engineering team demand long-term perspective, continuous learning, and doing things that seem daunting at first.

Read

Scaling Our Development Environment with Kubernetes — Video

How we minimized complexity through scaling our development environment with Kubernetes.

Read

Modernizing Our Image Template Service with React, TypeScript, Chrome, and Kubernetes - How and Why We Re-wrote Our Busiest Service

This post covers our nearly complete re-write and re-design of our Image Template rendering system.

Read

Establishing Task Forces to Tackle Cross-team Challenges

Our Senior Full Stack Developer Tomi introduces how projects that require cooperation from multiple autonomous engineering teams can be run effectively.

Read

The Divine Messenger and Other Architectural Ways to Bridge the Gap between Development Teams

What we learned from using shared types and building a mediator service to harmonize the UI and create a shared frontend between multiple dev teams.

Read

TypeScript Library Builds with GitHub Actions

We saw the release of GitHub Actions as an opportunity to rebuild the release process for our TS libraries. Read how we did it and what we learned along the way.

Read

Do you want to Work Smartly?

Explore open positions