Engineer.io— A Day of Learning and Teaching for Developers

We packed our 30-person developer team into a bus and drove them into the middle of nowhere for a one-day offsite. We wanted to take ourselves out of the day-to-day working environment, and focus on learning—and teaching—new skills and knowhow. Smartly.io’s first ever Engineer.io was a success.

At Smartly.io, we look for opportunities to share learnings within the team as often as possible. We organise bi-weekly retros, and whenever someone learns something they think the whole team would benefit from, they set up a Knowledge Share for either the engineers or the wider Smartly.io team. This time, we felt the need for a longer and more in-depth session, so we took the whole day off to properly discuss, learn and teach each other.

A State of the Union on our software

The day began with a sort of “state of the union” by our VP of Engineering Otto. We took a step back to reflect on the highlights of what we’ve accomplished in the past year. Our team has grown from 19 to 30 people, and we’ve divided Engineering into four smaller teams, each focusing on different parts of our product. We’ve also started to take apart the monolith—building microservices to make the product more easy to handle and develop further.

The morning of Engineer.io was reserved for knowledge shares about attribution modelling and statistics by our Data Science team. Engineer.io clearly gave us more time to plunge deeper into these topics than normally, which helped everyone get a better grasp of both the big picture and the intricacies of the product we’re building.

In the afternoon, we had visitors from Reaktor, who shared learnings on how they’ve solved data pipeline challenges in their business. We wrapped the day up with a relaxing sauna and dinner—and got to spend some quality time together as a team.

We also reminded ourselves about those important aspects of our work that are sometimes pushed aside in the heat of getting more urgent tasks done. Recruiting new engineering talent is a crucial task for all of us, and hiring great people is and will always be the biggest bottleneck at Smartly.io. Our business is growing quickly, and we have to be able to take on demanding technical challenges, as well as maintain our fast product development speed. As a result, most engineering teams emphasize recruiting in their OKRs, and everyone’s taking a more active role in sourcing, recruiting, and attracting new tech talent to join the team.

Working together to speed up migration to React, Redux and Flow

We’ve been modernising our stack lately, moving from Angular to React+Redux+Flow. (More about that coming up later!) The bottleneck is that even though the migration has been driven forward by a couple of React champions, not everyone in our team who makes UI components is super fluent in these new technologies. Learning new technologies doesn’t happen in knowledge shares, it demands hands-on work.

So, in the afternoon of Engineer.io, those who needed to brush up their skills, pair-coded React substitutions while the experts coached. We shook things up a bit by pairing people with colleagues they don’t work so closely with every day. As our team has grown, we need to take extra care in making sure that everyone is familiar with each other, and that our strong engineering teams don’t develop into silos.

Giving teams the information to make informed choices

Sharing knowledge, learning fast and teaching others are fundamental building blocks of Smartly.io as a company. When everyone—not just the management—can make decisions, it’s super important that everyone understands the big picture. In order to stay on top of the ever-evolving situation, we emphasise maximising learning at Smartly.io. That is—teaching both yourself and the people around you, scaling skills and knowhow within the team. When we’re collectively more informed, we’ll make better choices for the company.

We’re looking for brilliant engineers to join our team. Are you a brilliant engineer? Check out smartly.io/careers