In this episode, I sit down with Martin Reynolds, the Field CTO at Harness, to explore the rise of platform engineering as developers strive to accelerate digital innovation amidst rising costs and tightened budgets. Martin sheds light on the importance of internal developer portals (IDPs) in this evolving landscape. He argues that IDPs are crucial for ensuring developers can build at scale without increasing toil, especially given the rising complexity of software delivery pipelines in the cloud-native era.
IDPs provide developers with a single pane of glass, allowing access to the necessary capabilities and infrastructure to deploy code and manage services efficiently. Much like how a bank's customers need not worry about the backend processes when making a deposit, an IDP encapsulates the development infrastructure, enabling developers to focus solely on writing and committing code rather than getting bogged down by complex deployment processes.
Martin discusses how this trend is set to further disrupt the developer experience and accelerate transformation in 2024. He highlights that platform engineering helps solve non-coding tasks (toil) by providing a reliable, secure platform with automated pipelines for quick and consistent software delivery. This approach allows developers to focus on coding, thereby enhancing productivity and innovation.
We delve into how IDPs act as a gateway and orchestrator for all developer tools, tasks, and resources, offering visibility into existing services, security, and costs. This prevents reinventing the wheel and allows for self-service access to tooling, infrastructure, and pipelines, ultimately enabling more agile and rapid delivery compared to traditional environments.
Martin emphasizes the benefits of IDPs, such as improved productivity, accelerated innovation, and reduced onboarding time for new developers. However, successful adoption of IDPs requires treating developers as customers, understanding their needs, and integrating familiar tools to provide a seamless experience.
Looking ahead, Martin envisions a future where AI assistants augment IDPs, providing contextual information and recommendations without replacing developers. The goal is to shift information left, ensuring developers have the right context at the right time to make informed decisions.
Join us as we uncover how platform engineering and IDPs are revolutionizing the developer experience, driving digital transformation, and shaping the future of software delivery. How are you adapting to these changes in your development processes? Share your thoughts and join the conversation.
[00:00:00] In a world where software delivery is rapidly evolving, how can developers keep pace with
[00:00:07] the rising complexities of cloud-native pipelines while also delivering consistent value?
[00:00:14] Well, my guest today is Martin Reynolds. He's the field CTO at Harness, and he believes
[00:00:21] that the Platform Engineering and Internal Developer Portals, or IDPs, he believes they
[00:00:27] hold the key to accelerating digital innovation. So I've invited him on the podcast today
[00:00:33] to talk about that and also explain how IDPs provide developers with this centralised single
[00:00:39] pane of glass so they can access all tools and the infrastructure that they need, but
[00:00:46] also how this approach minimises the time spent on things like repetitive non-coding
[00:00:51] tasks and how it allows developers to focus on what they do best, building and delivering
[00:00:58] impactful solutions. So buckle up and hold on tight, so I can beam your ears all the
[00:01:04] way to London where Martin is going to talk about how these innovations are not just helping
[00:01:09] to reduce toil, but are also set to disrupt the developer experience and drive transformation
[00:01:19] in 2024. So a massive warm welcome to the show, Martin. Can you tell everyone listening
[00:01:26] a little about who you are and what you do? My name is Martin Reynolds. I am the field
[00:01:31] CTO at Harness. Prior to that, I have had 30 years of engineering experience, you know,
[00:01:38] hands-on coder through engineering manager. And then, you know, most recently in my previous
[00:01:44] role, I was director of DevOps at a company called One Advanced before joining Harness
[00:01:53] late last year to kind of, you know, be front and centre talking about the tools and challenges
[00:02:01] that we help solve. And for anyone listening outside of the industry, hearing about Harness
[00:02:07] for the first time, how would you describe it to non-techies listening? To non-techies?
[00:02:15] I would say that, you know, Harness is a set of tools that help software developers build and
[00:02:24] publish their software out to their customers and do that in a way that delivers it, you know,
[00:02:31] safely, securely, you know, and reliably. And one of the reasons I invited you on the
[00:02:37] podcast today is I always try and demystify a different topic every day. And I want to talk
[00:02:42] a little today about the need for platform engineering. So just to set the scene, can you
[00:02:47] explain the concept of platform engineering and why it's becoming increasingly important for
[00:02:52] developers, especially in the current climate of rising costs, tightened budgets in this
[00:02:57] economic climate that we find ourselves? Absolutely. And that kind of costing is one
[00:03:02] of the real drivers, right? You know, generally software teams, engineering teams, they're trying
[00:03:07] to, you know, move into public cloud. They want to deliver more value to their customers and the
[00:03:14] challenges, you know, traditionally that takes a lot of toil. I, you know, and when I say toil,
[00:03:19] I mean stuff that isn't developing the software, but all the stuff around it that helps teams do
[00:03:24] that. Platform engineering, you know, really is something that helps solve some of those problems
[00:03:31] and takes away some of those challenges. And it does that really by providing, you know,
[00:03:37] a development platform where engineers and software developers can actually,
[00:03:43] you know, have a reliable tool chain and set of workflows and pipelines that allow them to
[00:03:49] deliver to that platform quickly and take away, you know, some of those tasks that they used to
[00:03:55] do by automating them and allowing them to kind of deliver reliably on a secure platform.
[00:04:03] And another topic I'd love to bring into the audience here is internal developer portals or
[00:04:08] IDPs because they play a crucial role in enabling developers to build at scale. But can you
[00:04:14] just delve into how IDPs function as a single pane of glass for developers and also the specific
[00:04:20] problems that they solve in software delivery as well, just to keep everyone on board here?
[00:04:26] Sure. So internal developer portal is really, what's the best way to describe it? It's like a
[00:04:31] gateway into the tools and the platform and the tasks that developers need to use to allow them to,
[00:04:41] you know, essentially do their job. And in fact, one of our customers described an IDP as like an
[00:04:48] orchestrator of orchestrators. And I think what they meant by that is it provides this single
[00:04:53] view, one place where developers can go to do all the tasks that they need to do. So, you know,
[00:05:00] whether that is, you know, getting access to the latest tooling, say they want to have, you know,
[00:05:06] a generative AI code assistant, maybe they can request access via their developer portal.
[00:05:11] Maybe they're building a new service and they need the infrastructure in place and be able to deploy
[00:05:17] that. And the developer portal will provide them, you know, kind of out of the box pipeline ready to
[00:05:23] go that accelerates that delivery and allows them to just write code. You know, it provides
[00:05:31] visibility on the things that an organization already has. So the services and applications
[00:05:35] that they have, how well they're running, you know, are they meeting all their security
[00:05:40] requirements? How regularly are they updated? How do you interface with them to make sure that
[00:05:45] you deliver, you know, software, you know, reliably and take advantage of what's already
[00:05:51] there. There's no point in reinventing the wheel, you know, and ultimately the IDP is really putting
[00:05:57] kind of a wrap around all of those things, whether that's the tool chain, the infrastructure they
[00:06:03] need to deploy to, you know, and what you want is that the, you know, the engineers can do the
[00:06:08] thing that they enjoy most. And I say that as somebody who spent many years hocked in code,
[00:06:13] you know, it's solving problems and writing the code and delivering that, you know, those solutions
[00:06:19] is generally what engineers enjoy. And, you know, solving some of those problems around that
[00:06:26] by, you know, using a developer portal to kind of automate and facilitate and allow self-service of
[00:06:32] those things really helps, you know, the developers do the thing that they enjoy most.
[00:06:38] So if we were to compare IDPs against traditional development environments,
[00:06:43] how do IDPs represent this almost evolution from traditional development environments, particularly
[00:06:49] in terms of things like simplifying complexities involved in cloud native software delivery? And
[00:06:55] if you can share around that, just help people listening, understand the old versus new way of
[00:06:59] doing things. Sure. You know, traditionally, you know, development environments tended to focus
[00:07:05] around kind of, you know, bigger releases and longer release cycles, lots of moving parts.
[00:07:10] And often, you know, if a company had, I know, say 20 services that made up their application,
[00:07:19] then they might have 20 ways of delivering it. Right. And every team that was working on it
[00:07:24] needed to know all the 20 ways. Right. So that it became, you know, it's difficult. It takes time
[00:07:30] to do that instead of just delivering the software. And this is where, you know,
[00:07:34] IDP and platform engineering really kind of breaks that model and allows kind of development
[00:07:41] to happen in smaller chunks, delivering to a consistent platform in a, you know,
[00:07:47] in a consistent, reliable way, you know, not 20 different ways of doing it, but, you know,
[00:07:53] one, two or three ways of doing it using a, if you like a golden pathway that allows them to deliver
[00:07:58] that. And, you know, especially when you're talking about cloud native software delivery, where,
[00:08:04] you know, the cloud itself is amazing and full of wonderful opportunities of things to build.
[00:08:10] It's also super complex and there's a lot to learn, you know, and kind of abstracting that away and
[00:08:17] saying, this is how we deliver to our cloud native solutions. And here's a pipeline that
[00:08:23] lets your software get deployed there automatically. And it does all the right security checks and
[00:08:28] governance. Then that's great. You know, just allows that kind of more agile, rapid approach
[00:08:36] to getting, you know, those features and value out to customers of organizations.
[00:08:43] And we've already mentioned budget restraints, businesses being challenged to do more with less.
[00:08:47] And it feels like almost every tech project is increasingly under pressure to deliver
[00:08:52] business value, prove ROI on that project, et cetera. So in your view, how do IDPs affect
[00:08:58] developer productivity and the capacity for innovation within organizations? Are you able
[00:09:04] to share any examples where the adoption of an IDP has marked improved development processes?
[00:09:10] Appreciate you probably can't mention any names, but any examples spring to mind?
[00:09:15] Sure. Absolutely. And you're absolutely right. You know, people are generally under pressure to do,
[00:09:21] you know, more with the same, you know, and IDPs and platform engineering together actually
[00:09:28] help provide that, you know, they enable engineering teams to move quickly, you know,
[00:09:33] and certainly we have actually, we have multiple customers where, you know, we've seen this really
[00:09:40] work. There's a particular FinTech firm that I have in mind, you know, and they adopted platform
[00:09:47] engineering and IDP, you know, and it was really to kind of empower the engineers with kind of
[00:09:54] the knowledge and the insights of all the stages of that software delivery life cycle. So they could
[00:09:58] see all the services they were delivering. They could see how they were performing. They could see
[00:10:03] if they were cost effective, right? Being able to do that, you know, enabled the developers to make
[00:10:09] better decisions and make them faster, you know, and really kind of, you know,
[00:10:16] be comfortable that they're doing the right things and that their code meets all the required,
[00:10:22] you know, quality gates when it's being deployed because it's built into that single pipeline.
[00:10:27] I mean, the other one I would also, you know, really mention is we've had, you know,
[00:10:35] actually multiple large banks who've been working with, you know, kind of IDPs and,
[00:10:39] you know, that kind of developer onboarding, we've recruited somebody new. You know, we see that often,
[00:10:47] you know, that takes time to onboard them into teams and actually developer portals really help
[00:10:51] solve that problem. And we've seen, you know, things go from, you know, weeks to hours in terms
[00:10:57] of, you know, onboarding and getting those engineers being effective and working and involved with those
[00:11:02] products really, really quickly instead of kind of a long, slow onboarding process. So, you know,
[00:11:09] developer portal can really help drive successful organizations.
[00:11:14] And for any organization that's maybe looking to implement IDPs or maybe we've awakened their
[00:11:20] curiosity around them today, what are the key considerations that they should be keeping in
[00:11:25] mind to ensure that smooth transition and maximal benefit from these platforms and avoid making
[00:11:31] some of the mistakes that you've probably seen a few people make time and time again?
[00:11:34] Absolutely. So I think one of the most common ways to successfully deliver a developer portal
[00:11:42] is actually understanding who the customer is of the developer portal, if that makes sense. So those
[00:11:49] platform engineering teams and, you know, DevOps teams that are building out the kind of IDP in
[00:11:54] the platform, they need to be aware that, you know, they are servicing, you know, many developers in
[00:12:02] their organization. You know, maybe that could be hundreds or it could be thousands depending on the
[00:12:07] size of the organization. And those engineers have very high expectations. You know, they have tools
[00:12:13] that they're used to using and they have ways of working that they're used to doing. And so
[00:12:18] understanding their needs and then building the IDP to service those needs and make their lives
[00:12:26] easier is definitely a way to drive the choices that you make around that, you know, actually
[00:12:34] understanding and talking to them and treating them like a customer. In fact, we had somebody
[00:12:40] from a very large bank in the US who was, you know, he equated directly kind of that developer
[00:12:48] happiness, that developer experience that the engineers have to his customers' success and
[00:12:59] happiness because he felt that when the engineers were happy and they had the tools that they needed
[00:13:03] and their job was easy, they did better work. And that actually reflected in the customers getting
[00:13:09] better software that they enjoyed using more, you know. And so kind of embracing that and embracing
[00:13:18] the fact and treating the engineers as customers when you do that is really how you drive success
[00:13:23] and help them, you know, understand the value of using the IDP so that they truly adopt it
[00:13:29] and embrace it. Of course, implementing any new system will come with a unique set of challenges
[00:13:35] and there'll be a lot of hurdles that companies face when adopting IDPs. Any of those that you
[00:13:41] can share as well and how, of course, you're helping business leaders overcome some of these
[00:13:46] hurdles? Yeah, I mean one of the biggest issues is, you know, that there's a lot of tools out there
[00:13:54] that engineers use in their software delivery, you know, life cycle, you know, whether that's
[00:14:00] security testing tools or the code editor that they use or, you know, the multiple different cloud
[00:14:05] environments or the, you know, the unit or the testing software that they use, you know. And
[00:14:10] honestly any IDP that, you know, that somebody is implementing needs to, you know, really be able
[00:14:17] to integrate with all of those tools, integrate with the existing infrastructure and provide a
[00:14:22] way to rapidly provide those to the customers. And that's something that we, you know, we very
[00:14:28] much focus on is being able to integrate with all the tools that people use to facilitate that so
[00:14:34] that you're actually, again, kind of looping back to the previous question where we're making sure
[00:14:40] that, you know, the engineers are getting the experience that they want that helps them
[00:14:46] adopt it. And that's really how you, you know, part of how you can really drive that forward,
[00:14:52] you know, because you just need to keep it, make using those tools simple for developers so that,
[00:14:59] you know, they don't have to learn something new. They just can take away some of the
[00:15:04] toil and the effort and the labor around using the tools that they're familiar with.
[00:15:08] And I'm curious as you look ahead, how do you see the role of platform engineering and
[00:15:13] IDPs evolving? Are there any trends or technological advancements that you think
[00:15:17] will further shape that development? I think AI is an obvious one, but what are you seeing here?
[00:15:22] Yeah, so I was going to say, you can't answer that question without talking about
[00:15:27] AI, you know, and it's really impacting. I mean, it's very interesting because, you know,
[00:15:34] and I think this is an approach that we at Arnis take across the board. We have a, you know, an
[00:15:40] AI assistant called Ada. But one of the things that we're really trying to do with that is we
[00:15:45] don't want it to get in the way. We don't want it to replace what the developers do.
[00:15:48] What we want to do is make it an assistant, you know, truly an assistant. And I think the best
[00:15:54] AI tools that are out there and generative AI tools that are out there, you know, help developers
[00:16:00] do their job better. And, you know, whether that is, you know, accessing, you know, acting as a
[00:16:05] co-pilot for generating code or maybe, you know, telling them how to resolve a security issue in
[00:16:12] their code, maybe, you know, helping them identify the right pipeline to use to deploy their code.
[00:16:19] You know, these are all things that generative AI can help with and take away some of those
[00:16:25] toil steps. And I think we're going to see more and more and more of that, you know, through the
[00:16:31] process. Certainly, you know, that's where we're looking with the generative AI that we do. We
[00:16:38] already do some of that like security resolution stuff. We do summarizing a pull request, you know,
[00:16:43] when a developer makes a change, you know, filling in and kind of looking at the change that they
[00:16:49] made and writing a human readable description of that change, you know, that they can then spend
[00:16:54] less time doing. They can then just review that and accept it and modify it. Again, helping them
[00:16:58] do their job rather than replacing their job. In terms of an IDP, it's something that I ultimately
[00:17:03] think will end up being embedded in the IDP to kind of help them deliver because, you know,
[00:17:09] being able to, instead of browsing the IDP, just ask the IDP where to go. I think that's
[00:17:14] long-term where I think it's going to be. And one of the things that stood out
[00:17:18] for me around Harness's IDP is how it's built for developers and crafted by platform engineers. So,
[00:17:25] what advice would you give to any developers and organizations to best prepare for the changes and
[00:17:31] opportunities that platform and IDPs present in the future? Anything that excites you here or any
[00:17:37] advice that you would give to anyone listening? Because I suspect you get asked a lot of the same
[00:17:42] questions again and again. So maybe we can put some of those to rest today. Sure, sure. So,
[00:17:48] one of the things that we often talk about is this kind of embracing shift left. But I often think
[00:17:57] that if the left is interpreted the wrong way, I think we've done engineers a disservice by
[00:18:03] the implication that shift left means shifting the work left. I don't think that that's the case. I
[00:18:10] think really what shift left is, it's about shifting the information left so that the
[00:18:15] developers have the right information at the right time in context when they're working on
[00:18:22] something. Not, you know, I built this thing and five days later somebody's done a security test
[00:18:28] and I've already built three more things since then and I don't really remember what it did,
[00:18:32] right? And they have the context switch. No, they should absolutely have that kind of
[00:18:37] smart working and shifting that information left because they really do need those insights and
[00:18:43] it helps them deliver more faster. It helps them innovate if they've got the right information at
[00:18:48] the right time, you know, looping back to that previous example that I gave where they can,
[00:18:53] you know, they've got all the right information and it's in context and they can make smart
[00:18:57] decisions to build great software. Another question I've got to ask you because I think there's a
[00:19:03] lot of pressure on everybody in every industry to be in a state of almost continuous learning.
[00:19:08] I was reading before you came on the podcast today how developer skills are evolving with
[00:19:13] AI as a co-pilot of sorts. So there's different levels of skills required there but I've got to
[00:19:19] ask, how or where do you self-educate to keep up to speed with some of these changes because
[00:19:24] it's moving so fast right now? It is moving incredibly fast and I will prefix my answer
[00:19:31] to this with the fact that, you know, one of the things I loved about working in software delivery
[00:19:36] over the past 30 years is that like rate of innovation and change makes it very exciting.
[00:19:43] You know, because there's always something new around the corner. You know, where do I get my
[00:19:47] information from? Where do I see what the trends are? Well actually it comes from multiple places.
[00:19:51] Spend a lot of time talking with our customers, getting their feedback, understanding their goals,
[00:19:57] you know, and the things that they see coming that they need to deliver on. But also, you know,
[00:20:03] I read a lot of industry news, I listen to podcasts like this one and others, you know,
[00:20:09] I read a lot of blogs and articles from within the different communities. It's something that
[00:20:17] you have to make time for, you know. I think if you're going to work in engineering and you're
[00:20:22] going to work in software, you know, wherever you are in that tool chain, I think it is a,
[00:20:28] it's kind of required to make time to learn and to see what's coming and, you know,
[00:20:34] you don't have to be an expert in it but you do need to, you know, at least understand it so that
[00:20:38] you can then, you know, dive deeper if you need to, you know. If that's what your job requires
[00:20:44] then definitely doing that and, you know, keeping that broad understanding and then
[00:20:49] diving in when you need to really, you know, is really kind of essential to kind of that
[00:20:55] moving forwards constantly which appears to be the world of working in software engineering.
[00:21:02] Constantly moving forwards, constantly improving, constantly iterating.
[00:21:05] Fantastic advice and if anyone listening would like to explore this world of IDPs further,
[00:21:11] whether it be connecting with you or your team or just having a look at
[00:21:14] the work that you're doing at Harness there, where would you like to point everyone listening?
[00:21:19] I would absolutely like to point them at harness.io which is our website which has our blogs,
[00:21:25] it has customer case studies, you can sign up to a free tier on there. I would also call out,
[00:21:32] we regularly run kind of hands-on labs for people, CICD days which essentially,
[00:21:39] you know, lets them come on, use the tool, build something and deploy something, you know,
[00:21:44] all within an hour, an hour and a half. So I would definitely point people at those too
[00:21:48] and you can find the information about those events, you know, on our website.
[00:21:53] Awesome, well I'll add links to everything so people can find you nice and easy and
[00:21:57] cannot thank you enough for coming on today. We've covered a lot there from the rise of
[00:22:01] platform engineering as developers look for ways to accelerate digital innovation against this
[00:22:07] backdrop of rising costs and tightened budgets and also why IDPs are becoming crucial to ensuring
[00:22:13] developers can build at scale without facing an increasing toil owing to the rising complexity
[00:22:20] of software delivery pipelines right now in this AI and cloud native era that we find ourselves
[00:22:26] and also for showing how this growing trend is going to further disrupt the developer experience
[00:22:31] and accelerate transformation, not just here in 2024 but beyond too. But just thank you
[00:22:38] Martin for demystifying that space and sharing your insights with me today. Appreciate your time.
[00:22:43] Thank you very much and thank you for having me, it's been a pleasure.
[00:22:45] So a big thank you to Martin for sharing his insights into the transformative power of
[00:22:51] platform engineering and internal developer portals. And I think he provided a clear picture
[00:22:57] of how these innovations empower developers to navigate cloud native complexities, streamline
[00:23:03] workflows and unlock rapid software delivery. And to everybody listening, how do you see platform
[00:23:09] engineering and IDPs impacting your organisations? I'd love to hear your thoughts and experiences
[00:23:15] and join this crucial conversation and you can do all that by simply emailing me
[00:23:21] on Twitter, LinkedIn, Instagram, just at Neil C Hughes. But I'm afraid we've reached the end
[00:23:26] of this episode. I've taken up far too much of your time today, especially because I want to invite
[00:23:32] you to join me again tomorrow. So I'm going to let myself out and I cordially invite you to join
[00:23:37] me again tomorrow. But thanks as always for listening and until next time, don't be a stranger.

