Five minutes with... Dan Jacobs, TRX CTO
We learn about the technology infrastructure which powers TRX
TV licensing is a bit of a tricky business; Historically, when TV studios wanted to sell their content for distribution in foreign markets, the process was lengthy and time-consuming, involving numerous emails, phone calls and negotiation sessions over the course of months.
Tech company TRX is trying to solve this problem by creating an online marketplace where broadcasters can quickly and easily license content from TV creators and studios at the push of a button.
This presents a unique challenge for TRX CTO Dan Jacobs, who is tasked with managing the platform and infrastructure which allows almost 100 content studios to sell their more than 80,000 hours of material to hundreds of broadcasters around the globe.
We sat down with Jacobs to find out more about the technology which powers TRX's business, and how he copes with the many challenges involved in running such a complex platform.
Five minutes with... Dan Jacobs, TRX CTO
What does your core infrastructure currently look like?
Everything is what the industry calls a multi-tenanted cloud-based platform. So that means we have one platform, which sits, in our case, on AWS. So that's accessible, obviously, everywhere in the world, and everything runs from there. And it's just one installation, we don't have multiple installations. All our customers are using essentially the same infrastructure as each other.
What’s your biggest priority within the business?
We’re trying to get to the point where the product becomes indispensable to our customers. And obviously we have paying customers and we have a lot of positive feedback, and people like the product, but there's kind of moving it from there to ‘we just can't do without it’. And that's where you're creating the most value possible, so that people essentially will pay more and stick around longer.
CTOs have different roles, different functions and different priorities, but in my worldview, there's no separation between the product and the tech. It's one of the reasons why I used Ruby on Rails as the technology stack, because the developers in that community tend to be very product and commercially focused for developers. For example, if you speak to Python developers, they tend to be much more ‘mathsy’, and they're really interested in the maths challenges, but I find that in my experience, they're not as interested and engaged in the user experience. So getting there is a big focus and I want everyone in my team to be really focused on that, and to be close to the user.
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.
Which piece of technology would you say is most critical to achieving this?
We're using Ruby on Rails as the backend and at the frontend, which is where the customer interacts, we're using React, which is a JavaScript framework. And I think that has become the most critical piece; trying to write code in a way that’s componentised, that's easily maintainable and reusable, and allows us to very quickly iterate on features and add new features.
I think that as much as anything else it's how you implement these things, so that you can be you can be responsive and quick and that kind of thing. You can implement React in a way that’s not very nimble. But one of the things it's designed for is to be multi-platform, so it can work well across different devices and mobile and things like that, and also gives you the ability to code things quite quickly, if you do it right. So, I think because, you know, speed of iteration is really important. That's why for me, at the moment, the React side of it is probably most important.
Do you have any preferred technology vendors that you especially invest in?
We're using AWS as a vendor for all our cloud-based hosting, and that's a critical part of our infrastructure. We use a lot of third party services, because one of the Agile concepts is ‘buy, don't build’ - in other words, it's an extreme programming way of saying 'don't reinvent the wheel'. So we've got a whole bunch of different services.
We have an internal messaging application so that our customers can message each other; we're re-implementing it at the moment, and we're using a third party service called Pusher, and they have a framework called Chatkit. We're using that and then we bespoke it using React.
One of my favourite services that we use is called Segment. And what it is, is, you end up integrating with a lot of third parties for things like analytics, or customer service apps or helpdesk systems. And what happens is you end up putting a lot of different integrations into your code Segment is kind of a mediator for those, so you just integrate Segment once and then it's very easy to plug in one of several hundred third party systems. So I like segment quite a lot, and I've used it for several years in different projects and businesses.
What’s the biggest IT challenge you’re currently facing?
I think, for me, it’s a question of resources. There’s so many things that we want to test, and there’s so many things we want to try - and yet, there’s always the resource constraints. With the current size of our team, if we wanted to do everything try everything that we have in mind, we'd be spending a couple of years on it.
Which is actually, in a way, a good problem, because you have to really prioritise. It makes you really think about your processes and how you're making decisions about what was the next thing to try is. Also, finding new developers is always a massive problem for any technology business, or anyone hiring developers.
Which part of your IT estate are you proudest of?
As a craftsman, any piece of work you've done in the past, you look at it, and you go, ‘oh, I can do better than that’. Obviously, that might not be the most healthy thing from an emotional or intellectual standpoint, but I think what we’re doing well is the process, and that’s what I’m proud of.
I've got a really good team that I think function well; we can iterate well, we have the right prioritisation, we minimise our technical debt as a team very well. Although we're constantly challenging ourselves, and we can always be better. But code gets old very quickly, so I think it's more the team and the process around it.
What’s the next big project you’re planning on undertaking?
The current big one that we’re just kicking off is the messaging feature. We’re also just starting an MVP for a mobile app. So those are two big ones we're just kicking off now, and they’ll both be a month of dev work, which is quite a lot. We try to build features as quickly and as minimally as possible. With the messaging, we’re completely rewriting it, but we can't release it until it's as good as the previous one, because it's not a new feature. So that's taking a little bit of time.
Mobile dev always takes a bit longer, but we are starting very, very skinny with it, we're just focusing on one feature of, say, 10 big features that we have within the product. That will be very ‘MVP’, and we’re thinking what adds the most value to our existing customer base to put in a mobile app. I’m enjoying working on those projects.
Personally-speaking, are you a Windows, Mac or Linux user?
I'm a Mac person, and everything we do is on the Linux stack within AWS. 20 years ago, I was a Linux person, I did everything in that environment - it was just always historically a more serious environment to work in. I know that the Microsoft stack is very good these days, but I think one of the main reasons is the power and flexibility, historically, you've had in the Unix world. Although over the years, Windows has caught up a lot.
In the developer world, the stack that we use - Ruby on Rails, which I've been using for eight years now - the developers tend to be Mac users, so everyone's on the same kind of platform. So we're developing locally on macOS, and then we can use a lot of the same apps that run on our servers, because it's all essentially Unix based. We have a deployment pipeline into AWS, and I think they're Ubuntu-based instances.
In the last ten years, what technology has made the biggest impact on the IT industry, and why?
I think the abstraction of everything into the cloud; that’s had the biggest impact in reality, because it used to be you had to deploy your servers everywhere and worry about how do you deliver content or product around the world, and worrying about hosting, having enough servers and all that kind of thing.
That's just been solved by all these big players, like Amazon, and Microsoft, and Google and other people. I think that's been a massive thing. 15 years ago, I would have had a team of assistant systems engineers who were looking after servers and things like that. And it's just not necessary anymore.
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.