Three Game-Changing Tips I Wish I Knew Starting Out in Power Platform
Hard-Earned Lessons from My Journey in Low-Code Development
As a Power Platform developer, I’ve had the opportunity to create numerous applications over the years. Along the way, I’ve encountered my fair share of challenges—some of which kept me up at night! Looking back, there are several things I wish I had done differently. There are lessons learned I would love to pass on to the next people trying to learn how to code in PowerFx. It can be difficult to learn a programming language, or any technical subject, especially when your background is not IT related, such as mine.
Nonetheless, I have managed to learn a lot and am still learning a whole lot more. I love it and will never stop learning. There’s always something new to sink my teeth into. There have also been problems that I have tried to tackle but had to let slip due to lack of time or because it was not my task in the project to tackle. Test automation or data integration are such a thing. Anyhow, I wanted to share three things I would do sooner or differently when I could do it all over again.
Keep my code gems
Switching jobs or projects often means losing access to some of the valuable code snippets or user interface (UI) components you’ve created. I would have loved to be able to look back on some of the things I have created to reuse them or see how I managed to do these things. Especially when it comes to UI components this can be handy. We used to keep a Canvas app with self-created buttons, galleries, forms and other UI components. We would copy these so we could develop application with the same consistent look and feel and still have the flexibility which library components wouldn’t give us. Think of it as boilerplate code, but for UI components.
Having a solution which I could import into any new environment and use to kickstart development would help me tremendously moving forward. If only it would be for inspiration. I once had the discussion whether consultants should use such a repository. Since it would mean selling less hours. But in the end, it is just annoying creating the same pretty UI over and over again. You will probably iterate on it every now and again anyway. So do keep some of your code gems close with you before you lose access to that customer account.
Documenting my application patterns
For me, application patterns are nothing more than certain pieces of code that I have reused and can reuse again. Different solutions to a problem I have faced in the past. One of my mentors had proposed this idea and we would have certain chapters for describing an application pattern. A description of a pattern, considerations, possible solutions, references to the source. Some documented patterns included
handling unhandled errors in Canvas apps
implementing security measures
customizing the status and status reason columns in Dataverse
The point here was to not reinvent the wheel. One of my colleagues recently got asked the question: when do you think a dev goes from being “Advanced” to an “Expert” in X language/tool/app? He answered with:
You will never learn this entire platform. If you think you do, you haven't tinkered enough with the inside of it 😊
I loved this answer because it showed to me how important it is to keep application patterns documented properly. This way you could fall back on the lessons learned and not forget them. At the same time it showed me to not be afraid that I don’t know enough. There’s apparently too much to learn.
Set Up a Microsoft Developer Tenant or Personal Power Platform Playground.
A while ago, I was fortunate enough to acquire my own Microsoft developer tenant. Currently you need to have a visual studio subscription to be eligible for this but there are still some other ways to get your own playground. I wish I had this playground much sooner since this allows me to test scenarios and develop the things I want to do myself. I can now try and use Azure blob storage for my file storage instead of Sharepoint or I can try to set up a Federated Identity for my personal Azure DevOps organization. It also allows me to create personal projects that I can share with my family members. Recently, I’ve been working on a fitness application. I’m also planning to build a chores app to help the people in my household log completed tasks. These projects are excellent practice opportunities, free from time, budget, or architectural constraints. I wish I had started this way sooner!
Final thoughts
Reflecting on my journey as a Power Platform developer, I realize how much these small but significant lessons could have accelerated my growth. Keeping a repository of my best work, documenting reusable patterns, and setting up a personal playground are steps I now see as invaluable. They not only save time but also allow for consistent improvement and innovation. While we can’t change the past, we can use these insights to help others start their journeys with fewer roadblocks. I hope these lessons inspire aspiring developers to work smarter and embrace continuous learning.