How to choose a development framework depending on business goals?

Jose Sanchez Loureda, CTO ● Sep 19th, 2023

The full transcript

Stephen

Hi Jose! Welcome to the Devico Breakfast Bar! Great to see you this morning. I wonder if you could tell us a little bit about yourself, and your role, and your journey to becoming a CTO.

Jose

Yeah, sure. Thanks very much, Stephen. I guess my background... So I'm originally from Spain, although I've been living in the UK for a good, almost 30 years now. And my background is very much started in the sort of data science space. So I studied maths and physics up at Durham University and then I went on to do a PhD, etc. So I was in academia for a while, and then I came down to London and went into industry, starting with sort of data science-type roles.So started working in the early days of smart meters, et cetera, with an interesting startup, and built up a sort of suite of electricity and energy monitoring tools for customers, for a large utility.

And then I sort of went out from there and I've worked in different industries and media, and telecom, travel, real estate, and more recently, FinTech. And it's something that I really enjoy doing. So, just generally getting into the technology space after I was in academia because it allows you to work in almost any area and learn a lot about different industries. So yeah, I come from that background. And then over the years, of course, as I got more experience and had the opportunity to manage teams, and then I got sort of broader responsibilities, I eventually became a Chief Technology Officer looking after not just data and engineering but other aspects as well - DevOps, cybersecurity, et cetera. So it's been a little bit of my journey throughout the years.

Stephen

Thanks, Jose. A big breadth of experience. I mean, lots of exposures to different aspects of the role you're in. How about sharing with us something around that you're truly passionate about?

Jose

Well, first thing is kind of the team itself, the people. For me, it's really important to build a team that works very well together, collaborative, sort of proactive, that's enthusiastic about what they're doing. And I guess I see my role is enabling that to happen both providing people with direction and guidance as to what it is we're trying to accomplish and then sort of empowering them to be able to use their skills and their experience in pursuit of that goal.

So I would say, actually, like the team side of things, which is kind of the people management, side of technology leadership is really important for me. I look at people that don't just have good technical skills because obviously that's necessary but also have very high integrity, for example, that work well with others, collaborate well, share their knowledge – those sort of attributes that help build up a successful team. For me, that's really important.

Stephen

Thank you. It's great to hear your passion about the importance of people within the sector. And we'll come to a bit of that later. Tell us what you feel is probably your most important accomplishment to date as a CTO.

Jose

I guess there's different examples that come to mind. Recently, when I was working at Mode I came in and had to do a little bit of a sort of turnaround exercise. So I inherited a team that had been previously restructured, I inherited a team that I really had to focus on remotivating and providing guidance as to where we were going to next and focus on delivery which was definitely, I would say, challenging. And being able to do that and then work on designing a new product roadmap and then, which was a shift for the company from their prior objectives that they had, all of that kind of put together, and being able to do that successfully. For me, like I felt sort of proud of being able to do that because it was definitely tricky at times. I guess maybe looking a bit sort of further back, I did enjoy, though I wasn't CTO at the time, but the work I did at Sky, which sort of impacted millions of customers, I helped develop the big data platform over there and support their big brand products. I think that's also a highlight, I would say.

Stephen

Okay, some significant accomplishments. Before we get into talking some technical stuff, let's just ask one more question. Jose, within all of those accomplishments could you share with us perhaps a funny situation that you look back on at work, a particular project, and kind of what's your reflection on that?

Jose

I guess like recently it was a bit funny for me, but when I joined Mode as well, they were sort of working in an Agile framework. We kind of changed it slightly. But anyway, as part of our regular standups, the guys started requesting sort of words of wisdom, kind of thing. Every time we had one of these regular sessions, which definitely caught me a little bit unprepared the first time, so I had to start kind of researching something interesting to say or some words of wisdom to share in these meetings.

And I guess it goes to the point of keeping people motivated. And then, you know, there's this sort of lighthearted side of things as well. It's not just giving people technical tasks, et cetera, but the more lighthearted elements. It's also quite important, right, to build that rapport, especially, when we're all remote. So yeah, that was, I guess, kind of like an interesting, funny thing that came up more recently.

Stephen

Thank you for sharing that. Let's start thinking about technology in the space that we're in. Often people would say one constant is change and never more so in the technology space. How do you yourself go about keeping up to date with the changes in the space that we're in?

Jose

Yeah, absolutely. There's just so much change happening all the time. I think it's a combination of factors. I do like just read a lot about what's going on and blogs and things like that. Also, just from talking to people, whether it's in my team or other organizations as well. So attending networking events or conferences, things like that. I also enjoy the occasional more structured approach, just doing short online courses or things like that, maybe like new technologies, new areas, or even going a bit deeper into areas that I've worked in the past, for example, on AWS or things like that. I guess then it's just also in the day-to-day.

For me, I've worked in startups and corporate environments, which gives you different exposure to different technologies. It's quite nice more recently going back to a small organization because then you are much closer to the day-to-day. And I was very involved in a lot of the technologies and also like considering what would be best to use in different cases and really like going into a lot of granular detail on these things. For me, it's also quite an interesting learning experience that I didn't necessarily get in other corporate roles in big organizations, where the role is much more strategic, but you lose a little bit of that detail, day-to-day kind of exposure.

Stephen

Great. Thank you. Challenge keeping on top of all of that and do the day job at the same time. There's been previous conversations in some of our podcasts around computer language and development frameworks, and I wondered how would you make a choice about which computer language or development framework to use and how much to a standard should it be for you.

Jose

I guess it all stems from what the business is trying to achieve, what are the business objectives and what are, therefore, the products that we need to develop, and what's the target audience. If it's a B2C kind of proposition, like how is it best to reach them? If it's B2B, again, like different approaches. I think a lot of it stems from that, just understanding what we're trying to do. And then, once you're clear on that, for example, Mode was a B2C proposition and sort of mobile-first B2C proposition, so that was the best way of reaching our potential customers. So then you can get more into, okay, so if we're building a mobile application on iOS, Android, what frameworks we want to use? We want to use across platform approach, native approach, on the infrastructure? What kind of services are we going to be developing? How do we want to structure that side of things, the infrastructure? What clouds we want to use?

So you kind of start getting into a lot more of those details, but it stems from what you're trying to achieve in the first place, I would say. And then also things like how much kind of funding and budget do you have? Right? So more practical considerations, not just now but in the future.So that could inform maybe you want to take a more cross-platform approach to mobile development, use something like Flutter instead of doing native. And you sort of have to make those decisions balancing quite a few factors.

Stephen

Jose, for you, what are the characteristics of a good software or IT system design? And how would you differentiate a good architecture from a bad one?

Jose

I think it goes back to what you're trying to build. I mean, there're certain hygiene factors that every good architecture has to have. I would say in terms of things like security and good practices like automation, infrastructure as code, et cetera, in your software development. So just kind of making sure that it's built in a way that increases the automation, and you're able to reproduce results across different environments, et cetera. So those types of hygiene factors that I think are important in any design. But I think more crucially it's going back to the problem that you're trying to solve and not underengineering or overengineering the solution to that problem cause you can do both.

So a good design, a good architecture basically solves the problem that you have in, I would say, as simple a way as possible but allowing for future growth, future development, different possibilities that you might want to add. But there's a danger, I think, some of the time, especially in startups where at the beginning you're still trying to get a good product market fit where you might think, 'Well, we're just going to build this amazing platform with everything automated, microservices, everything as you might do if you had lots and lots of money and were a much bigger organization.' But actually, it then causes a lot of overhead. It's not really necessary cause you don't have necessarily the scale, et cetera. It's a balance.

And I think designs also evolve over time. I don't think there's a sort of single design that is valid, let's say, in the early days of a company and is then valid one, two, three years later. So I see it very much as a good design is something that allows you to evolve as well. So it's a kind of point, starting point, point of evolution. And always bear in mind: if you do need to evolve this, design it in a way that allows you to do that sort of relatively painlessly. Don't build something that really boxes you in a particular way, then it just becomes extremely difficult if you ever want to adapt it or change it. I think those are some of the key elements that I would say between good and not so good designs.

Stephen

Thank you for the insight. You referenced a number of times cost and budget, and I just wondered specifically if you could share with us any tools you use as a CTO to drive efficiency in your teams.

Jose

I don't use anything special. So we use the standard, from a work management point of view, tools like JIRA, etc. to manage our agile development, and then you can look at velocity and productivity there. And then I also kind of keep an eye on the infrastructure side, on that cost as well. I guess, again, the design should have an eye for optimizing those running costs as well. So building things in a way that can scale and not necessarily create a big overhead all the time. When you don't need things, they can be scaled down, and so on. I guess from a people perspective just using simple tools like those work management tools, agile tools.

And then just keeping an eye on infrastructure costs, also working quite closely with the CFO, et cetera. When you look more broadly across the whole organization, all the different tools and systems that everyone's using, trying to make sure that there's a rational approach there, there's a process. You follow some principle in terms of when you're onboarding a tool what is it that you're looking for in this piece of software that will fit in with what you have or won't create unnecessary overhead, so providing the rest of the organization with that view as well. Because actually a lot of the IT spend and sort of software spend is outside of the tech team. For me, that's also really important to work with other areas of the business on that.

Stephen

I think in your passion you talked a lot about collaboration and you've referenced leading people a lot as a CTO. To move into thinking about developers and people and perhaps some advice, what would you recommend to developers who are wanting to expand their skills?

Jose

Yeah, I think, most of the opportunities will come in your day-to-day, like in your place of work, I would say. So try to get involved with interesting projects that are available within your organization. Because that will be where you learn the most from a practical point of view. And there's usually always, whether it's big opportunities and big organizations, there may be like small proof of concepts that you might discuss with your manager to do. I think there's always opportunities to do that wherever someone's working. Then obviously there's the more like formal, like training side of things. If you're interested in learning more sort of cloud technologies, or a particular programming framework, or AI, or something, then tons of kind of good courses out there to learn.

And then seeking people, whether it's colleagues or also mentors outside of your organization, that can help you develop in those areas. Reading, I mentioned before. There's lots of interesting blogs out there as well of people that work in different fields that you can learn from. In this day and age, it's so much easier to learn anything cause it's just so many resources available. I think it probably mostly boils down to the person making a little bit of a plan of action for themselves. If you're interested in developing your skills in an area, just write a little plan, maybe a little schedule of how much time you're gonna spend on these things, and then put it into practice. I think there's lots of opportunities these days to do that.

Stephen

Lots of importance around developing the technical portfolio skills, absolutely right, technical competence. But how important would you say this to developers to expand their interpersonal skills?

Jose

Really, really important, especially in this day and age where a lot of the teams are distributed around the country or even different countries, working mainly remotely. The ability to work in that way, I think, really draws on those interpersonal skills, both being able to sort of write and maintain good code but also having those conversations, those chats, and the regular meetings making sure that you're sharing things, also that you're raising things proactively because it's much more difficult. If you were all in the office, it'd be very easy to say, 'Oh, you know, I noticed this" and just have a quick chat about it.

But when you're working remotely, you have to make a more of a conscious effort of 'Okay, I'm gonna raise this' and so on. So yeah, being able to do that. And I think you do have to make a bit more of an effort when it's remote working to create that sort of engaging environment, and an engaging team, so people that help support that because can't just be like one person that's trying to create this engaged team, like everyone needs to play their part as well. I think it's really important. Both communication and collaboration are really critical this day and age.

Stephen

And how do you go about choosing those specialists for your team? We talked before about the balance between technical competence and the importance of the kind of interpersonal skills. What approach do you take to selecting and choosing those specialists?

Jose

We do have some technical case studies and have some technical discussions with candidates to join the team. That's certainly an element of it to make sure that they fit in well from that point of view.

And then, I guess the culture and value side of things. So, how well would they work within the team? We usually organize some chats with different people in the team so they can both... You know, cause it's very important for the candidates as well to understand that they would be potentially working in.

So It's a mutual thing. So It's always good to make sure that there's a good mutual fit. Just give them the opportunity to meet some members of the team, ask some questions of what we do day to day, how we deal with various things. And likewise, we can ask them a bit on their experience and things like that. So just giving the candidates the ability to really understand the environment, the team culture that we have. I mean, it's nothing too, I suppose, sophisticated, but it's just making sure that's part of the process.

Stephen

Yeah, but hard and critical within the context of the great resignation, talent scarcity, I mean how difficult are you finding it to get hold of good specialists these days?

Jose

It is difficult in a sense that there's also a lot of competition, I suppose, for talent and relative scarcity of talent. For me, I've never really had too much of an issue. I try to inspire people with what we're doing, get them motivated and inspired by that. And then also we've talked about it a lot, which is the people aspect of things. I think a lot of people these days are very interested in working in an environment where they feel comfortable, where they feel supported, where they can develop, where they can work well within the team.

I've always, for example, had for all my team put in place personal development plans for the year to help them understand what they want to achieve and then make sure we're making progress towards that and things like that. I think if you genuinely care about the people in your team and the people that you're looking after, then, I think, people can sense that. It's sort of, I think, is an advantage when you are talking to potential candidates.

Stephen

And that availability of candidates and discussions with those. Was it that that took you down the route of IT outsourcing?

Jose

Yeah. So there was a few different reasons. One is the sort of lead times as well of getting people with particular skills and backgrounds into the team. The flexibility as well. If you have like potentially a project with a clearly defined scope or, say, a few months long, you might not necessarily need, you know, a permanent position for that. So you get more flexibility on the outsourcing side. For us, from a startup point of view, the cost also plays a factor in terms of where you would look for outsourcing in the UK or outside the UK. But then also the skills that you find. And a lot of places, they're actually of, you know, very high standards. So you can find very good quality engineers as well to help with your project. It's a combination of all those things. And these days, because pretty much, you know, 95% of the work is remote, it's not such a big issue – the fact that you've outsourced somewhere that's not necessarily near the office or even in the same country as other people.

Stephen

Yeah, so many more benefits to outsourcing IT than just the availability of candidates. That hybrid working model fits all of those challenges you've described. What would you say are some of the potential drawbacks of IT outsourcing then?

Jose

I guess there's always a challenge of making sure that they integrate well within the team. And I would say, just in general for contractors and outsourcing as well, just that integration piece of fitting them into the team well, making sure that they sort of take on that team spirit, that team mentality. Because it is slightly different, right, if, you know, a permanent member of staff sort of has that. A little bit more compared to maybe a contractor that might not be there for the sort of a longer term or mightn't be there for a shorter period of time. So it's, you know, that would be part of it.

Also, in terms of finding the right partner for outsourcing as well, that comes with its own challenges because a lot of the time it's outside of the country and it's sort of difficult. The sort of selection process and things like that can be more difficult and present various challenges. For example, just very simply, if companies that are based outside of the UK, also from a legal perspective, there's more challenges in terms of engaging, business terms, etc. There's a few things to take into consideration as well when you're looking to outsource.

Stephen

So I wonder if you could share with us kind of high level, a specific example of where outsourcing has really worked for you.

Jose

I guess over the years, we've worked with various outsourcing models. And it's worked best when there's a clearly defined scope for a project, and then it's relatively independent, so then you can give a good sort of detailed brief to an outsourced team. And then they can work on it, and there's sort of clear deliverables. I've also worked in this sort of team augmentation model, which can also work well. But that also needs a lot more, let's say due diligence, a lot more sort of effort to make sure that these augmented team members are seamlessly integrated.

For example, at Sky, when I was working there, and working on building out this big data platform, and supporting products like Sky Q, and so on, we had various outsourcing models there. And also more recently at the Crown Estate, where again, we worked with different partners, developing different digital products and the data platform there. And more recently at Mode, of course, as well. It's I think a very important element of any technology function these days. It's very integral. So you need to be able to manage that and know the pros and cons of that very well, I think.

Stephen

Okay, thank you. You talked before on the drawbacks of IT outsourcing. Out of many providers and who you are going to work with, you have a long-standing relationship with Devico. I'd like to just talk a little bit about that if that's okay. And start by asking why did you choose Devico to work with? And how long has that relationship been going for?

Jose

Sure. I think the relationship has been going for quite a while with Mode. I think it's been over three years. I joined Mode in the last year. I've been working directly with Devico for a year. But their relationship is even longer than that. And I think, in terms of Devico, they offer, I would say, very good candidates, firstly. Their engineers that we have working with the team are excellent. I mean I'm pretty amazed, especially with everything that's going on in the country. The level at which they can work and deliver on things and projects. And bearing in mind also the relative sort of hardship that they're going through it's pretty incredible. I mean they're some of the most dedicated and hardest working engineers I've come across. It's been a real pleasure to work with them. They're very committed and very, very competent as well. It's just been a great, great experience from my point of view.

Stephen

Thank you. And as you've been through the process of looking at different providers, and competitors, and locations of IT outsourcers, are there any that you might advise to our audience that potentially, and I don't mean a company name, but I mean potentially a location, that you perhaps wouldn't choose and what the reasons for that might be?

Jose

I don't know about a specific location, but I suppose bear in mind things like the support model that you have in place as well with an outsourcing organization. So again, there, I think, Devico is very good. Oleg and his team provide a lot of support and whenever any issues have come up, they've been very quick to respond, very transparent. In any outsourcing organization the level of support you get, as well as obviously the engineering teams, is very important. And then it comes down to, I guess, how comfortable you are working with companies in certain jurisdictions, like in certain countries.

So some people might have a view that they might only work with companies in the EU, for example, because it gives them a certain risk profile or they might not work with organizations from other countries depending on their risk appetite or potentially legal objections and things like that. But I've worked with outsourced companies even further out – India, Philippines, all around the world. I think in general if you find a good partner – there's kind of good engineers pretty much everywhere around the world – it's more about finding the right partner, making sure you're comfortable with that, and the support, and so on. Yeah, I mean, I don't think there was any particular that I would sort of not like.

Stephen

Okay, thank you. I think we've kind of established finding the right strategic partner does give you that blend of resourcing model to meet your needs as a CTO. There are still many that haven't yet taken that leap. And I wondered what would you advise to those who still haven't considered IT outsourcing or actually maybe wanting to take those early steps? What advice could you give them?

Jose

I guess there definitely will be some companies that prefer more in-person, in-house kind of teams – people actually coming to the office and having that really in-person presence. But I think for a lot of companies these days, they're more comfortable and familiar with remote working. So then that already puts them in a place where they can start considering outsourcing. You don't necessarily have to outsource for everything but potentially for some. Like I mentioned before, I think the two main use cases are probably when there's specific projects that you might want to get off the ground, which only take a certain amount of time. That's a good opportunity to try outsourcing. And then also flexible team augmentation. So that's potentially another low-risk way of doing it. Because you can just add like one engineer to begin with to your team or just try and see the formula or the solution that works best for you. Without a very big commitment in terms of money, or time, or anything. Yeah, I think those are the two main cases.

Stephen

Good. Thank you very much. Well, listen, Jose, thank you for being the CTO in the Devico hot seat today. Great to have your insight and thank you for sharing what you have done with us.

Jose

No problems. Pleasure. Thanks very much.

Watch previous episodes

Contact us for a free IT consultation

Fill out the form below to receive a free consultation and find out how Devico can help your business grow.

Get in touch