ClearScore Tech Radar 2021

Klaus Thorup
ClearScore
Published in
5 min readJan 21, 2021

One of our ClearScore Engineering Principles is that we constantly aim to review our technology stack to continuously remove legacy. This process involves our teams collaborating on identifying techniques, tools, languages & frameworks and platforms that enable the best business outcomes for our current stage of growth.

To provide some clarity on the choices we make, we publish a Technology Radar each quarter.

It showcases the things we’re:

  • Adopting (using when appropriate)
  • Trialling (pursuing on some projects)
  • Assessing (exploring to find out more), and
  • Holding (phasing out and no longer using on new projects)

Our focus for 2021 is to drive peak performance through a diverse engineering team. To achieve this, we’ve selected technologies that make us more productive with development, testing, monitoring and security.

ClearScore Technology Radar

Development & testing techniques

At ClearScore, we prioritise trust, ownership and speed of delivery over central control. Our entire organisational model is structured around this concept. We’ve implemented this by creating a number of independent delivery teams each with a different mode of operation. Some are optimising the platform, others are proving a new market or product fit. This ability to create startups within a scaleup means that there are always numerous technical challenges to get stuck into.

We embrace a flexible hybrid working model where all team members choose how, where and when they work in order to suit their personal lifestyle. Using the ClearScore Planning Process, these teams come together periodically to reflect on the strategy to refine their own roadmaps to hit their respective targets. To keep them fully empowered, they have independent line management structures, their own objectives and key results (OKRs), and are free to organise themselves into squads.

Our architecture is decentralised using microservices for our API layer, microfrontends in our web tier, MVVM and VIPER architecture in our Android and iOS Native apps respectively. This allows each team to have end-to-end product ownership and the ability to autonomously release changes. By using best practices around continuous delivery and a combination of BDD, automated smoke tests, peer reviews and pipelines as code, we’re now able to comfortably release every few minutes.

More recently we’ve adopted some of the QA Assistance approaches that have been successful at Atlassian. This allows us to keep our quality metrics high with a Dev:QA ratio of 7:1. The whole team is responsible for quality instead of relying on QA to be gatekeepers which often prevents bugs before they are ever written. Developers own stories end-to-end, from inception to production whilst our QA now have the bandwidth to focus on root causes and identification of symptoms. Mitigation techniques such as bugs blitzes and QA kickoffs/demos are now commonplace.

Development & testing tools

Steve Jobs once said that “it’s not the tools that you have faith in — tools are just tools. They work, or they don’t work. It’s people you have faith in or not”. We have faith in our people and trust them to choose their right tools. If the tools don’t work, we stop using them.

The ecosystem we operate in is complex and so our toolset is rich. We use a range of systems to automate our build, development and testing processes. Code is committed into GitHub and is built using a pipeline based on Spinnaker, Jenkins, Fastlane and Bitrise. Automated unit and functional testing are done via Cypress for the web tier, XCUITest for iOS and Espresso for Android.

ClearScore operates in a mode of high transparency. The rule of thumb is that if it’s appropriate for information to be shared, then we share it. We use a number of systems to keep each other in the loop, such as Slack for messaging and alerting, Atlassian Jira and Confluence for workflow and technical documentation respectively, Dropbox for all our files and Oak for our company intranet. Production monitoring with SignalFX, Prometheus and Pingdom all hooked up to Slack to give everyone a view of the health of our systems day or night.

Languages & frameworks

ClearScore embraces the open-source community. This allows us to punch above our weight by leveraging the experience of a global community of technology collaborators. The range of frameworks in the open-source world is staggering, so we carefully handpick the best for what we require.

Scala is favoured over Java for writing our services. We love its clean, concise nature and our performance-obsessed developers are addicted to its advanced optimisation features.

React.js is the framework of choice for our web tier. With its pure JavaScript approach, it lends itself perfectly to creating reusable components and we’ve created a component library to build a range of lightweight, pixel-perfect web apps.

For Native Apps, we use the latest versions of Swift for iOS and Kotlin for Android. Our mobile team has used them to create beautifully crafted Global Apps with app ratings that consistently outperform our competition.

Protocols & platforms

We are proud of our global platform which since April 2017 has been 100% on AWS with 99.9%+ uptime. This allows us to run local instances in the UK, South Africa and Australia providing both low latency and user data in the country of origin. Kubernetes is used for scheduling and running containers with the ability to auto-scale when necessary. Developers deploy their own resources without SRE support allowing us to have a Dev:Ops ratio of over 10:1 and is the foundation for our NoOps culture.

Our Data and Analytics systems are critical to every business decision since our launch. Our Global Analytics Platform uses Segment as an ingestion point to push data into Amplitude for real-time monitoring and Blueshift for our CRM platform. It also populates our data lake in Amazon S3 and data warehouse in Amazon Redshift which powers Domo for our daily dashboards. Using a consistent method of collecting data across backend systems, websites, and mobile apps simplify extracting data to make key decisions.

We’re hiring!

Like what you’ve just read? If you want to be a part of our journey, check out the Engineering & Design Careers Site. Get in touch to find out more about life at ClearScore; what it’s like to work with awesome people and awesome technology, and ultimately help people around the world make a better financial life for themselves.

--

--

Klaus Thorup
ClearScore

Technology expert and self-confessed startup junkie.