Tell us about … building Cake

By Sophie Docx
Andy Verbunt

There’ s no one better to talk about Cake than the people who work there. In this new series “Tell us about…” we interview Cake employees.

Today it is up to Andy Verbunt, Cloud Software Architect, and Pieter Schelfhout, co-founder and Head of Engineering at Cake.

What do you do at Cake?

Pieter: We are responsible for the technology behind Cake. We’ve created the framework, the architecture, of Cake. And we continue to develop it every day. Of course, we don’t do this alone. Every developer in our team is involved in the development of our architecture and we evolve step by step with each new feature.

So what does this Cake framework look like?

Pieter: We have chosen a “cloud native” approach. This means that the architecture of Cake is built on a cloud infrastructure in which we fully utilize existing standard technologies. This was a very conscious decision right from the start. 

And this both for our user platform and for our partner platform. Cake has not only a user side but also a partner side where the analysis of the data is done in real time and where anonymized reports can be produced by Cake’s commercial partners.

Andy: A cloud infrastructure means that we don’t have our own servers nor hardware but make use of an external provider that offers this service in the cloud. We then develop our own microservices. These are small components that work independently of each other and that we can manage separately. All these components are connected to each other by means of “event communication”.

We use as much existing technology as possible. “Off-the-shelf” as we call it. This gives us access to an existing library of technologies. Why would we want to build each feature ourselves if so much is already available? We prefer to focus on building features that differentiate us and have the greatest possible impact on our users.

What technology do you use?

Pieter: We work with Amazon Web Services (AWS) for all of our infrastructure. We often use managed services for databases such as DynamoDB or RDS aurora. We use Kinesis for our event communication, ECS and EKS to host our services. But we can also use services such as Textract for our KYC process to quickly develop robust solutions. All with the intention of spending as little time as possible managing these services, because that is what AWS manages for us.

Is that different from what other companies do?

Pieter: In the financial sector this is absolutely innovative. The traditional banks work in a completely different way.

Andy: They built all the infrastructure themselves from scratch. And that’s not just about the software, but also servers, buildings for the hardware located in geographically dispersed locations to spread the risk, technical teams for the maintenance of that infrastructure.

Pieter: We don’t consider these kinds of tasks (the maintenance of buildings, the construction of servers, …) to be our core business. Our core business is building a user-friendly banking app where the user is at the heart of it. 

What are the advantages of the Cake-way? 

Pieter: There are a lot of advantages. In the first place, we are a lot faster. If we would have had to build everything from scratch in a year and a half, we would easily have needed twice as much time. Now on day 1 we decided, so to speak, how we were going to build the architecture and which technologies we were going to use and on day 2 we could start working on the core of our business, the app.

And because we don’t need time to maintain our infrastructure, we can spend more time developing new features and keep evolving faster.

Andy: Banks usually work with 4 releases per year. To be able to do such a release, the entire system has to be shut down for a number of hours. Then all new features are implemented and the system is turned on again. Users regularly see this message appear in their online banking. Fortunately, this is usually scheduled at night or during weekends. But very annoying anyway if you had just planned to put some banking affairs in order.

Our always-on architecture of microservices and event communication allows us to do a new release several times a day if we wish, while our app remains available.

You can compare this to replacing one lamp in a room. In traditional banks, this requires the power of a large building to be turned off completely using the main switch. While we switch off that one light switch in the room itself while in the rest of the building everything continues to run normally.

These so-called maintenance windows at banks are not only very annoying for the customers but also very frustrating for the people who work there. Every quarter there is a fixed deadline to meet. Only then your update can be released. If you miss this deadline, you will have to wait a few months longer until the next update. Frustrating as an employee but also as a customer of the bank, you wait unnecessarily long for new features or you are saddled with an annoying bug for months when something went wrong.

Pieter: Of course we also save a lot of money. On the one hand, we have no upfront investments in hardware and infrastructure. And by working with specialized suppliers, we enjoy an economy of scale that we can never achieve ourselves. Take the AWS example, they provide services to millions of companies around the world and can therefore offer those services in the most competitive way.

Andy: And then there’s the advantage of scalability. Currently, the app is only available in Belgium and our user base is still limited. But our growth plans are ambitious and soon we will start our first tests in the Netherlands. And a number of other European countries are also planned. If our user group explodes tomorrow, it will be a matter of turning a knob at our current suppliers and we will continue. 

Why don’t banks start working this way?

Andy: Because of their legacy architecture. They are dragging an entire infrastructure from the past and inevitably a lot of processes with a lot of manual steps. Apart from the technical side, a culture change is also needed, and in a large company that is even more difficult. 

Pieter: They do start experimenting with it, but they are lagging behind because of that legacy. The adoption of new technologies is also lagging due to the lack of the right mindset in management.

Is this way of working all equally safe?

Pieter: Yes, absolutely. And given the fact that we work with bank data, that is our top priority.

On the one hand, of course, we work with a licence from the National Bank of Belgium (NBB) and we also operate under their control. In other words, we have to meet all the conditions that any payment institution must meet.

Our entire business model is also based on the GDPR and PSD2. Everything is built with those European privacy guidelines in mind. Where other companies had to make an entire switch, we were able to implement this right from the start. 

Andy: Many companies see security as something that will be added afterwards. For us, this is part of the construction. Moreover, almost all our processes are automated. Less human interference also means that there is less chance of errors. We also have our approach reviewed periodically by specialised companies.

Pieter: And of course we have implemented all the necessary processes to monitor and tackle everything. Our Compliance Officer, Olivier, and our Head of Legal, Yves, ensure that things run smoothly under the watchful eye of external auditors.

Security is, of course, something you are constantly working on. It is a permanent effort and a work that is never finished, but we do have an advantage over traditional companies.

How do we know for sure that this way of working is future proof? That one day we won’t be dragging our own legacy with us?

Andy: On the one hand, our architecture allows us to keep the focus on our core business, the consumer and user of the app.

The suppliers of our technologies are concerned with keeping their core business up to date. 

And there will always be a library of new technologies that we can implement that will allow us to quickly jump on the cart of the latest evolutions and needs.

Pieter: Despite our ambitious growth plans for the number of users of the app, we don’t have it for the team. We want to keep it small and agile, and with the right mindset. 

You don’t do this alone?

Andy: To do what we do, devops, we work with a team of about 15 people. That may seem like a lot, but it’s really very little. 

Pieter: We often say smilingly that we have one person for which another company often has a whole team. For example, we only have 1 android and 1 iOS developer.

Where in many companies there is a wall between development and operations, this is not the case with us. Development and production happens in 1 flow.

Andy: And developing something that takes 3 months somewhere else takes a week of our time.😀

Pieter: The team is composed with our architecture and objectives in mind. We searched for people with the right skills but also with the right mindset.

Andy: The mindset is super important. The mentality of “throwing over the wall”, which I’ve seen at previous employers, doesn’t work here. At Cake, people grab a problem and only let it go when it’s solved. 

This mindset works in two directions: trust is given blindly but you are expected to take responsibility. And that ensures the involvement of everyone. Everyone helps everyone and you never have the feeling that you are on your own. 

Pieter: We have found the right people mainly through our own network. And through them we have found others. And they come from various sectors, from the financial sector to the media. Despite the fact that the profiles we needed were in high demand, we didn’t really have much trouble finding them. There are people everywhere with the right skills, but you have to give them the freedom to develop those skills. We offer them that opportunity, but they had to have the right mindset to do so. With the right mindset and the freedom to develop your skills, the rest will follow.

How is that possible without an office?

Pieter: Very smoothly. We work completely remotely from the start, so all our systems and processes are set up accordingly. The adjustments for remote work that had to be done in many companies as a result of the Corona crisis were unknown to us. We’ve already dedicated a blog article to that. 

Andy: The team starts every day with a so-called “stand-up” meeting to briefly align. And at the beginning of the week there is an “engineering-meeting” where projects and planning are discussed in depth.In addition, there is an important role for the Product Owner, Peter Van Hees. In many other companies this is a shared role or the Product Owner in turn reports to someone else who has influence on the decisions. At Cake, the decision-making power of the Product Owner is absolute, which means that decisions can be made very quickly.

It is also clear to everyone that the direction in which we develop is more important than the goal itself. And that vision is present and known by everyone. Small achievements in the right direction are what count. Also for the user who sees the app continuously evolving. 

Pieter: And that is completely in line with the architecture we have chosen to develop the app with frequent releases. And that completes the circle.

The Cake app is freely available to download since the beginning of this year. Although it is still a beta version it already offers more than enough features to improve your financial insights 💡and to make your bank account profitable 💸 again. Last week we started to share our revenue with our active users. 

Download the app in the App Store and on Google Play and let us know what you think of it via the feedback function in the app! 📝