At Mambu, we are always on the move, fast to adapt, and resilient to changes.
Mambu follows an evolutionary architecture approach, building systems that allow for evolution at no significant cost or effort when changes are introduced. A methodology that enhances innovation and the development of new capabilities. We are able to do this mainly thanks to the cloud-native nature of the platform, which supports practices like Continuous Delivery and Canary Releases.
Java, the mature programming language that built its reputation as solid and age-proof, is the blood flowing through the veins of Mambu. In our work, we apply both Web Application and Microservices architecture principles.
The code base is managed using the Git Version Control System as well as BitBucket, for Monolith and GitLab for our Microservice features. We test our code with automated tests that are done on each commit as part of the continuous delivery pipeline. Pipelines are managed and executed with ArgoCD and Gitlab CI.
We regularly check to improve the tests in order to improve their speed and reliability.
As in any good ol’ real-time system, every transaction and action are directly posted in the account. This is achieved by applying an event-driven architecture, both to communicate between internal components, as well as to communicate between decoupled microservices, via high-throughput messaging, based on Apache Kafka or Nakadi.
Mambu is an API-driven system, where every capability is exposed via RESTful API. The documentation of APIs is publicly available at api.mambu.com, together with endpoint descriptions, examples and easy to understand overviews.
We think that a happy developer is a productive developer and dev experience is vital for us. We believe in self-service and community-driven support facilities in addition to traditional help desk/ticketing-based support. Our company has a self-service/knowledge management portal at support.mambu.com as well as a community portal at community.mambu.com. This means that any member of our community that is interested to learn about features and functionalities has the resources in place to do so. Our community is made up of employees from the financial institutions we support, our partners, API developers and even internal staff who want to understand our engine better. Our community members can get answers directly from the engineers behind the Mambu code, which is a win-win situation: engineers get a better understanding of the real needs of the customers, while at the same time, customers get competent answers to their inquiries.
This year we plan to extend our self-service capabilities with an even more exciting interactive training platform, called Mambu Academy which will use the latest findings and research in Adult Learning Theory and Interactive Design.
We continually monitor and raise the quality of our software projects, which in turn ensures their longevity. We apply Quality Assurance practices in accordance with Testing Strategy, at every stage of the Software Development Life Cycle. We start by defining the requirements and acceptance criteria in Behaviour-Driven scenarios (BDD) together with Test-Driven Development practices to drive implementation.
Uncle Bob’s book on Clean Code, and Martin Fowler’s book on Refactoring are must-reads for anyone joining Mambu. We hold regular book clubs on these topics, as we’re always striving to bring our coding skills to the next level.
We don’t rely on our own wits alone. We use tools to make sure our source code is scanned for well-known design quality issues, security vulnerabilities as well as third-party dependencies and security vulnerabilities. This way we make sure our code stays protected from any vulnerabilities that may be introduced by third-party libraries.
Pull requests are good opportunities to learn about good practices. First code reviewers are mainly experienced engineers that know the product in depth. Code review comments serve as teaching opportunities for junior developers, providing them with real-life lessons. Each Merge Request is therefore reviewed by one or multiple engineers.
Performance, security and scalability are tested by a dedicated Performance Monitoring team, in a fully automated way, which ensures no problems are introduced into the production system.
Once every six months the full system goes through a PenTest exercise, led by an independent third party company, with the scope to provide us with more insights in issues that may otherwise escape our experienced engineers' eyes.
The beating heart of Mambu
Some call us “experts at collaborating globally”, others know us as a close-knit team capable of solving big problems. One thing is for sure, what brings us together is drive, confidence and a collaborative spirit. At Mambu we think that an organisation can innovate when it is able to encourage a diverse group of people to work together, harnessing the appropriate technology, to solve complex problems with no known solutions but with continuous support. Technology is only part of the picture, most of the rest is a combination of psychological safety, progress, empathy, social support, agility and feedback.