Harnessing AI and Coding Tools for Modern Development
Andrzej Zwierzchowski
FULL SHOW NOTES
https://podcast.nz365guy.com/625
What if you could revolutionize your coding process with tools designed by a Microsoft MVP? Join us as we chat with Andrzej Zwierzchowski, a 2023 MVP awardee and development standards lead at TNP, the NAV people. With over twenty years of experience in .NET development, Andrzej has been instrumental in helping developers transition from CAL to AL languages using innovative tools available on the Visual Studio Code Marketplace. He shares his passion for writing clean, efficient code and highlights how these tools, developed since 2017, incorporate wizards and code-cleaning commands to simplify coding tasks.
We also explore the vibrant community that thrives around these tools, where feature requests and improvements are actively discussed on GitHub. Andrzej opens up about his journey to becoming an MVP and how it has granted him invaluable insider access to Microsoft. He discusses his role as a development standards lead and involvement in significant projects across the education and production sectors. Wrapping up, we ponder the impact of AI on development work, from enhancing problem-solving to generating code, while acknowledging the challenges posed by current documentation limitations.
OTHER RESOURCES:
Microsoft MVP YouTube Series - How to Become a Microsoft MVP
90 Day Mentoring Challenge 10% off code use MBAP at checkout https://ako.nz365guy.com
If you want to get in touch with me, you can message me here on Linkedin.
Thanks for listening 🚀 - Mark Smith
00:06 - Developing Community Tools for Dynamics Nav
11:08 - AI Impact on Community Development
Mark Smith: Welcome to the MVP show. My intention is that you listen to the stories of these MVP guests and are inspired to become an MVP and bring value to the world through your skills. If you have not checked it out already, I do a YouTube series called how to Become an MVP. The link is in the show notes. With that, let's get on with the show. Today's guest is from England. He works at TNP, the NAV people, as a development standards lead. He was first awarded as MVP in 2023 2023. His passion lies in writing clean and efficient code and he's a community contributor and he creates free tools to support fellow developers. He's got two decades of experience specializing in dot net development in the area, specifically to support dynamics, nav and bc business central. You can find links to his bio, social media etc. In the show notes for this episode. As always, welcome to the show, ndrzej.
Andrzej Zwierzchowski: Hello, well, nice to be here.
Mark Smith: Good to have you on Now. Your name doesn't sound like a typically British or English name, so where are you from originally?
Andrzej Zwierzchowski: so I'm originally from poland. I moved to uk like nine years ago, um, and you know I've been living there. Yeah, as I said, last nine, nine years in uk working in, and enough people all the time nice, what.
Mark Smith: What do you, um, when you consider, uh, what you do when you're not working? Okay, so if we put the the microsoft dynamic side of things to one side, what do you do you know for fun, uh, where do you like to eat and what food are you into, and anything about your family?
Andrzej Zwierzchowski: Oh, okay, so when I'm not working, I'm still playing with a computer, playing and doing some stuff, writing. Obviously, writing comes into tools, which is outside of work hours, so part of this time is consumed by that type of work. And then I like to read books and sometimes ride the bike, but I don't have much time for that, and I have a wife and two sons, so that's what consumes all my time remaining time.
Mark Smith: Yeah, do you ever get back to Poland much?
Andrzej Zwierzchowski: Usually it's once a year, like today. I'm in Poland visiting my parents, so now I'm sitting at their home enjoying the weather, enjoying this. I'm currently enjoying the night.
Mark Smith: Tell me about the community tools that you developed. What are they? What are they typically used for? Who's mainly using them? So developed what?
Andrzej Zwierzchowski: are they? What are they typically used for? Who's mainly using them? So it's one slight bigger tool and it started I was looking at it recently I was trying to just see how when I really started and I saw that the first commit in my repository was from December 2017. So that's a lot of time. So it was when Microsoft moved Dynamics Nav developers to Business Central and introduced new language. They switched from the CAL in-L in Dynamics Nav to A-L in Business Central and give us give the Business Central developers a new development environment, which is VS Code.
Andrzej Zwierzchowski: I was thinking that I would like to add something, something more, and at that time I started with a small thing, a small modification, small panels in Windows VS Code, and then I was just adding stuff, adding stuff, realizing that the original first name that I gave to my extensions was very bad because it was just the name of the single one, the smallest, just panel on the side. So I started adding some wizards that help people to quickly start creating, writing the code. Then I was adding some commands to VS Code that you can run and then they will transform your code, like fixing some small problems that can be automatically detected. People were then creating in the GitHub repository. They were posting some issues, so we're asking for some additional commands helping them with the code and it was just growing this way.
Andrzej Zwierzchowski: So probably I'm guessing that the most frequently used functionality are the wizards, where you can quickly just start writing your code. You're not starting with an empty file, you just have something really quickly created, like creating a page. You just select the fields and it just dumps them to the page. Things like that. But also the commands cleaning code are the other functionalities that people are using.
Mark Smith: Yeah, how do you distribute it? Is it just in GitHub or is there a specific tool community? So I come more from the Dynamics to the house side of the house. Um, for customer engagement, and there was a tool developed some years ago by a french mvp called tanga and he created, uh, what was called the xrm toolbox and that has become pretty much the standard that all developers release their tool within that toolbox set and that of course gets global distribution and it's kind of taken a life of its own. It's got hundreds now of applications but it's designed for more that CE side of the house, maybe even some power platform tools in there. Do you have a similar thing in the Business Central slash NAV landscape for distribution?
Andrzej Zwierzchowski: So we're talking about Dynamics NAV and Business Central. We're talking about different developing environments. I don't know how much you know about the Business Dynamics NAV architecture. In Dynamics NAV, the code was in a database and you have a client that's connecting to the database and you are basically developing inside the database, while the switch to Business Central was something that was for developers that started with Business Central and had this in-client development environment that keeps all the code inside the database and suddenly those people got the development environment that any other developers working with any other language know and see each day, which is now you have your code in files and the development environment now is Visual Studio Code. The Microsoft Visual Studio Code marketplace gives us the Microsoft compiler and the VS Code extensions with the functionality allowing us to write in AL language and running and deploying compiling. So the way to distribute it for business samples is very easy you just write another Visual Studio Code extension and publish it to Microsoft with the VS Code Marketplace.
Mark Smith: Ah, so it's the VS Code Marketplace. So is where, if another developer would go and find it.
Andrzej Zwierzchowski: Yes, yes.
Mark Smith: Do you have any stats on its usage or anything like that? You need to like telemetry data.
Andrzej Zwierzchowski: I don't want to have telemetry, so I don't have telemetry and I don't want to introduce any telemetry into my extension because I don't want to give to install on people machines something that sends data anywhere. People sometimes might be asking what's your extension? Is your extension sending any data? Because they may have some rules in the company they want to the cybersecurity team. We don't trust anything there, so they may not want it, so I don't want to have anything there. So then people start complaining if something goes wrong. Your extension is sending data somewhere. It's just for you just install it and I'm not doing anything and I don't want to know anything that you're doing. I'm just giving you a tool.
Mark Smith: So what about downloads, and do you have kind of an understanding of how big the user base?
Andrzej Zwierzchowski: Yes, I can check, I can check. Well, I can go to VS Code Marketplace and check quickly and check quickly the numbers. So I go here.
Mark Smith: And is this tool one of the main reasons you became an MVP, or was it something else?
Andrzej Zwierzchowski: That was the main reason, because I'm just mainly focusing on this one. So currently I can see that there is 228,014 installs. That's what I can see.
Mark Smith: Wow, close to quarter. A million downloads, that's incredible.
Andrzej Zwierzchowski: Yeah, but you don't know how many people are using it, because if you're installing VS Code on your machine or maybe remotely on a customer server or maybe somewhere else, then the number will go up while you're changing your laptop and then you're installing your VS Code again and, as I said, I started in December 2017, so I'm guessing that people that start using it at the time they probably change their work laptop maybe two or three times.
Mark Smith: Do you have kind of a community around it? Do people ask you for features and things to be added?
Andrzej Zwierzchowski: Yes, yes, people are asking for things on GitHub. Just write an issue and then I will try to do something about it.
Mark Smith: That's awesome, I mean, and it's totally phenomenal that you create this tool that obviously is saving, I assume, other developers a heck of a lot of time in what they're doing with Business Central.
Andrzej Zwierzchowski: Yeah, I'm also trying to present something on Business Central conferences a few times during the year. But the main focus, my main focus on this tool I can sit and write a bit of new functionality, maybe fix some bugs, maybe change something, because we have a new version of Business Central with new compilers. Then sometimes I need to fix something and remove some, fix some breaking changes in the extension, changes in the extension. But the conferences are also something that I'm trying to go and present something.
Mark Smith: When you consider conferences and you're speaking, what topics would you typically talk about?
Andrzej Zwierzchowski: Something related to development, something I'm trying to find, a subject that is code related.
Mark Smith: Maybe something about quality of the code, maybe something how to write the code, something like that and I can see why, because I mean in your title it says development standards leads. So I take it that you correct me if I'm wrong are designing the development standards used by your organization and your team, which I assume involves a lot of best practice and how you like to see things done.
Andrzej Zwierzchowski: Yeah, I'm responsible for our development standards. It came later, after my tools. The tool was visible, people were using it, so then I was trying to speak at some conferences and also I became development standard leads in the company to be responsible for the standards and to try to guide people.
Mark Smith: Without mentioning any company names or people's names et cetera. What's kind of the largest project that you've been involved with? Bc?
Andrzej Zwierzchowski: Hmm.
Mark Smith: And large might be complex. You know, not just number of people.
Andrzej Zwierzchowski: There were some projects we were implementing. We had a few projects where we were implementing solutions in multiple countries where we had to deliver multiple business central extensions. Localized versions for those countries are slightly different. There are different requirements in those different countries. So I don't know how big it really was because I was not constantly helping people with those projects. But there were some big. As I said, I don't know the numbers so I cannot tell you.
Mark Smith: What industry was it in?
Andrzej Zwierzchowski: It was education. One of them was education, some productions also. There was another one.
Mark Smith: Interesting, interesting. So you've been an MVP for some time. How did that originally come about? How did you get nominated and get invited into the program?
Andrzej Zwierzchowski: So I was invited by other MVPs, by the other Polish MVP. He nominated me and then I had to go through all this validation process. But it happened, but I was already part of the community. It was a few years after I started building those tools and also I was trying to already present something on the conferences and then the nomination came a bit later. And in this community we have in business business obviously there are some MVPs, but also there are people that are not MVPs but also are part of the community that are building some tools, presenting on the conferences.
Mark Smith: When you became an MVP? Prior to being an MVP, what was the biggest changes? What were the biggest surprises in coming into the MVP program that you didn't realize before you became one?
Andrzej Zwierzchowski: I don't think that there was a very big change. Obviously, you're getting some access to some knowledge from Microsoft. You need to sign NDA and then you can be invited to some calls. Microsoft may share some information with you. That was an interesting thing to be able to see those things, to learn something, some internal information. That was probably one of the biggest changes, because I'm still focusing on building the tools, so that was not changing much.
Mark Smith: The final question I have for you is around a word that's on everybody's lips nowadays, which is AI. When you and I don't want to talk specifically about co-pilots or anything, I'm not talking about Microsoft AI, I'm just talking about AI in general. How is it changing the way you work, the way you do things? How are you personally using AI, using?
Andrzej Zwierzchowski: AI. What I'm doing with AI is I'm asking the questions when I need to write something and I'm not sure how to find some information, how to call some APIs, how to call the API, how to achieve something in, for example, powershell, and then I'm just asking Bing chat, how can I do that in PowerShell or in other language? And then I'm getting the answer a bit of code that I can look at. Oh okay, that's how to do it. And this is a very interesting thing, because I noticed something very interesting which probably doesn't. It's an amazing thing, but also it's a bit sad thing.
Andrzej Zwierzchowski: So I was some time ago, and maybe it was a year ago, I don't remember. I was trying to. I was writing some internal company code, some internal extensions of VS Code, and I had to do something with source control, something on GitHub, and I hit the wall. I was not able to find any information how to just switch to one of the switches in one of the columns. But I found that there was a discussion on GitHub about this switch, but I was not able to find anything in the documentation and the issue on GitHub was closed. We did it, it's done, and so I had absolutely no idea how to do it. And then I asked chat GPT how to do it and it just wrote me a code. It just copied the code from there and it worked. So you may think that it's amazing, but you see that it was somewhere. It was a very small thing which was hard to find in the documentation.
Andrzej Zwierzchowski: So I realized that and I also found out that many times we're doing something with some APIs. When you need to call something, it doesn't matter what it is, it doesn't matter who provides the API. Sometimes the only way to find it is to. The easiest way to find it is let's go to GitHub and start searching for it in the open source repositories and then you will find it. So this is an amazing thing that AI can, because AI indexed a lot of open source repositories and knows this code so it can find it. So that's how I'm currently using it, just asking it for examples of the code. When I need to call something, call API. Not necessarily write me code that can do that, but how to call the API.
Mark Smith: This is so cool, I love it. I love it's practical and that nuance thing of knowing something had been solved. But often you can't find documentation. And what a great way to potentially uncover how to find a solution.
Andrzej Zwierzchowski: Yeah, as I said, that's a bit sad that you're finding that we as a developer sometimes really failing with providing good documentation. But then somebody wrote this code and it's in open source repository, so we're just looking for code examples.
Mark Smith: Final question Anything else you would like to say to folks aspiring to become an mvp?
Andrzej Zwierzchowski:
if somebody wants to be an mvp, then I would say try to help the community, think, think about some. Think about the impact you could have on the community by helping people and then people will recognize you and then you might have a chance to be MVP because we'll be helping. That's really what I can say about something inspiring.
Mark Smith: Just try to help the community and then you will feel good seeing that that you're helping those people. Hey, thanks for listening. I'm your host business application mvp mark smith, otherwise known as the nz365 guy. If you like the show and want to be a supporter, check out buymeacoffeecom forward slash nz365guide. Thanks again and see you next time. Thank you.
With two decades of experience, I’ve specialized in .NET development and Dynamics NAV/Business Central. My passion lies in writing clean, efficient code. As a community contributor, I create free tools to support fellow developers.