Kreditech is a financial services company, operating primarily in emerging markets.
The tech stack
A blend of “traditional” Scala (Akka / Lightbend stack) along with some functional aspects (Cats)
- Scala 2.12.x
- Akka, Akka persistence
A mix of data scientists working primarily in R, along with Scala developers. We were fortunate to have a strong
team of business analysts and product owners.
I was responsible for the risk and credit scoring element of the platform. We employed machine learning to make affordability
and credit worthiness decisions in the absence of traditional credit rating reports. The data scientists produced
models in R, and I was responsible for bringing them to production. I worked closely with the product managers to
understand the business drivers and KPIs.
What did I learn
People are more important than processes. In contrast to many Agile environments we adopted a very lightweight process.
We held one team meeting per week, we didn’t follow Scrum or Kanban, and we didn’t write user stories.
Conventional wisdom would say this is a recipe for a disaster, but we were successful. Why? because we had a very close
relationship between the product managers and technical teams. I fully understood the direction the business was
heading in and was able to make technical decisions to support this.
We also adopted a federated team structure. In essence, the sales team had a group of developers to support them,
the risk team had the same. The platform as a whole worked well because each team operated independently and offered a
“service” to other business units. The teams were highly focussed and understood the business goals and technical
This structure also allowed the business to scale up quickly. When we wanted to introduce a new product we could
pick from a range of in house services. We had confidence that the service we were using were solid, and the people
behind them understood them well.