About the project
Changing the way sensitive business functions like debt resolution operate requires an in-depth understanding of the business and bold thinking. At SoftwareMill, we're proud to work with the company whose founders merged and created Flexys. Flexys is a British tech company redefining how the debt collection industry operates. SoftwareMill helped Flexys turn an MVP into the first client-ready product but also supported the team with transitioning from a small group of in-house engineers to a much larger team.
Team
- 3 devs
Duration
- 2 years
Team role
- Senior Fullstack Developers
- Senior DevOps Engineer
Industry
- Fintech
Technology
- Scala
- Akka
- Cassandra
- PostgreSQL
- Slick
- Kafka
- Docker
- Kubernetes
- Angular 6
Challenges
On the technical side, Flexys had an MVP of the product, proving the business model is successful. The client needed an experienced team extension that would help with the product kick-off and the team setup. Our main task was to help Flexys with the technical side of the project while they built the team from the ground up.
We functioned as part of Flexys team and provided them with deep expertise in some of the technologies they use, primarily Scala programming. Initially, we focused on code review and identifying improvement opportunities. We started implementing quick fixes and devised a plan for significant architectural improvements. Our next goal was to transfer good practices to the team. We introduced the in-house team to the remote work best practices, shared the code review culture, and encouraged the start of a technical reading club.
Technology used
Solution
We work in a TEM (Team Extension Model) in which we augment the in-house IT team with developers that support the team with expertise in various areas, including designing project architecture, developing high-quality code, and mentoring. This is an ongoing development effort to build new features and functionalities for the market. We helped to develop project architecture, including Akka (http, persistence), Cassandra, PostgreSQL, and Angular.
The current software architecture involves building applications into Docker containers and making deploys on the Google Cloud platform, which requires Microservices, an event-sourced CQRS architecture, functional programming, http4s, cats-effects, and others.
Results
We contributed both to the product's code and team setup by sharing our best practices. The joint effort of the whole team resulted in a successful migration setup. We managed to launch the back-office part of the app, as well as bring the customer-facing part of the app to the next level. Thanks to our support Flexys has been able to deliver to their first client.