OpsLevel Logo
Product

Visibility

Catalog

Keep an automated record of truth

Integrations

Unify your entire tech stack

AI Engine

Restoring knowledge & generating insight

Standards

Scorecards

Measure and improve software health

Campaigns

Action on cross-cutting initiatives with ease

Checks

Get actionable insights

Developer Autonomy

Service Templates

Spin up new services within guardrails

Self-service Actions

Empower devs to do more on their own

Knowledge Center

Tap into API & Tech Docs in one single place

Featured Resource

OpsLevel Product Updates: May 2025
OpsLevel Product Updates: May 2025
Read more
Use Cases

Use cases

Improve Standards

Set and rollout best practices for your software

Drive Ownership

Build accountability and clarity into your catalog

Developer Experience

Free up your team to focus on high-impact work

Featured Resource

Software standards: How to build and maintain effective service maturity
Software standards: How to build and maintain effective service maturity
Read more
Customers
Our customers

We support leading engineering teams to deliver high-quality software, faster.

More customers
Hudl
Hudl goes from Rookie to MVP with OpsLevel
Read more
Hudl
Keller Williams
Keller Williams’ software catalog becomes a vital source of truth
Read more
Keller Williams
Duolingo
How Duolingo automates service creation and maintenance to tackle more impactful infra work
Read more
Duolingo
Resources
Our resources

Explore our library of helpful resources and learn what your team can do with OpsLevel.

All resources

Resource types

Blog

Resources, tips, and the latest in engineering insights

Guide

Practical resources to roll out new programs and features

Demo

Videos of our product and features

Events

Live and on-demand conversations

Interactive Demo

See OpsLevel in action

Pricing

Flexible and designed for your unique needs

Docs
Log In
Book a demo
Log In
Book a demo
No items found.
Share this
Table of contents
 link
 
Resources
Blog

Microservices, constant iteration, and the shelf life of good solutions, according to Diederik van Liere

Insights
Tooling
Engineering leadership
Microservices, constant iteration, and the shelf life of good solutions, 
according to Diederik van Liere
Kenneth Rose
|
November 19, 2021

Welcome to Level-Up, an exclusive interview series with standout engineering leaders who share what’s top of mind for them. This interview puts the spotlight on Diederik Van Liere, VP of Data & Engineering at Wealthsimple. Let us know who we should talk to next!

Today’s companies are inundated with data–data about how their users behave, what products they buy, and how they interact with your software.

Diederik van Liere, VP of Data & Engineering at Wealthsimple (previously Shopify and Wikipedia) is fascinated by how this data can be leveraged to make better decisions and to create more user-friendly products and services.

At Wealthsimple, Diederik is responsible for everything with data: data warehouse, data platform, data science. He’s also responsible for the company’s Book of Records, which keeps track of client assets, securities, and cash that they can invest and trade.

“I’m curious about how we can use data to make better decisions,” he said. “In particular, how can we use data for automated decision-making using machine learning and AI? These are the challenges I wrestle with on a daily basis.”

I recently got to chat with Diederik about the architecture at Wealthsimple. He shared details about Wealthsimple’s stack, as well as his perspective on microservices and the future of software development. Diederik has also watched companies grow and has insights into how platform architecture must  adjust as business objectives evolve and companies process more data.

Diving into Wealthsimple’s architecture

Diederik describes Wealthsimple as a matrixed organization. That is, the company’s products have their own set of microservices, as well as those that spam or are re-used across the products.

“We have four core products and each one has its own dedicated product engineering groups. They’re very feature-focused, and they have their own set of microservices,” said Diederik. “But we also have a few domains that offer functionality across all of our products. For example, a client [i.e. user] domain, a money movement domain, or a trading domain has functionality that can be re-used as well as functionality that’s specific to the product. As a result, we have a matrixed organization.”

Wealthsimple’s approach to service ownership has changed as the company has grown. “As your business evolves, you have to redraw the boundaries of service ownership,” said Diederik.

He suggested that while many assume service ownership is static–believing that because Team A built a certain system, Team A will own it forever–they’ve become far more pragmatic and flexible at Weathsimple. As a business grows, it’s engineering organization needs to figure out how to manage the inevitable service ownership changes in order to evolve with the business.

The pros and cons of microservices

Diederik shared a number of interesting pros and cons with microservices architecture. Of course, it’s much easier to get familiar with a microservices codebase because the scope is significantly smaller. At the same time, it’s much harder to understand how these services fit together and interact within a larger architecture.

“When you’re using microservices, you’re naturally going to have dependencies on other services. To really understand those–and to debug them when issues arise–it becomes significantly more complex,” said Diederik.

But Diederik doesn’t see this as a reason to use a monolith rather than microservices. Instead, he sees the need for investing much more in tooling and logging. “In order to be effective with microservices, you need to invest way more in tooling and logging to help you understand how your module is actually working in detail,” he said.

Since this tooling is so foundational, Diederik advocated for opinionated platform teams that take decisions about monitoring and logging libraries out of the hands of individual developers. Choice and flexibility aren’t appropriate everywhere.

Diederik also believes that some of the challenges in microservices can be ameliorated by being savvy about creating API gateways. “People need to move away from an architecture where ‘everyone is allowed to talk to everyone,’” he said. “Rather than talk to a service directly, they should communicate through an API gateway that routes to the right microservice.”

Engineers and data scientists want to move as quickly as they can to meet the business needs, but they may never be able to respond instantly. “But it’s important to realize that the microservice philosophy is a way to think about what can we do to fundamentally move faster to support the business better,” said Diederik.

A constant iteration as businesses grow and change

As businesses grow, they collect more and more data. But collecting data is the first step–you need to make it discoverable and interpretable to make it useful. And, what worked well when you first started may not suffice as you grow.

“What typically tends to happen is that the solutions that worked really well have a limited shelf life. So you keep chasing, or improving I should say. You keep improving your architecture for the next scale, next challenge.” he said.

Diederik recommends developing a dynamic perspective. After all, the scope and domain of a particular service might be right for a certain moment in time, but inevitably the business keeps changing, and your scope and domain need to change again.

 “When it comes to architecture, we need to think of things in terms of a dynamic, constant cycle of iterations. We get it more right, and then something happens and things are less right,” he said. “We go through this over and over again.”

For example, Wealthsimple operated its invest product in the US market for a while. They had one service with an abstraction layer on different brokerages. But after ceasing to offer the product in the US, that abstraction layer became unnecessary. At one point, it was very useful and served a clear purpose. But the whole purpose of the unifying API was no longer a business goal.

“When it comes to architecture, we need to think of things in terms of a dynamic, constant cycle of iterations. We get it more right, and then something happens and things are less right,” he said. “We go through this over and over again.”

A third wave of software development - monoliths to microservices to something new

Diederik believes that the cutting edge of software development is in microservices, but that the future may bring something new. He’s been impressed with the leaps that no code services have taken and believes there may be a third wave of software development where new possibilities emerge.

“No code platforms have come a long way in the past 10 years,” said Diederik. “I think we will get more and more powerful abstractions in the next phase with more expressive blocks. I’m speculating here–but I think we’ll see this more and more”

More resources

Fast code, firm control: An AI coding adoption overview for leaders
Blog
Fast code, firm control: An AI coding adoption overview for leaders

AI is writing your code; are you ready?

Read more
March Product Updates
Blog
March Product Updates

Some of the big releases from the month of March.

Read more
How Generative AI Is Changing Software Development: Key Insights from the DORA Report
Blog
How Generative AI Is Changing Software Development: Key Insights from the DORA Report

Discover the key findings from the 2024 DORA Report on Generative AI in Software Development. Learn how OpsLevel’s AI-powered tools enhance productivity, improve code quality, and simplify documentation, while helping developers avoid common pitfalls of AI adoption.

Read more
Product
Software catalogMaturityIntegrationsSelf-serviceKnowledge CenterBook a meeting
Company
About usCareersContact usCustomersPartnersSecurity
Resources
DocsEventsBlogPricingDemoGuide to Internal Developer PortalsGuide to Production Readiness
Comparisons
OpsLevel vs BackstageOpsLevel vs CortexOpsLevel vs Atlassian CompassOpsLevel vs Port
Subscribe
Join our newsletter to stay up to date on features and releases.
By subscribing you agree to with our Privacy Policy and provide consent to receive updates from our company.
SOC 2AICPA SOC
© 2024 J/K Labs Inc. All rights reserved.
Terms of Use
Privacy Policy
Responsible Disclosure
By using this website, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Data Processing Agreement for more information.
Okay!