From PCF to Power FX Andrew Butenko's Tech Insights
Andrew Butenko
FULL SHOW NOTES
https://podcast.nz365guy.com/631
Discover how the Microsoft Power Platform is revolutionizing the tech landscape with insights from Andrew Butenko, a seasoned Solution Technical Architect and Microsoft MVP, who joins us to share his journey and current innovative projects at Excellent Solutions. You'll learn how Andrew's personal efforts to support Ukraine during the ongoing conflict highlight the country's technological advancements, such as the use of FPV drones in modern warfare. Reflecting on the exceptional skills of Ukrainian professionals, we'll explore the Power Platform's significant implications for both citizen and pro developers, emphasizing its untapped potential.
Our conversation unpacks the evolution of Power Platform development, spotlighting key components like PCF controls, plugins, and custom connectors. Reminisce with us about the early days of Telerik controls and our anticipation of a similar market for PCF controls that has yet to materialize. We'll discuss the emerging capabilities of PowerFX plugins and examine the critical responsibilities of pro developers in creating flexible custom connectors and ensuring robust UI validation. We'll also address the challenges of aligning real business needs with system implementations, sharing insights into effective data capture practices to enhance user experience and prevent system errors.
In 2024, we celebrated seven years of the Microsoft Business Applications podcast. Now, we step into 2025 with a fresh new name.
Welcome to the Microsoft Innovation podcast! Our new name reflects a broader vision, exploring the intersection of people, business, technology, and AI.
90 Day Mentoring Challenge
Microsoft Business Applications Career Mentor for the Power Platform and Dynamics 365
Justin Welsh
Justin Welsh’s LinkedIn Operating System—the guide to finding your voice on LinkedIn.
If you want to get in touch with me, you can message me here on Linkedin.
Thanks for listening 🚀 - Mark Smith
00:31 - The Power Platform
16:31 - Pro Dev Roles in Power Platform
Mark Smith: Welcome to the Power Platform Show. Thanks for joining me today. I hope today's guest inspires and educates you on the possibilities of the Microsoft Power Platform. Now let's get on with the show. Today's guest is from Los Angeles, california in the United States. He works at Excellence as a Solution Technical Architect.
Mark Smith: I have known him for a long time. He's been an MVP for over 15 years, so he's an old hand at this. He comes from an amazing part of the world which I'm not yet visited because they declined my visa, but that's a different story. But you will find links to his social media show notes, bios, all the stuff that he does and creates. He is a guru when it comes to developing on the platform. I have heard rumors of some of the amazing technical feats he has completed in the software he's produced on the Power Platform. He's a pro-code developer but has taken his career in the path of the Microsoft Power Platform and I'm here today to quiz him on. Why should a pro-developer somebody that cuts code, that actually doesn't use AI to write it for them, but actually understands the language and can create something from it? Welcome to the show, andrew.
Andrew Butenko: Hello Mark, Thank you for having me.
Mark Smith: So wasn't that a big preamble waffle of your amazingness? Now, because you've been on the show so many times and we're going to explore a new topic today around this question of ProDev and the ProDev series, what I'd like to know is what's going on in your world right now. What's fun, what's happening?
Andrew Butenko: I have a lot of exciting projects that I'm currently participating in, so staying busy, staying busy. It's really. Since we talked like on a show for the last time, it was a big change. So I left the partner I was working for and joined another small but amazingly interesting and powerful crew called Excellent Solutions, and we keep building cool stuff that is based on the Power Platform.
Mark Smith: I like it Now for those that are listening, just so you know, andrew is a gun for hire and you can't find really somebody better than him, so they're working inside that organization. Very much feel to reach out to him. If you've got a complex development scenario that you need to address in your company, you can reach out to him directly and he can help you. What can we say about Ukraine?
Andrew Butenko: Unfortunately, it's super sad that war is still there. I'm trying to donate as much money as I could in order to help our forces to fight back and basically end this war and win this war.
Mark Smith: How's it been over? Because you know we did a podcast back when the war first started with you and a range of other folks from Ukraine, and what's your thoughts now?
Andrew Butenko: So you're asking me like my thoughts on what is happening or like about the war itself. So just to understand.
Mark Smith: Yeah, just you know it obviously leaves you with profound sadness in what is going on. I assume you've got family et cetera still there. How do you make sense of it all?
Andrew Butenko: I am trying, you know I am trying. If I will be distracted, I will not be able to operate as I am doing normally without such kind of crucial circumstances. So I'm trying to find and be helpful in any way. And I am looking from the historical point of view point of view and I see that now, uh, ukrainians are inventing, technically, inventing the new types of, basically, weapons and if you know what fpv drones and this is like a absolutely new page in modern war and what ukrainians did and what ukrainians are doing with this wonderful FPV drones is just crazy, because Russians they're attacking like a horde with the numbers and Ukrainians are fighting with their minds and technologies and FPV drones are stopping the storms and just stopping completely attacks, destroying vehicle and personnel. It's just amazing. I believe Ukrainians now, like all the world, is looking at what is happening in Ukraine. I know it's sad, it's crucial, but it's like a modern war.
Mark Smith: Yeah, yeah, it could consume our time, but it's like modern war. Yeah, yeah, it could consume our time. One of the things I try to do is I hire a lot of people personally off Upwork and I would say generally, I'm almost at the point that at least 99% of them are only from Ukraine, and so I employ people who are still living in Ukraine on that, because there's some amazing skills video editing skills just off the Richter scale. So the talent, the ability to storytell with video, I just find amazing. They do. All my the podcast, the ecosystem podcast, all the video editing on that, all my PowerPoint presentations are all done in Ukraine. They're just amazing quality work coming out. So if you have the opportunity, a listener, to use resources from Ukraine, please do. Let's talk about ProDev and why a ProDev should consider the Power Platform.
Mark Smith: This series came about because I had kind of noticed over the years a massive emphasis on citizen developer and that everybody's a developer. And then, of course, there's a clarification there's a lot of difference with someone that knows a language and can speak it fluently and somebody that you know has learned 10 words to go into a country or learn how to prompt AI to write some code which might work but you might not have the understanding of why it worked. Code which might work but you might not have the understanding of why it worked. And so I really want to unpack.
Mark Smith: Back when I started in this technology space, there was a lot of from Microsoft around how NET developers because that was the focus could start using, back then, dynamics CRM to build solutions. And why would that? And I came across projects where NET developers had built them. They had tried to craft on the platform a solution because it was NET. They didn't honor the software development kit that we had back then and did SQL injection, all different types of things, and, of course, broke fundamentally the system right. And so how do we educate a modern developer as to why the power platform should be considered one of the tool sets in their development portfolio?
Andrew Butenko: So my main perspective is the following so, in order to build something and keep the integrity of solution, you have no need to build the relational database with own hands, like crafting SQLs, optimizing indexes, building relationships and adding constraints and so on. Now you can do everything, basically the modeling of your data storage, using just the quite cool and easy to understand mechanism, and do it pretty much visually, except obviously, the entering the name of schemas and choosing the types that you will use. It's one thing, and the other thing is that you have no need to build the UI because UI is super expensive. I remember words of one really smart and quite knowledgeable person when we were asking why Microsoft is so slow with change to the UI, why can't you? And the person told us guys, don't get us wrong, we're trying to do our best and we're trying to complete our obligations, but ui is super expensive and this is the most complex thing to test because in most cases, like the unit testing is just can't cover it fully and it's always complicated.
Andrew Butenko: And what we can do, like use a dataverse for building and prototyping fast front-end, without uh, without the need to tailor pixel to pixel test inputs platform will do it for you and you can use it as is, and what developer will have to do is just concentrate on like what's in between, because we already got the backend as a database and available endpoints, when we have no need to develop it. It's already there and it's provided as is, and we have the front end, the UI that we can tailor using basically drag and drop. So literally no code, and what developer has to do is just to add some front end checks and some back end checks or automation. It's amazing because finally, we have no need to do those tedious and super crafty work, super time consuming, and now we can save time and just concentrate on the business logic itself. So basically, the funniest part ever in development from my perspective right.
Mark Smith: so because what you were explaining there to me sounds like it's now become quite boring. And uh and, and if I was a developer, like, why would I want to do this? It's now become quite boring. And if I was a developer, like, why would I want to do this? It's all done for me. And you know, I see developers are some of the most amazing crafts people out there. They can think of something and create it and bring it into existence, and this is why we've got so much technology in the world now. And how it enacts and empowers. Isn't there a concern for a traditional developer that it's taken the fun out of it, it's removed the creativity, it's what's the other thing, it's Where's my value? If basically, anybody can do that, you don't even need my developer skills anymore.
Andrew Butenko: You know, that was my concern for a while, Because I started my career as a pro developer and I always started building from plugins and JavaScript and it always was my bread and butter.
Andrew Butenko: And when I started to see that people, even without the my background and development skills, they can build applications, so I I remember I had a like a you know this small fear that I will get obsolete soon because pretty much any person can build whatever they want. But after that I I believe it was some kind of level up If you played Mario, I just ate mushroom and I leveled up. Yeah, yeah, yeah. So I actually had the breakthrough and I just realized that, okay, yeah, maybe my skills will not be needed, particularly in the field that might be covered by citizen developers, but they're much more like a huge field that's really hard to cover without having pro-dev skills. And there are a lot of them, and one of them is, for example, pcf controls, and this is the thing that, with all due respect, will be quite complicated for the citizen developer to cover, but for pro developers it's another cool playground where they can stretch their muscles.
Mark Smith: Yeah, so typically, you know, my understanding is a PCF control would be developed by a pro dev and handed to, let's say, Citizen dev. Yeah, I hate the term.
Mark Smith: Let's say a business developer like a business analyst? Okay, a maker, yeah, let's call them a maker Somebody that their full-time job is the power platform. They are not. You know, it's not something that they do on the side. You know they're not like an office worker and then they do a bit of power. I'm talking about somebody that's full-time building solutions, typically what we would have called a functional consultant or a business analyst in our Dynamics-type career. You wouldn't expect them to cut code. I never even expected them to do JavaScript. I would always see that that needed to. You know, I don't want them cutting and pasting code into a solution not understanding what they're cutting and pasting in. I want them to be done by a pro dev. When you think of that PCF control, can you give us an idea of what are the moving parts that a developer has to consider, think, do, develop, and even, can you just explain what a PCF control is for people that don't understand what it is?
Andrew Butenko: Okay, basically, pcf control. It has started as a UI element that can be placed into a model-driven app and that basically can render in a different way than a platform renders it. So if you want to have I don't know inbuilt validations or some kind of data enriching, for example, address autocomplete, you can create this kind of control and put it into the form and use it as a disk. Then, with the evolution of controls and evolution of the platform itself, pcf controls came first to Canvas apps and custom pages after and then reached even the power pages. So the good example is the first PCF control that I have ever created. It's address autocomplete. I always wanted to have this stuff in my toolkit and it was one of the PCF controls that I created. I always like how the Google works when you start entering the address and it provides you the list of matching addresses and you can select one and it automatically populates all other fields. So I really wanted to have it and it was one of my first PCF controls I have ever created. Super fun.
Mark Smith: Just to digress slightly on that. You know, when Microsoft first introduced the concept to us in the community of PCF and there was a bit of, it took a while to kind of bed down around how it would work. Back in those days, one of the things I expected you'd be familiar with Telerik controls right, yes, I think they got acquired, but there used to'd be familiar with Telerik controls right, yes.
Mark Smith: I think they got acquired. But there used to be a thing called Telerik controls where you could purchase UI elements. You could have a Telerik subscription right and you could do anything. Let's say you wanted a calendar control Bang. You could plug it in. Autocomplete controls, like you're saying Any number of things, ways of doing pick lists, ways saying any number of things, ways of doing pick lists, ways of formatting you know, the ui interface, make it look like your software, that type of thing. I always suspected and I thought there would become a market for pcf, but it doesn't seem that that's been the case. Yes, there's a pcf gallery, but it doesn't seem that. You know developers like yourself are making a side income on selling a thousand versions of that control.
Andrew Butenko: To be honest, when I started my work on my PCF control toolkit, I kept in mind to maybe one day it will become something that I can sell, but unfortunately it never came. So somehow, I believe the main idea was to become a market. I believe there, definitely on the app source, there are a few controls available, but they are super, super specific. They're addressing some specific needs and they are out there and they are super, super specific. They're addressing some specific needs and they are out there and they are available and therefore it's possible to purchase, but somehow it didn't become the big market. I don't know.
Mark Smith: Yeah, interesting. Back to the developer's role inside a team building a solution on the Power Platform. Tell me about we're talking about PCF controls Plugins. I take it would be another thing that you're going to need a pro dev for.
Andrew Butenko: Not always now. Not always now Because Microsoft introduced PowerFX plugins and they can do a lot. They can do a lot Still not as flexible like a plugin that can be built by a pro developer, but they can do a lot, including reaching and getting reading and inserting, deleting the data in external data sources through custom connectors, so possibilities are quite cool. Those are still in preview, if I'm not mistaken. They're not out of preview yet, but I see the huge potential that another one our, I guess, pro developers bread and butter will be taken out of our hands.
Mark Smith: So you mentioned another one then in what you were saying there, and that is connectors. So is custom connectors another area for the pro dev to work on, building them from scratch?
Andrew Butenko: Technically, yes, it's possible, but the whole idea of custom connector was that for a maker. Again, if maker has the understanding like, if maker has the understanding like, uh, if maker has the understanding how authentication works and how the rest work, uh, then they technically can create own own custom connectors. Obviously they're like there are scenarios that need more like flexibility and more power provided to makers, and that's where pro developers step in and they can help to make connectors more flexible, richer and give more power to maker.
Mark Smith: What other bread and butter type things are there for the pro dev?
Andrew Butenko: At the moment. That is a good question, but I would say that a lot of things on the client side still have things to be worked on, and this specifically UI validation. Something can be covered with business rules or something can be covered with modification of common bars through PowerFix, but there are still some spaces where our skills can be used.
Mark Smith: Yeah. So when you say validation, UI validation, things like that I see Often I can't, I don't understand, and whether it's the budget ran out or what, where a piece of software doesn't do what I expect a piece of software to do and I'll give you the most common example is adding an image, like an avatar, my photo, to a profile in whoever's platform it is, and they come back and go to a profile in whoever's platform it is, and they come back and go. Are the files too large or they go? The file's the wrong size. You're not allowed it to be more than that many pixels. I'm like man programmatically you could have taken my file. You could have reduced it down automatically, made it look the right size if it was a one by one square. You wanted. Do it yourself. If I gave you a 50 meg file freaking, optimize it down to 30k if that's what you want. But this whole thing and you mentioned in the UI, because I see it so much in the UI when something as simple as a phone number, if a company has a way that everybody's phone number should be entered, let's say they want the international code, why force people to kind of work that out? Do it programmatically.
Mark Smith: Is there still a need for that type of thing where you say data validation on the input, If you did it, if you captured it right, you wouldn't have crap in the system. And how many times? Like in the old days, right, People used to force capture on a field. So they'd go, we'd give it a red star and say, hey, that's a compulsory field. So what do Like? I've been in so many systems where they're just like you wanted some data. Well, screw you. Here's some data, because I need to get on to the next part of what my business is today or whatever I'm doing in the application, and you forced me to put some data in that I don't have. I don't know the answer to. So I'm just going to give you crap data.
Andrew Butenko: I believe this is where the disconnect between the real business needs and the business owners is coming into play. I have seen multiple times where the system was implemented in a way based on all the specs that were received from customers, but people are not using it because they don't need it, because it's either an overthought or people are providing they were giving their specs based on their best guesses what might the person from a field need to do? And not always what they think is what people really need. So that's that's a huge gap and I think that's why, uh, every single implementation process has to include person that will really use the system. So it's not system has to dictate user what to do. It's user has to dictate what system has to do.
Mark Smith: Tell me about technical debt. Have you come across situations where you've just seen stupid technical debt in a project, maybe taken over from somebody else? Or how do you mitigate and minimize the technical debt in power platform-based projects?
Andrew Butenko: Okay, mark, not a nice speaker, even though I know my accent is perfect from South Carolina and now California accent. What do you mean by debt?
Mark Smith: Technical debt. You know debt as in you know code that has to be maintained, that ages, doesn't age well, doesn't have version control, gets updated and it becomes a big issue. It becomes a debt to the organization because that rogue code has to be maintained.
Andrew Butenko: Whatever?
Mark Smith: It's created an issue for the organization.
Andrew Butenko: Okay, yeah, it's always fun. It's always fun when you come and you start supporting You're not building a system from scratch, you're supporting some code that was written. I keep making jokes about the time when dinosaurs walked the earth, and yeah, I don't know. You know, as a pro developer, I have one mantra that says if it works, don't touch it unless it's absolutely necessary. And yeah, that's what I'm doing. But if there is a need to refactor even a small piece of code, then the whole thing like that contains that code has to be refactored and it has to use the newest, latest and greatest. Because sometimes you're coming to the system and you see, like you remember this CRM, what was the name spacing for the zero, crmallfieldname, something like this and you have to reference.
Andrew Butenko: Yeah, yeah, yeah, when you were seeing it like oh my God, yeah, I remember this, but it hasn't been used for a while, but it's still here. It's so weird.
Mark Smith: Yeah, yeah, and that is funny is that it seems like I think what you said was very accurate and that if it's still working, don't tinker with it, don't rip it out, because I have noticed some legacy that sits in model-driven, particularly in dynamics applications, that was there 20 years ago and nobody I bet nobody uses it. But they're still in the database schema, those weird fields, those unused things, and nobody's bothered to do a cleanup and a clean out of them. And I suppose because it's not breaking anything, why would you spend time on it?
Andrew Butenko: I do agree and I believe because those developers who it is taking care of it, they follow exactly the same mantra yeah, if it doesn't break anything, don't touch it yeah.
Mark Smith: Final question for you, maybe um, what are the limitations of the power platform from a pro dev point of view?
Andrew Butenko: I it will be. It will be my opinion. So it will be my opinion. You know I always, I was always jelly to people like you, like Steve Mordew, people who like, has the vision, who has the vision and who knows, like, where to go what, what to do the next day, etc. I'm as a developer. My limitation is imagination. I'm super practical, so I cannot generate the vision. I can implement someone's other vision and technically, using the Power Platform. There are technical limitations, obviously, but with time and efforts I don't think that there are any limitations.
Mark Smith: Yeah, and that's interesting In my mind when you said that it's why fusion teams are important, right? Different people look at the and I talk about the elephant of it. You know everybody had a different part of the elephant with a blindfold on. You've got a different understanding of what the beast is. That you're you know, touching and fusion teams really allows for that diverse view of things, but then the sum of what you can create is powerful view of things, but then the sum of what you can create is powerful. Anything else, any advice, final thing, any advice you'd give to anybody that is currently a pro developer and they've been told, hey, you're going on to a power platform project, for whatever reason, what's the kind of first three things they need to go? Do so to get up to, to get them getting up to speed.
Andrew Butenko: First one build something simple to understand principles Like. For a while, I was a pro developer and it just happened that way that, for example, I was not touching a lot of Power Ultimate thing I was writing, let's say, ssis, or I was doing the code integrations, or for the UI, I always preferred to build either PCF control or some kind of React page in order to address my needs. Now, for the last half year, I'm working on one project where I'm doing, let's say, 90% of Canvas app development and it's amazing and I actually love it. I was always scared of it and my main motto in this case don't be scared.
Andrew Butenko: Just came up with some idea and tried to implement it using, let's say, canvas app or whatever, because we have a huge stack. It can be something AI, it can be Power BI, it can be Canvas, it can be Power Automate. We have a big platform. So if you're entering the project that is based on the Power Platform, don't get scared and just try to build some kind of small prototype on top of the technology that will be the root one for your project and it's. You know, I'm already like more than I'm older than 40 years. I'm 41 years old and every single day I keep learning.
Mark Smith: So that is something that really excites me that you never stop learning. See on the show. Please message me on LinkedIn. If you want to be a supporter of the show. Please check out buymeacoffeecom forward slash NZ365guy. Stay safe out there and shoot for the stars.
Andrew Butenko has been working with Microsoft Dynamics 365 and Power Platform development for over 15 years. Currently a Technical Architect at eXalents Solutions, he specializes in custom development within Dynamics 365 and Power Platform. A Microsoft MVP since 2010, Andrew is also a frequent speaker at industry conferences, sharing his practical insights with the community. He continues to contribute through his blog, YouTube tutorials, and GitHub, offering guidance to others building on the Power Platform.