The why and how of Clay’s engineering objectives.
Daniel Friman started his role as an Engineering Manager at Clay in January this year. Where for some, it might've been a challenging period to start in a role where you need to get all ducks in a row (ducks being the technical Bricks) Daniel has pulled it off.
Daniel is on an ever-evolving mission to oversee elaborate processes and to establish new ways of working. He develops, coaches, and nurtures the Bricks in their roles and optimizes team setups for the future. Further, he navigates as a spokesperson for the Product team as a technical stakeholder, providing the team with the technical vision that supports the goals of the product team and ensures technology is always fit to scale.
One of the past year’s challenges was developing a strong team culture where self-organization, ownership, and accountability are vital. All this needs to be in place for our team of over 30 highly skilled engineers with a broad range of competencies (backend, frontend, mobile, embedded engineers, DevOps, and QA) to excel in their day-to-day work.
A big part of Daniels’s role is to focus on long-term goals and help the team subtract their own (sub)goals and improve the team’s overall (functional/technical) quality. He, therefore, started the process of establishing quarterly engineering objectives and pushed the teams for ownership.
"I aspire to build an environment that enables people to grow, establish new ways of working, and push for technical excellence."
Small team, big impact
Coming from a large corporate environment, Daniel noticed a big difference while working with smaller teams. Clay is a very ‘tech organized’ company and there’s a lot of in-house knowledge which ignites discussions on how to improve and do things differently. Working with smaller teams has the advantage of being able to talk to everyone and listen in on these inspiring discussions. Decisions like choosing to work with a (different) type of technology can be made while talking directly to the source. One or more people per team have a higher level of knowledge about observability and understand how all components affect each other. If there's a lack of knowledge, we organize tech talks where we often invite interesting speakers from other companies to provide the Bricks with additional knowledge. We notice that when teams get more freedom, they get more creative. That’s exactly what you want, especially from software engineers whose work is, in essence, a creative craft. The more people feel supported and have the feeling they can make a change to the business the more motivated they become. We are building these awesome products together and happily rely on each other.
Why we work with Engineering Objectives
The purpose of establishing engineering objectives is to guide the teams on how to prioritize the technical work during a quarter. The engineering objective initiative started in Q3 of 2021 and is about creating momentum for things that matter to the business and what we are focusing on this year. Each team knows its own product best. Therefore, the teams are most eligible to decide how to effectively contribute to the engineering objective. This is why the Engineering Objective itself doesn’t go much into detail.
How did the Q3 & Q4 Engineering Objective come about?
It’s all team effort. It starts by talking to the engineers, BoA (Board of Architects), the product manager, managing director, and other important stakeholders and finding out what the different needs are just by listening. A red line often becomes apparent fast while listening to these conversations. This enables you to quickly see what the end goal should be. Eventually, it became clear the Q3 and Q4 objectives should focus on increasing observability.
What happens next is this first proposal of Engineering Objectives is discussed with the ‘BoA’ (Board of Architects) before they are presented to the entire team. At this stage, it’s very important to clearly communicate why these objectives were chosen, their importance them, and what the end goal should be. To avoid the teams having additional work to keep up with the Engineering Objectives we make sure the engineering objectives are in line with the overarching Company Objectives.
A fundamental aspect of the Engineering Objectives is to have them apply to multiple teams. You can do this by establishing an overarching theme, which allows offering helpful tools that can be applicable to the entire team. Such as the tech talks we host on a bi-monthly basis that are helpful to all teams since they are working on objectives with the same theme. This way the Bricks are likely to face similar challenges, which results in valuable discussions related to the theme and objectives, and we are able to help each other out.
What is the current objective?
The engineering objective for Q3 & Q4 in 2021 is 'Improve the observability of end-user patterns and technology.’ It’s crucial that we understand our end-user patterns and technology to make informed (product) decisions using data and increase customer satisfaction. For example, it’s essential to understand end-user patterns to prioritize features and bug fixes. Another example is that it should be straightforward to pinpoint the root cause of problems.
Observability is a property of a system that has been designed, built, tested, deployed, operated, monitored, and maintained. An observable system isn’t achieved by plainly having monitoring in place. It is a feature that needs to be enshrined into a system at the time of system design.
Observability tools have historically been geared towards operation engineers who focus on uptime and service performance since they need to resolve production problems quickly. This made them find alternative solutions to traditional monitoring. Since then, observability has increasingly included developers. At Clay, the entire engineering team is involved with observability and every team manages their own. There are one or more champions in each team that knows how to handle relevant tools and services. To support this we have bi-monthly tech talks that help gain knowledge on the technology that increases observability.
Engineering Objectives won't steer teams into another direction away from the current Company Objectives.One of those being: ‘Apply data to become data-driven. Full observability means that any Brick should be able to easily find data to understand what's really going on and use this data pro-actively, especially since Clay wants to be a data-driven organization.
Manually triggered reports are a start, but interactive dashboards with real-time data and alerts that are easily accessible for all Clay engineers are the end goal.
“The purpose of establishing Engineering Objectives is to guide teams on how to prioritize Technical Objectives during a quarter.”
The future of Clay’s Engineering Objectives
In the future, we keep working with Engineering Objectives since we see it is helping us to focus on the end goal. With the 2021 Q3 & Q4 engineering objectives, we have paved the way for the upcoming Engineering Objectives that will be data-driven and use metrics in addition to completing deliverables. It’s not yet set in stone but the future objectives will probably be more about future scalability, increased reliability, and security of the platform.
Curious how we structured our teams at Clay? Take a look at the company’s org chart at the bottom of the tech page and click on the boxes to get a clear understanding of how we work.
Do you follow the Bricks on social media? No? You’re missing out! Find us on Instagram and LinkedIn, and feel free to say hi!