Developer Productivity – Patrick Jean, OutSystems
OutSystems CTO Patrick Jean (PJ) explains why today there is so much more focus on developer productivity.
Transcript
This is texturing TV. Hey guys. Thanks for the throw.
We're talking with the CTO for outsystems. It goes by the moniker PJ somewhat famous in the low-code circles as they say and we're going to be talking about developer productivity low code and what's changing out there PJ. Welcome the show.
Thank you, Mike. Appreciate you having me. Developer productivity has been an issue for as long as most people can remember.
So what's making it a more pressing issue today? And why are we talking about it more now and even two or three years ago? Yeah, I think it's a couple things one is software itself has become the key differentiator for businesses today.
So it's every every company in the world can be software developer Company software development company. And so now that being a differentiator it's very important from for all these companies to have good software development practices. Software development itself has become more more complex.
So there's a significant amount of necessary complexity. There's also quite a bit of unnecessary complexity if you think about the tech Stacks available today to Modern software developer. It's I mean, it's amazing you get the front end development and all the different options.
You have there angular, you know, all the native mobile is for as Frameworks hybrid, whatever it is back and kubernetes, you know containers orchestration. I mean, it's just it's amazing, but the complexity is just daunting and so developers or challenge with all this complexity. Companies have this ability to differentiate with software development.
So it is more and more important for developers be productive and for companies to take advantage of it and for people to get better at doing the craft of software development. What's your sense how much time the developers actually spend writing code? Okay for business logic versus managing all that complexity.
I think that I mean there's been traditional as far as views of how much time a developer actually spends. I'll let me let me pull it out from writing code. I'll just say the creative aspect.
Let's talk about the Innovation and creative aspect. It's probably about a third of the time there time spent and so there's significant amount of complexity up front. So just think of the cognitive load of choosing all that technology choosing the right technology and choosing a technology that a group of people can actually with a group of people be in the software development team can all benefit from you get it in place you actually put that in and eventually it goes into production and then you got to start maintaining it and so all those aspects of Maintenance the toilet that's called as far as that work and maintenance and everything related to it choosing the right one, you know, making a wrong decision having to correct that decision go back and fix that.
It's probably less than a third I'd say we're developers truly spend time on that aspect that creative aspect that most Uppers get in the game for I mean there's a joy to that right? It's a craft. I mean you you go into it.
It's about 31 million or so professional developers in the world, you know, I've started as far as down that path. I mean it was it was fun. You know, when you first get into it then after a while you get into some of the less fun part of it.
You start questioning. Why are we doing the things we're doing you know, so I think it's probably much less than a 30 year time as a developer spent on the good creative Innovative aspects of it. Do you think that professional developers might be Their Own Worst Enemy sometimes because they tend to favor the procedural code the lower level language that they have in place and they're not considering on alternative approach that would allow them to build an application a lot of times.
You know, some applications are amazingly creative but others are just kind of Fairly routine, right that is yeah and even even the creative I don't like to think of the slice about creative and non-creative as far as software. It's more of what's applicable for the Peace of software, you know, and so take a take a life support system. That's written itself.
Right? Obviously, there's some extremely critical components there that we want to keep people alive, but there's other You know like a I don't know a system that records is for as recommendations, you know, it's important, but you probably not going to die, you know if you get some of the recommendations wrong. I think the you know developers can be their worst enemies.
I think the expectations of the industry itself is causing some of the bad behavior. And yeah, I mean it being a you know, he developer the past where I know I went down the path of too much technology for technology sake and yeah, I did cause my own problems, you know, and I think that it's a combination of the unnecessary complexity that developers ingest into the process itself, but then the unreasonable expectations of the industry have just you know, having to keep up which I think is where local code and not not I was not the biggest fan of that that monarcher but I think it definitely represents the aspect of less unnecessary complexity into that process and you'll you know developers will benefit from it. Some form of higher level of abstraction results in less complexity and results in more code being driven.
We've also spent a significant amount of time investing in devops workflows over the years. The goal primarily is to accelerate application development and deployment but I wonder if the devops process itself become something of a bottle neck and how does low code and devops kind of come together in a way that alleviates that issue. Yeah devops to me is a solution to a problem.
We should not have I definitely has moved us much further along and traditional development. We shouldn't eat it. I mean if you think about from a developer developer wants to write an application that a end user and in user meaning user starts benefiting from right away devops is this thing in between that you have to do from the creative aspect of writing that software to somebody benefiting from it.
And I mean, it's Solid has solved many problems those problems shouldn't even exist today. I mean and as one of the things that the low code as far as space or application development platform space really starts to tackle is let's get devops as a service. If you think of it that way.
It's just devops as a capability out of the requirements of a developer and just let the platform take care of it. And so as a developer I can focus on that creative aspect that can focus on the end user experience and I can get it in the hands of those users without all of this necessary complexity there. So there's complexity all throughout the process is kind of talked about devops is another one and don't get me wrong Harrison great devops tools out there the devops tool chain today is amazing.
But once again, we should not have to peace all that together as a developer we shouldn't have to do it. We should be able to just write applications and get it in the hands of end users and then iterate over it because I think the biggest aspect of this process has changed. We all know that it is such a complex undertaking to create applications.
Don't know what the application is until you get it in the hands of users and you really know what it what it you know, what's it shouldn't be and then they tell you okay. Hey, we need to fix this at this remove this we go back into it over and over and over again and that aspect of change where these where Modern low-code platforms can capture that and really almost make devops, you know, as a part of the services itself and not even a thing of its own which is I think that's that's the way it should be. We hear a lot about all things related to AI these days and we see tools that are enabling developers to at the very least coales because we're coding ahead in the same way that spell Checkers work in some regards, but will AI get smarter and just how much code we'll have to be written by humans as we go.
Yeah, I think it will I think it'll continue. There's been some there's been some amazing breakthroughs and AI space I think we're probably targeting it some of the wrong areas on AI if you look at some of the some of the capabilities are targeted at the actual coding aspect of it and taking code and actually enhancing the the handwritten code if you don't think which is good. I mean it's been official.
But if you think about it, the the core challenges here, it's a talent shortage and it's a Time shortage. So the talent shortage 31 million developers out there today. We need more developers seven billion plus as far as smart devices, there's not enough developers to create applications for all these devices.
So we need more people to do it AI can fill that Gap by removing a reducing the amount of skills necessary. So for these low code platforms, whatever you want to call them the ability for AI to actually help people develop software in that case. They're they're basically they're development is not a career for them.
Right if you think of maybe use a term citizen developer. So it's a it is a means to an end. The end is getting an application in the in the hands of an end user so that Talent shortage.
We need more than 31 million people doing it AI can help that so basically can make a person who doesn't think of themselves as a career developer able to actually develop your accessible. The other side is a Time shortage so developers and those Of us who have spent time being a traditional developer know that the 40 hour work week is a myth, you know, you're working hours after hours after hours on deadlines for highly complex software projects in AI can help actually shorten that amount of time. So I really think that the key issue comes in these two camps of people one is a career developer who gets time back with AI and other things not just Ai and then people that we kind of lump into this group of Citizen developers where we make development activities accessible to them and they can also write it but maybe not for their career maybe just for a project maybe for a weekend maybe for a couple days a week, you know, it's whatever they want to choose but not for their full career.
How do you think the relationship between citizen developers and professional developers and that matter devops teams is going to play out going forward. Yeah, it's been still means the same guidelines, right they do and it's interesting today. We we create this kind of wall between them.
If you don't think of it right? It's saying even just the names, right? Okay.
This is a professional developer a career developer and this is a citizen developer. So like like two different things and I think once again, it comes down to whether you you derive Mastery and you know, you like that aspect of development which is good. I mean I enjoy that as well as a creative aspect or it's a means to an end and I think we need to we have to create systems and processes and tools where these people can work together and you can create software with people that maybe hardcore developers at work, you know, 40 hours or more a week and then people that drop in and out, you know on a short-term basis.
I mean Gartner calls these Fusion teams, you know, and I'm a Believer in that approach. We need to create this process where Haiko low code no code whatever you want to call it. As far as people can get together.
The output is a an application and the outcome is people can do you know with that application more there's an experience on these smart devices where it benefits, you know, whether it's a business process. It's personal whatever it is, right and that's the outcome that we want and we need to have more more people that can actually partake in that process. It's gonna make it better.
I mean think about the constraint of innovation with just 31 million people with billions of people using it. I mean that that end of the self is a problem. We have too few people that actually generate that experience of applications many more people consuming it, you know, just from a societal standpoint.
We need to increase that number. So yeah. Absolutely.
I think we got to break down these walls between people be able to create teams who are high code low code. No code can all work together. One of the criticisms of the low code which I'm sure you heard is that the results in a lot of Citizen developers building applications that are kind of ugly.
They don't scale and they're even less secure than the ones created by professional developers who by no means are Security Experts. So I mean this all starts to sound too much of a good thing. So, how do we get from?
You know that arguably biased perception to where we want to be? Yeah. No, I think you're right.
I mean look at you. I know you're in this cyber security space and those those developers don't know the difference between Sim and sword tools. Right and they don't want to and they don't need to and we don't want them to and so whether it's a traditional developer that uses what I like to call High code whether it's local security availability performance.
I mean, I'll kind of expand it Beyond just security all the the nfrs right non-functional requirements. If you don't think of it cost and even even the dirty word compliance, right these things are all important to developers no matter what area you're in. Code has had a it's as I'll be frank and we've in the past in this industry, we've created applications that didn't fit the bill for that area whether you know the tools basically claim to fit the bill or not.
No just kind of put that aside but there's you know, this classic spreadsheet replacement, right? It's probably not going to be the most highly secure highly compliant as far as application out there but fast forward to today that's not the case. There are many local platforms such as outsystems, which obviously I like grades very performant very secure very compliant as far as applications in a low-code way.
So I think you've seen the baby steps like in a lot of Industries, you know, you didn't, you know say go back 10 12 years ago. We didn't create those applications that basically scale today. But today that's very very different.
I mean, you can create a full Cloud native you basically create take a developer and turn a local developer into a full stack Cloud native. Developer, you know, which could take years and years and years of experience in traditional development to do and because a lot of this undifferentiated heavy lifting behind the scenes is done by the platform where if you do it wrong, you know, you obviously have a big screw up if you let the platform do it and handle it you can go on and focus on the creative aspect of sulfur development using low code, so I don't think that's the case anymore. I think these platforms today actually do a great job of the security compliance and all the other aspects and afrs, So PJ, what's your best advice to folks do I just throw everybody in a room and lock the door and hope that something good.
Is there some intelligent way of going after all this? Yeah. I mean, I think you know, I like to look at it.
What's the biggest pain, you know for companies and look I mean there's a lot of professional developers today. Just take the term load code. They don't want to get on that because it In their minds it like devalues what they do and it doesn't, you know, it's basically what you know, look at it from a business standpoint of what's the biggest benefit you can give to the business.
Look at it from a developer standpoint. What are the things that maybe you don't like to do and you're not good at and so, you know build those Fusion teams today. You can do this today take a developer.
That is a great front-end developer that maybe doesn't really know how to do apis or back in transactional systems go use the local tool so you could actually our outsystems great for develop. In the backend, maybe you'll still want to do the front end and hook to the apis do that. You can get started.
I mean, I think break down break down that mental barrier of low code from a profession developer standpoint. It's something that replaces you it doesn't it basically gives you time back and that's what it does, you know, and I think that's where developers just have to try it. It's just like many of the other tool devops tools right kind of had some of that up front as well developers had to get in and try and then they were like, okay this is you know Ops is an okay thing for developer, right?
You can you can get involved that's not a bad thing. And I think low code is very much along that same line, you know, just get in try it and you'll you'll be amazed as far as it the capabilities of these platforms that what type of software that can actually get produced. All right, folks.
Well, you heard it here, you know and also as the older you get the less time you have the spare, so Time to rethink what you're approaches PJ. Thanks for being on the show. Thanks, Mike.
Appreciate it. Having me. All right back to you guys in the studio.