Steve South talks about his journey in becoming the CTO, and all you need to know about working for Caplin Systems.
Tell us a little bit about what you do at Caplin?
I’m Steve South, and I’m the CTO at Caplin Systems. I’ve been with Caplin for close to 14 years now, and my background prior to that was in freelance web development — I was lucky to discover programming and the web early on in my life and I’ve enjoyed working in this area ever since.
I joined Caplin as a junior and then over the years I’ve progressed through a few different roles, initially helping to develop early versions of the HTML5 toolkit which enabled our clients to build fully featured trading applications in the browser as early as Internet Explorer 5. Over the years I have led teams delivering trading systems in a number of asset classes for clients around the world, before moving into a development manager role, leading the Product and UX team, before eventually becoming CTO working across all engineering initiatives.
For those who’ve never heard of Caplin before, what do you do?
We help our clients design and deliver real-time applications, primarily trading applications across a range of asset classes such as FX, Bonds, Equities and Crypto. Caplin started with real time data streaming — even before I joined, the company initially had a hardware streaming solution and then the team realised it was possible to deliver real time data via the Internet and really helped to pioneer web based streaming. The software version is called Liberator which is used by a number of tier 1 banks today to power their trading applications, as well as providing the integration and distribution layer for all of our customer projects. Liberator is a real time streaming engine which has all of the features that you need in it for web trading applications that you would otherwise have to build if you used a simple WebSocket based solution.
What kind of projects are you working on right now?
We can help our clients in a number of ways, from providing the core technology to accelerate their own Greenfield development, all the way through to providing complete solutions out of the box, and everything in between. You can see our products and components essentially as Lego blocks so we are very flexible with regards to how our clients use, extend and customise and compose our solutions.
We are also accelerating our move into the cloud by deploying our out-of-the-box FX Solutions into AWS and managing these solutions for our clients. This has been a great opportunity for the team to expand their knowledge of AWS, continuous deployment and infrastructure as code.
How would you describe Caplin’s tech stack?
Having been developing web applications for a number of years it has been a really interesting challenge to both stay up to date without having to fully re-write all our solutions every couple of years. The ecosystem has settled down a lot in recent years however and we are happy with where our frontend stack is at the moment. The environment itself should be familiar to most developers, making use of Node.JS and Webpack for example. Most components will now be developed using React and our design system and component library which uses Storybook.
On the backend side the core platform is still developed in C to support the high performance real time distribution, which also means cloud costs can be kept to a minimum as a small server can support a huge number of active connections. Outside of the core platform itself a lot of the integration work is now being done in Kotlin which the team really enjoy working with.
How big are your teams?
Depending on the number of active projects we typically have around 60-70 people at Caplin the majority in engineering and design. We work hard to foster a culture of innovation and learning, encouraging monthly ‘self directed project’ days for all team members, regular mentorship sessions, and twice yearly hack days.
Just prior to lockdown we actually totally re-organised the engineering team. Prior to the change teams would often change depending on new projects starting up or ending, and they would be typically geared towards either frontend or backend. We felt there were improvements to be made there, so we moved everyone into standard sized ‘pods’ and encouraged more full stack development across the pod. This has given us far more stable teams over the past 18 months, which especially during the pandemic and remote working arrangements has helped to ensure everyone feels they have a clear home. It has helped to increase the bonds within the team and as teams learn and improve together means we don’t lose those benefits due to moving people around too often. The teams are really happy with this change and it’s something we’ll look to continue to work on in future.
What’s the best way for a candidate to stand out?
We work hard to make our interview process as natural as possible, strongly favouring a process involving pairing and asking questions rather than silence, pressure and whiteboards. We therefore want the interviewer and the candidate to work together. Do they ask the right questions? Are they pointing out parts they don’t know? Are they effective communicators? This is what the interviewer will be looking for.