Five minutes with... Jon Smart, RoosterMoney CTO
We find out more about the IT powering the popular pocket money app
From an IT perspective, the FinTech market can be a challenging space to be in. Competition is fierce and there’s virtually no room for error in terms of performance, stability and uptime. Running a FinTech firm built specifically for children, however, adds a whole new set of considerations, including enhanced regulatory requirements and usability concerns.
As CTO of RoosterMoney, a FinTech company aiming to help children and parents manage pocket money, these are the challenges that Jon Smart must contend with. On top of simply tracking allowances and spending, the company also recently launched its own child-friendly debit card. We caught up with Smart to find out how he’s using a combination of TypeScript engineering, infrastructure as code, and DevOps methodologies to address these challenges.
What does your core infrastructure currently look like?
We have a bit of a hybrid setup, but we look more like a microservice architecture from a back-end point of view. We segregate and try to keep some of those services together, then use different virtual clouds to also separate and help with the security. So certain services run in very locked down virtual private clouds, while other services have public internet access. So it really helps lay the land out from that perspective.
All of our API goes through what we class as our intelligent API gateway. It's a bit more than your off the shelf API gateway and deals with management of personal identifiable information (PII). We enrich the API calls from there so the service layers below don't need to have any involvement in PII. Then, getting really technical and a little bit geeky, we use a mix of container services and serverless within that approach, and have event architecture for asynchronous processes as well.
What’s your biggest priority within the business?
Looking ahead, the priority at the moment is around scaling. We have 52 currencies, so we operate globally with our tracking products. The UK card element is very focused on just the UK market, but the intention is to scale that out to other markets. So the biggest priority for us at the moment is making sure we've got that global performance that we need, making sure that we can scale and deliver the right services regionally.
Which piece of technology would you say is most critical to achieving this?
The fascinating technology that we're working with at the moment is that we're not only developing the core application code in TypeScript, and JavaScript, but we've also started to bring our infrastructure in as code as well. So helping with that scaling and that deployment globally, having the definition of the infrastructure alongside the code base is really helpful. We've also got a collection of libraries that allow us to share that information, so we can build up an infrastructure picture alongside the application code itself.
We've removed a lot of manual effort and a lot of checking of processes from a SysOps point of view. Having the ability to keep all of these items together also reduces that error of someone having to configure environment variables to point to certain services, or the configuration between them all being in code and being shared. As it deploys, it also offers back the environment variables of the deployment, so then that service to be deployed just picks that up from the previous one.
Get the ITPro. daily newsletter
Receive our latest news, industry updates, featured resources and more. Sign up today to receive our FREE report on AI cyber crime & security - newly updated for 2024.
It gives us the ability tot – should we need to – either redeploy everything from scratch, or go and set up in another region, deploy everything and know that all the services will talk to each other. And then they just link in with the global elements and offload the workload.
Do you have any preferred technology vendors that you especially invest in?
I didn't used to have a preference, but in recent times, we've gravitated towards Amazon Web Services (AWS) as a service provider, and its latest approach to infrastructure as code – the Cloud Development Kit – has been beneficial to us. We were trying to stay quite vendor agnostic, and to some extent, quite a lot of our JavaScript code can be run anywhere; we just seem to be favouring the AWS solutions at the moment.
What’s the biggest IT challenge you’re currently facing?
Apart from the scaling side of things, I think the only other area – and it's not so much as a challenge as something that we can just keep an eye on – is the ever-evolving landscape of mobile development. We have a hybrid approach to our mobile app and things seem to be changing quite frequently there; we didn't adopt React Native, and we've seen people come and go within React Native.
So it's just keeping an eye on that landscape and choosing which direction we go from that point of view and equally, looking at how we can leverage the browser platform. We know that a lot of users still use mobile web as well as apps, so it's making sure that we've got one eye on that, and that we can move quickly should that landscape change, and keep up with the trends from that perspective.
Which part of your IT estate are you proudest of?
I'm proud of a couple of key areas. The one that really stands out to me, is the payments processing solution that we've got within Node.JS. So the microservice we've got there makes use of our own proprietary ledger system, we can respond to authorisation requests in under 200 milliseconds on a Node.JS environment, which is pretty good. With that solution, we also looked at offloading asynchronous tasks; so where an authorisation request as you use a card has to be answered immediately, we've got to get inside that 200 milliseconds every time.
If you're in the payment world, an authorisation is real time, but the next day, you will actually get the settlement. With those settlement requests, we pop the messages onto a queue,] and then run the same code that we do the processing as serverless to process the presentments, separately. So we've got a really nice balance of highly available processor code, that's performant, as well as the everyday natural scaling going on. That whole solution and the way it handles lots of different messages – and, at times, quite high load – is probably the area that I'm the most proud of.
What’s the next big project you’re planning to undertake?
The biggest thing for us will be how we take the knowledge we've got from different regions and from operating a global mobile app, and considering how we can add services in different countries to expand those regions based on that experience. Most of our projects are focused around that and how we can add value in different countries with the different nuances; because you can appreciate that money in different places is handled differently. There's different cultures around money that we've learned a lot through having the tracker project to understand.
In America, for example, they're really big on gifting and giving – charity donations, for example – and that's less so in the UK. Pocket money amounts are also different. Our PMI, the pocket money index that we produced, really helps educate people and it's certainly useful for parents as a minimum, just to see what to pay their children. And we run that across different regions. The next big thing from a technical perspective is definitely scale and expanding regions, and putting it out there a bit more.
Personally-speaking, are you a Windows, Mac or Linux user?
I have been a Mac user for a long time. I had access to my first Mac at the age of 13 and have always been fascinated by Apple’s approach. I have been developing on a Mac since the introduction of the iPhone, although I was a Windows user in a professional environment prior to that. A Mac has always been a great tool to give access to the best of both worlds. That doesn’t mean I dismiss Windows though; I always have to be mindful of the OS and still have to provide guidance to our team on many aspects.
In the past ten years, what technology has made the biggest impact on the IT industry, and why?
The Chrome V8 engine has changed the game for browsers, and importantly it’s brought Node.js to the backend community – helping to expand developers into new territories and reduce barriers for many to expand their stack depth.
Adam Shepherd has been a technology journalist since 2015, covering everything from cloud storage and security, to smartphones and servers. Over the course of his career, he’s seen the spread of 5G, the growing ubiquity of wireless devices, and the start of the connected revolution. He’s also been to more trade shows and technology conferences than he cares to count.
Adam is an avid follower of the latest hardware innovations, and he is never happier than when tinkering with complex network configurations, or exploring a new Linux distro. He was also previously a co-host on the ITPro Podcast, where he was often found ranting about his love of strange gadgets, his disdain for Windows Mobile, and everything in between.
You can find Adam tweeting about enterprise technology (or more often bad jokes) @AdamShepherUK.