Dynamics Corner

Episode 329: In the Dynamics Corner Chair: Business Central AL Development for OGs

Waldo and AJ Season 3 Episode 329

In this episode, Kris and Brad are joined by Eric "waldo" Wauters and Arend-Jan "AJ" Kauffmann to discuss AL development for OGs, commonly referred to as "dinosaurs." The conversation covers enhancements to the AL language, the challenges of keeping up with the rapid evolution of the language, and the need for specialization in specific areas of AL development. During the conversation, waldo and AJ emphasized the importance of staying updated with new tools and features while acknowledging the limitations of knowledge and the need to know where to find information when needed.

 

Connect with Waldo on LinkedIn: https://www.linkedin.com/in/ericwauters

or X: https://x.com/waldo1001

Connect with AJ on LinkedIn: https://www.linkedin.com/in/ajkauffmann

or X: https://x.com/ajkauffmann

Send us a text

#MSDyn365BC #BusinessCentral #BC #DynamicsCorner

Follow Kris and Brad for more content:
https://matalino.io/bio
https://bprendergast.bio.link/

Speaker 1:

Welcome everyone to another episode of Dynamics Corner, the podcast where we dive deep into all things Microsoft Dynamics. Whether you're a seasoned expert or just starting your journey into the world of Dynamics 365, this is your place to gain insights, learn new tricks and make development fun. I'm your co-host, chris.

Speaker 2:

And this is Brad. This episode was recorded on July 5th 2024. Chris, chris, chris. Yes, I'm done with Fridays, by the way, I just have to put that out there.

Speaker 1:

Another Friday, it's another Friday.

Speaker 2:

But this Friday we had a great conversation. Great conversation we had the opportunity to talk with two OG dinosaurs from the community about being OG dinosaurs With us today. We had the opportunity to speak with Waldo and AJ Koffman. Good afternoon, hello. Hi how are you Great? You're not at the resort.

Speaker 3:

No, no, I'm at work at the moment.

Speaker 2:

Oh, I was expecting to see the fabulous background.

Speaker 3:

Well, I wish I was there yeah, I do too. Christopher seems to be at some resort yes, yeah, I mean my in-laws.

Speaker 1:

They have a nice setting background so it's nice and warm. Except this morning it's a little chilly.

Speaker 2:

And he has the mountains, which is a nice view too, the mountains up here yeah, hello, hello, good afternoon. How are you doing?

Speaker 4:

Doing fine oh wait, wait.

Speaker 3:

If it's doing Hello, I'm fine, great. Oh, wait, wait. Is AJ joining, then I'm off.

Speaker 1:

Okay so nice to see you, valdo Hi, aj, how are you?

Speaker 2:

You never know who will show up. It's always a surprise, okay.

Speaker 3:

Are there more surprises like this?

Speaker 2:

We may have more. Should be honest with you, uh, I may have surprises even more.

Speaker 4:

Okay, yes, yes, that's.

Speaker 2:

That's what we do on friday afternoons is have a full uh, a show full of surprises or an episode full of surprises. Well, it's a friday recording chris, so I don't know, I know to see what happens.

Speaker 1:

it's a Friday recording, chris, so I don't know. I don't want to see what happens.

Speaker 2:

It's already started off poorly before the two of you joined, so we'll see Nothing well ever happens on Fridays when it comes to doing podcasts, I found, but we'll charge through anyway.

Speaker 2:

I'd like to thank you both for taking the time to speak with us today. I've been looking forward to this conversation and I wanted to have a conversation about this for a long time and even have some more questions after seeing some things I saw posted this morning. You know you probably saw them a long time ago, but we're a little bit behind you. But I was excited to talk to you about AL developers for OGs or dinosaurs, which I saw that you were. You guys both had presented a session together at BC Tech Days recently and I thought no other perfect time to talk to somebody about that and people to talk with about that than the two of you, so I appreciate it.

Speaker 3:

Because we are dinosaurs.

Speaker 2:

I think you may fall into that dinosaur class, but dinosaurs are great Define dinosaurs then, but dinosaurs are great Well define dinosaurs then I mean they're extinct. True, true, true. Well, some dinosaurs still exist. Aren't alligators dinosaurs, or aren't there other animals that they consider dinosaurs, some of the other reptiles that they say have been around?

Speaker 1:

for a long time. I heard they're related to chickens.

Speaker 3:

They're not chickens exactly.

Speaker 2:

Okay. So maybe we're not chickens, uh, but before we jump into it, for those that don't know of the dinosaurs that we are, uh, would you please take a moment to tell everyone a little bit about yourself, mr waldo sir um, I'm baldo, uh, from belgium, from Belgium, development manager at Effective Business Solutions, being in the community, or, let's say, contributing to the community for quite some time, being MVP for somewhat like 16 years.

Speaker 3:

Yeah, I'm still doing what.

Speaker 2:

I do Excellent. 16 years, that's a long time.

Speaker 3:

Or 17.

Speaker 2:

17 years, 17 years Wow.

Speaker 4:

There must be, something like that yeah.

Speaker 2:

That's a very long time, so when did you start working with AL development?

Speaker 3:

I started in 2001.

Speaker 2:

2001. Wow, that is a long time.

Speaker 3:

Yes, and then I ran away from it.

Speaker 2:

Why did you run away from?

Speaker 3:

it. This was not what I wanted to do. I actually wanted to do like C-sharp kind of development. So I ran away and then my new company asked me hey, you have experience in Navision, do you want to do it? In my company I was like, okay, I, I'll try.

Speaker 2:

So that's kind of like yeah, it seems that happens to all of us. I ran away to go for a year to go work at a company managing a c-sharp development group and product and then after a year I got pulled back into it as well. It seems like it's one of those things once Once you join, you can never leave, as they say. Mr AJ, sir, you tell us a little bit about yourself please.

Speaker 4:

I joined the business Central World, I think about one year later it was in 2002. Rookie, sorry. So what was that, waller? Sorry? By the way, everybody calls me AJ. My official name is Arjen Jan, but it seems to be difficult outside of any Dutch-speaking countries countries, and there are not so many of them, so they renamed me into AJ. That's fine, I listen to AJ as well.

Speaker 4:

I'm currently working as a CTO for Lumos 365, a UK-based company, and we are, of course, an ISV partner in the business central world. I started back in 2002 and, yeah, quickly found out about the community and started contributing a couple of years later, actually encouraged by the famous luke van vugt, who actually taught me cal development back in 2002. I was in his classes, wow, and actually my my hometown like where he was at that time an employee of Navision Netherlands. So, yeah, actually I came in the Navision world back then as being a C-sharp developer and the idea was that I was going to do something about integrating web shops, portals, whatnot. But yeah, actually I was dragged away into the CL world and I'm still here.

Speaker 2:

Yeah, well, happy that you're here. It's odd to hear someone come from the C-shop world at least in my experience into Navision way back in the day, because I know a lot of people came from Pascal or Delphi or they worked with those types of languages. You know, at least when I started, back when I was a young a young boy so going from C sharp at that point to Navision must have been quite an adjustment for you, to say the least.

Speaker 3:

I did my traineeship in 2000 in um in c++ I think it was portland c++ 4 or something like that. I did my traineeship and I absolutely loved it. Uh, and that was where I was like, yeah, this is what I'm gonna do like the rest of my life and day one.

Speaker 2:

It was decided differently, so it's good we're happy that you're both uh in the community and working with, and the al language has been an evolving language rapidly, or had been evolving rapidly over the past several months. It took several years for them to get to this, but the momentum seems to go, gets moving, and, uh, one of the things to talk about is we talk about and I had conversations with you before about um, you know what are the changes to the al language. You know how rapid they're coming, where's the language going? And then also, for us ogs, how do you keep up with it? You know, how do you keep up with a language that's been more or less Pascal-based for its entire existence and now, over the past couple of years, it seems to be moving more and more towards a NET language or a C-sharp type language if you look at what they're adding to it.

Speaker 3:

In my opinion, it's starting to look really cool. Yes, yeah, absolutely. Actually, I don't know if you know Stefan Maron. He started some kind of series on YouTube or live coding thing and I attended actually yesterday because I was triggered in the tweet that he did and he did some clever things with something that's coming up with the disk keyword. It was pretty interesting to see where AL is going on that as well. Yeah, absolutely.

Speaker 2:

Yeah, I saw that too and I saw your comments. I did watch that with the EverInfo rapper. Rapper, I think is what he was talking about yesterday, and then I saw this morning that you know the message that's in the preview for al about the tyranny, tyranny. How do you say that tyranny?

Speaker 3:

I can't even pronounce it, uh you know there are any conditions, or what is it?

Speaker 2:

yes, yes, within al. So now you'll be able to do the question mark like the C-sharp language and I'm just I think it's going more. So let's go back to what you had talked about at BC Tech Days with AL development for OGs. What are some of the most recent enhancements, or enhancements that you like, about AL, the AL language and development as it's gone through, as you kind of talked about with your presentation?

Speaker 4:

AJ, the idea is actually to go over a number of topics not actually related to each other. Well, they are related because they are all about AL and business central development, but topics that actually change for those who bridge the gap between seaside and CIL development to business central and AL development. You have a number of changes there. It's not just a different language, but the whole development experience is changing. So Waldo and I were actually kind of listing topics that are changing over time and changing for those who take that, the step towards IELTS development, and we came up with a list that we could probably talk for a whole day, more than maybe even two days, if you give us the time.

Speaker 2:

Oh, we have two days' worth of time. It's Friday.

Speaker 4:

And we have done this session now a couple of times and we always run out of time. The first session, it happens because I took too much time on one of the topics. Second as well. Second time, it happened to Waldo taking too much time because we switched the topics a little bit. Okay, now, waldo, you go first because I'll take the remaining time, whereas there was none.

Speaker 3:

That happens whenever. Who has the word first, he has most time.

Speaker 4:

Yeah, but those topics are both in AL, like what is changing in AL we have a lot more in AL you can use than you had in the past with CAL but also about the overall development experience. We have a completely different development environment. Vs Code the process is different. You're not changing the base code anymore. You're extending the base code but you don't touch the base code. It was completely different in the past, where you don't touch the base code. It was completely different in the past around everything that you have in automated tests, in pipelines, dev ops and all of that and I have the feeling of it just spreads the surface in our session.

Speaker 2:

No, I can imagine there are so many changes now that you're putting it in a list like that. Just to think from someone who has been working with it since back in early 2000s or the late 1990s when the language was really there. I know when it first came to the US was in the late 1990s when developers started working with it, when you had the optic designer built within the application, and now, as you'd mentioned, you're over now into using VS Code to develop an AL extension.

Speaker 3:

And the nice thing is, in a session like that, it's very recognizable to touch whatever we are coming from, because everyone who is there, or most of the people who is there, is an OG, is a everyone. Everyone who was there, or most of them, most of the people who was there is an OG, is a dinosaur right. And whatever you talk about, like do you remember the object designer and do you remember how we did source control? We didn't.

Speaker 2:

Or who did.

Speaker 3:

I was going to say and so that is actually always a very nice touch point, like to uh to emphasize how much we progressed since back in the days and it's I mean I just came to it during the session but uh, it was always called the object designer or the way we did our stuff. Uh, it was always called simplicity and that was I was always called simplicity and that was I always hated that word, always, like from the first day that I did Navision, or because I mean whatever is simple to do, probably we are doing something wrong at that point or we are not doing enough. And the reason why it was simple it was simply because we were not able to do the basic stuff we should be doing as software developers. So it was not simplicity, it was stupidity kind of thing, right, and now we have progressed so much already it is actually quite interesting to keep looking back to, okay, but do you remember, like like 15 years ago, like we weren't evil, we didn't even have like intellisense, right? Um, so, yeah, how, how we have progressed.

Speaker 3:

This is it makes it an interesting session and it's, like AJ says, like we had an insane amount of topics and our first challenge was what do we take what. What are we going to talk about? Because we can talk about pretty much many days about this um and the idea lives that we would be doing and following up session maybe next year or two year after, something like that.

Speaker 4:

What I find interesting, though, is there are also many new developers. Many people are new in the channel, new to AL development, and you would maybe think that those who maybe think that those who, let's say, the OGs, who work with Business Central, they are kind of behind because they need to learn new technologies, but I find that people who join Business Central today or, let's say, two or three years ago, they are kind of lagging behind on knowledge about knowledge of the product behind it, about Business Central how does Business Central work, and I see many questions that are actually around topics that we all were used to as OGs, and that still applies to today. I don't know if you have the same experience well, over there. It's a question about how do I create a record, or how do I work with a customer record versus a contact, versus a sales head, or whatever these kind of things. It's obvious now.

Speaker 3:

It's the old question like how functional should the developer be and how technical should the consultant be? I think that's kind of like I'm less abstract in that, to be honest, or maybe even more abstract in that. You are abstract in that. Yeah, in my opinion, there should be a very thick line that I should not cross as a developer, as being a consultant, you know, because I would not like consultants to cross the development line either. That doesn't mean we shouldn't have knowledge, right, I need to know what an invoice is and how an invoice is posted and how, what a ledger entry is, and now I can get to the data, how much I normalize my data and how I shouldn't be doing that and why and that's all an ERP kind of reason on doing stuff. But yeah, it's hard to explain.

Speaker 2:

But no, I understand that. That is a challenge that I see and it's also, I think, the line. When we first started there really wasn't a line because the application itself, as you said, was simple and there weren't that many, you know, people implementing it or working with it. So a developer and a functional consultant did cross that line. So you kind of did all of the same roles. I know early on when we first started, the partner I started at there was a few of us that worked on this and we had to do pretty much everything, and it wasn't until years had progressed where they started to become more and more users of the application, which involved, which therefore led to having more need for someone to implement or develop or work with it. I think that line again, if you deal with the OGs, a lot of people still don't have that line. They think that a lot of the functional consultants or technical consultants may think that they can develop the same way like they did years ago because they knew enough then. But I think now Enough.

Speaker 3:

right, that's the simplicity that I'm struggling with, you know. Just as an example, yesterday I had a meeting with a customer. He was seeking advice to someone who had knowledge on NAV5. And I mean, I'm part of an organization uh, I'm, I'm actually a small company in a bigger hall kind of thing and the bigger hall found that customer and if was trying to find some knowledge in the bigger organization. So that came to me like I was like no, no, please, no, okay, I'll have a talk with the customer. And the first thing he says, like look, we are very happy with our NAV5 database, but now we want to do Power Automate. And I was like no, you're not happy with your five database or NAV5 database, because functionally it might work but you cannot extend it, so you're not happy. The bottleneck is exactly what you're happy about and you're not happy about it. The answer would be pretty simple.

Speaker 4:

I'm going to make you not happy by saying Power Automate is out of the question.

Speaker 3:

Yeah, I did that. And then I just asked let me have a look. And I mean I shouldn't have asked. So you see the object design. You just see basically every single object being touched at some point by a developer and you see very physically the simplicity that we don't have anymore. And he asked me, like you're the expert, how can you upgrade this? And the simple answer is we can't have anymore. And he asked me, like you're the expert, how can you upgrade this? And the simple answer is we can't, we cannot help you anymore. And the reason is simplicity. You know what I mean? Because we have been able to do what we shouldn't have been able to do for years and years and years and years on your database. And people did that, and now it's completely a big mess, so you're helpless yeah, but.

Speaker 4:

But? But here the point is that those developers who were used to that simplicity are struggling with moving towards business central, where you do not have the same level of simplicity, or should I maybe say, uh, flexibility? Um, because, yeah, you simply cannot touch the database, not that the, the base application, and that is a concept that they need to get used to, which was actually part of the session that we have. And for some, for some, it's, it's, it's hard. Others are like finally, now I don't have to. But yeah, I mean, okay, I'm going to admit that in the beginning, in the very beginning of al and creating extensions, it took me some time to get used to the idea that I cannot touch the base application. I had to get used to that. Now I cannot imagine how.

Speaker 3:

I need to shut up. Say again Now I'm going to try to not.

Speaker 2:

No, no, don't hold back. It's Friday, we need to get it all out, don't hold back at all.

Speaker 4:

Don't be honest, Waldo. You're not in the same position.

Speaker 3:

No, yes, yes and no. The thing is, I have been one of the big adversaries or how do you say it in English of anything hybrid and anything that comes close to changing the base app right. So the code-customized base app or hybrid development, where you had some AL and some CAL in one implementation, I've been like from the starters being advocating like don't do it, don't ever do it, do not go that way, ever, ever. If you just want to do AL just because it's cool and back in the days like NAV 2018, bc14, it was just cool Because it didn't contribute to the complete supportability of an implementation very well actually, because it was actually quite hard to do I would say don't do it, just everything C-AL and then make it convertible toL at some point when you can, but don't mix and match, don't do the code customized base at some point. And I remember distinctively in the entire community that I was quite alone in that space.

Speaker 4:

I remember that a lot as well. We had some discussions.

Speaker 1:

Yes, isn't that caused by OG dinosaur developers that are just like, hey, I can still do it. I might as well just do it for now, worry about it later.

Speaker 3:

I think that was a common thing, yeah, and that's where I started to uh shout like, just because you can doesn't mean you should. And now there is a sticker. I have a sticker on that on my lap. I need one of those.

Speaker 2:

I've always been an advocate of that people want to do things because it's cool. It's the new shiny object, but it may not be the most practical solution or the best solution at the time.

Speaker 4:

It was also something about feeling to be in control. You're not always happy with what the base app does or what the code is doing there. You will always be able to change that behavior, out-of-the-box behavior. Now you're depending on what Microsoft delivers as an event possibilities to override or bypass certain pieces. If there is no possibility for that, for whatever reason, you need to ask for it and hopefully they're going to grant you that request. Or you're just blocked from accessing certain tables because it's on-prem and you cannot touch it. I mean, I ran into that today. I wanted to do something that I really cannot imagine by. Microsoft would have this particular table as on-prem, but hey, it is on-prem and there is no interface that helps me doing something with the data in that table.

Speaker 3:

Yeah, it's a daily challenge for many people.

Speaker 4:

Yeah, and for a moment I was thinking, okay, if I could only have this database on-prem for 10 minutes, I could do what I needed to and then go off. It's a one-time thing anyway. But yeah, it is what it is. We have to live with the hardcomings, the limitations. I would say.

Speaker 2:

Yeah, but it's also they do add a lot to it. I mean, I do like the simplicity of what we had with the vision and the development. I also greatly appreciate and enjoy what we can do with AL. I'm a big fan of the extension base. It does allow you to migrate from version to version and do quite a bit more with source control management pipelines a lot of things that back before we kind of just, you know, simply threw in. You know, just threw some code into some stuff and, you know, had it worked, you didn't like the functionality, you didn't understand the functionality. It goes back to.

Speaker 2:

What we were talking about is how much should a developer understand about the functional areas of the application? You know, in order for you to develop it, you do have to have some level of understanding. With flow, I know over the years I worked on some limitations. Somebody didn't clearly understand how the sales order processing worked within the vision or dynamics nav and they just created their own sales order entry process because somebody wanted one small feature and they didn't, you know, want to modify that.

Speaker 2:

Um. So but with all of the changes that are occurring, um, how do you keep up with it? You know, how can someone keep up with it? How can someone keep up with it? There's younger talent that's now coming into the community that we have, that is, they sit side by side with some of the dinosaurs and they don't understand or they don't even know. I know I talk with some of the younger talent. I mentioned some things and they've never even heard of it before or they never even thought of it before. So they're used to working and developing a contemporary manner. So then you have some of the, the OG guys that you need to understand the application and how to work with it.

Speaker 1:

Well, I'm curious, though, because I'm seeing this quite a bit. Well, I'm curious, though, because I'm seeing this quite a bit, and while Brad's doing, his thing.

Speaker 3:

do you see? Some OG developers and even some functionals that used to be able to do development fall out or fall off of the wagon as AL progresses. Honestly, not really Okay, I think I.

Speaker 4:

So, yeah you go, let me say that it's not more than I witnessed in the CAL world. I remember a developer who, in the CAL world, I remember a developer who in the CAL world, actually at some point said I'm done, there are so many different changes. Every release which then back in the days, came out every two years. But he could not follow and he said, well, I'm going to be a functional consultant instead. And today he's still an application manager for Business Central and a customer. But there is just an exception. I mean, most of the developers keep up, or at least partly, but what I see is that most of them are more and more specialized. You have the developers who specialize in everything around projects, jobs, or everything around manufacturing, or around inventory and item tracking and whatnot, or finance or reporting, if there is any developer who likes it. So they're more specialized in a certain area, or two or three areas, but not all of it. Okay, that used to be different in the past, okay.

Speaker 3:

I agree with that.

Speaker 1:

Because I've come across some developers that are just struggling to yeah, like even right now keep up with some of the new features. But I think just knowing, based on their history, are typically where they can do all of it. Now they're having to pick in one area to be good at. I think that's what you're saying, aj is that you've got to be more of a specialist with the modern AL.

Speaker 3:

Absolutely. Actually, when Brad asked the question how you keep up, we don't, or at least I don't. I don't keep up with everything. It's as simple as that. I just pick my things that I try to be good at and that's where I will specialize in. You pick your battles Mostly stuff that I need in my daily job. Like last year, I've been diving a lot into telemetry because simply, I needed it. We had a big problem at a customer and now we are extending that to following up on the product and all that performance, but also just application stability and all that with telemetry, and try to now make that available to the entire team as well. So yeah, then you need to dive into that.

Speaker 1:

Yeah, just based on the need is when you're diving into. Okay, what are the features based on my need and what can I do with it? Okay, All right.

Speaker 4:

This is the funny thing, actually. So, while there'll be an example here, but I've seen that with more people For a while, I think, more and more involved with telemetry. And now you're appointed kind of an expert and I mean, yeah, look at your session at Tech Days. I mean that means that you quickly evolved over, let's say, a year, while telemetry was already there. For what is it? Two, three years.

Speaker 4:

So in the beginning you ignore it. I think BC16. In the beginning you ignore it and now you're jumping onto it and I see that personally. I mean there are topics that I ignored for a while and then at some point it becomes relevant and then I jump onto it and say, okay, now I'm going to learn everything that is around this, which means that you have to leave other things go. I mean you have a certain number of hours in a day, right, but yeah, there are so many other topics that I would love to learn more about, and I think that goes for every developer and every technical person in the Business Central world. Yeah, it could be that next year you're doing something completely different still in Business Central.

Speaker 1:

Just a different focus. Have you guys gotten into designing your extension that could work with Power Platform? It seems that you know we've had some I've come across some of the developers where they're starting to think about Power Platform. How can a Power Platform consume my extension? Have you guys gotten into that space yet?

Speaker 3:

Actually the last couple of months. Uh, we have because we, we are developing a product for another company involving power platform. Uh, power apps, if I, if I'm not mistaken, could be canvas apps. I think, canvas apps with business central and a quite high level or quite no, not high level deep down integration to it. So, yes, learn new stuff.

Speaker 4:

Yeah, I've been in the same place. A couple of years ago, I actually created a Canvas app from scratch with Business Central data. Back in the days we did not have synchronization to Dataverse, so everything was working with APIs directly on Business Central. Yeah, I've been there, so everything was working with API directly on Business Central. And these days I'm quite deep into Power, automate and approval flows and many things. You think. How could I even think that this is a good idea?

Speaker 3:

I spent the better half of the day on Wednesday in Power Automate and my conclusion is not my happy place.

Speaker 4:

I have a session that goes like lessons learned from using Power Automate with especially focused on approvals, and one of the first slides is like because you can does not mean you should, and what I'm saying there is hey, look, you can do a lot in Power Automate. You can in Power Automate. Maybe you can maybe replace a complete code unit of kind of functions in Power Automate and you can maybe replace a complete code unit with kind of functions in Power Automate and expose the APIs and do everything in Power Automate. But because you can do that, it doesn't mean that it is a good idea to do that. But hey, if you are a Power Automate developer, then you're doing it in a way. I mean, if you have a hammer, every problem looks like a nail. That's simple.

Speaker 1:

Yeah, I'm always curious about that, for, you know, I struggled in getting into part automate myself because then at that time I didn't know how to manage diversions of it and because it was such an easy access to many I mean, it was kind of sold. You know, it's like, hey, anyone can do this, right, it's just plug and play. And it created a bunch of different power automate that you. You know, people didn't have visibility of who created what. You know, people didn't have visibility of who created what. And then whenever someone leaves, then it would, you know, someone would complain that, hey, something stopped working. Well, someone created a Power Automate, so you didn't get that visibility. You know, of course there's some methods around that now, but you know, but it kind of created that just like similar to what you're saying Waldo, nav 2018 in BC14, where you could do it. I mean, it was a habit that many had and now they have to kind of break out of that and just build in extensions.

Speaker 4:

But yeah, A funny question, or funny just an observation maybe. But if you have. But yeah, funny question, just an observation maybe. But if you have AL developers not knowing a lot about Power Automate, for example, and you have a Power Automate, they're not called developers because there's no code, right? Citizen, developers Citizen developers but the citizen developer has developer because there's no code right.

Speaker 3:

Citizen developer.

Speaker 4:

Citizen developer. But the citizen developer has no clue about AL code, and now you need to come up with something. If you would ask the two persons individually how you're going to solve this problem, you are going to get completely different solutions, and if you put them together in a room, it will probably still be hard for them to come up with something that they both feel confident in and confident in. This is a lot of.

Speaker 1:

That would be a fun exercise. That would be a fun exercise for anything, for anything.

Speaker 3:

Solution Christopher actually put the finger on the wound. I don't know if that's an English expression. That's how we say it in Dutch salt in the wound yes, salt in the wound, or finger in the wound?

Speaker 3:

no, not really, or finger in the wound. The thing is that whatever you do, power related just as a citizen developer, and a citizen developer only you basically make it break the moment you leave the company. And if you do not make sure that you set it up correctly and then we're already talking more technical than the average citizen developer is capable of well, then then yeah, if you want to set it up correctly, then you have a decent setup. You need to set up, I mean and maintain and all that. It's not easy.

Speaker 3:

I always compare it with Word, like if any customer wants us to do anything power, I'm always telling them no, simple, I can help you, but it's your solution and you're going to have to maintain it and all that. Right, it's the same as Word. I'm not going to write your document. I can tell you how to write the document, but I'm not going to write it, you know. So your Power Automate solution, your whatever solution, power App, whatever you come up with, it's your solution. I can create a template for you, whatever, but that's it, and you're going to deploy it. You're going to have to maintain it and if someone leaves, you're going to have to manage it you know what I mean and that is.

Speaker 3:

I mean there are ways around that. I mean there are ways around that With DevOps you can set up pipelines implementing on a decent way the deployment of Power Apps and Power Automates. It's not easy. The Power Platform is getting there, is really getting there, but it's not easy at the moment. But it is possible and you can get your way around that so that things are managed in a certain way. But I can, I can promise you out of the box are are mostly at companies. This is not managed and this is very much unmanaged, and there are things running at local accounts that you don't know of and things happen to go very well and then all of a sudden they don't, and then figuring out why it doesn't run anymore when there are a gazillion power automates spread over multiple accounts running and not running anymore. I don't know. And that's what we are creating in that, if we are not careful, power Automate spread over multiple accounts running and not running anymore.

Speaker 3:

I don't know, yeah, and that's what we are creating in that if we are not careful, if they are not careful because we actually don't know, right?

Speaker 2:

No, you see, people leave and everything stops working. I can't tell you how many times I hear those questions that this stopped working. You found out, somebody set something up.

Speaker 4:

So it goes back to. I totally agree with Waldo.

Speaker 2:

Yeah, oh, we have to mark this on the calendar. The day that you two agree, but it goes back to what you had mentioned before about simplicity. Sometimes, in this case, you talked about the power platform and be able to power automate instead of some of those tools. The simplicity or the perception of simplicity of setting it up, where somebody could just set something up, actually can come back to hurt you as well exactly, exactly, it's the same story it's, it's just moved yeah simplicity and easy can sometimes create chaos in long term because it's anybody can just jump in and do whatever I put it on twitter somewhere, somewhere last couple of days, like I multiply everything by 300 always

Speaker 4:

no, it was not on Twitter, but our.

Speaker 3:

WhatsApp group. And then I try to ask myself am I still able to support, if this would be 300 cases, like 300 records maybe, or 300 customers, or or 300 users, or 300, whatnot Would I still be able to do the job that I do today, the same way that this would be 300 cases? Hybrid development Would I be able to maintain 300 hybrid customers? I don't think so. That's why I don't want to do it Right. Would I be able to maintain 300 spread power automate solutions? I can't. I would never be able to do that, so maybe that's not a good solution. Can I maintain 300 pipelines? Yes, I can, because that's very centralized, very templated thing to do. So that's what I always try to convince myself Is this a good idea or is this not a good idea?

Speaker 2:

No, it is a good strategy, because what is it you made me think of the other saying? It's like sometimes the most permanent solution is the temporary solution where somebody will put something in just to get through today. And then that ends up becoming the process, and you know, then everybody has to work around and try to fix that and instead of fixing the process of what they originally put in it's that temporary fix becomes the permanent fix. And it's that fixing things around that itself, you know and it builds for years.

Speaker 3:

I think you don't want to know how many business-critical processes are running on prototype code.

Speaker 1:

I think we all come across those, oh yeah.

Speaker 3:

I'm my own as well, but yeah absolutely.

Speaker 4:

There is that decathlon or a complex machine and a very tiny part of it in the bottom. You think that is important. When you pull it away, everything is uh, is uh, it's not well, certainly not working anymore. Everything falls apart yeah, I don't remember that, yeah, and that that is also maybe historical knowledge. If somebody new comes in and thinks that's not important, why would I do that? That is the other story where you have a couple of monkeys in a cage and there is a banana hanging in the top.

Speaker 3:

That's a long story, by the way. I can't make that quick.

Speaker 4:

It actually applies to Business Central. It goes like one monkey reaches to that banana and then they get a shower. Another monkey tries to do it, they get a shower. So another monkey tries to do it, he gets a shower. And everybody all monkeys get a shower right. And then at some point they find out. So if we reach out for the banana we get wet and we don't like it. So what they do is when a monkey tries to reach out for the banana, they pull him back, they stop him and then they replace a monkey.

Speaker 4:

There's a new one in. He has no idea about the banana and the shower. So first thing he does is grabs the banana and then the whole group is jumping on him. Don't do that. And then at some point the whole group is jumping on him don't do that like, and then at some point the whole group was replaced. Nobody of the original gangsters, original monkeys, are in the group and they're still stopping each other from grabbing the banana, but nobody has an idea why. Nobody experienced the shower. So that kind of goes in the business center world as well, I think, like we are doing something but nobody has an idea anymore why. It has always been that way until somebody says why, what the heck? What is this, what is this? What is this piece of code, what is it doing, what is it meant to do? And then we always say, oh yeah, we never thought about it, we always did it this way.

Speaker 1:

That's a good point because you know, when we have younger talents, they do ask more questions and you realize that's right. I don't know. That's how I've always been taught.

Speaker 2:

Well, I think Waldo said it best at one point in a previous conversation about the knowledge that you have, or what you know is the poison. What did you say before? The poison, yeah.

Speaker 3:

Not knowledge but experience. Experience is basically a poison to your whatever you're going to do in an IT world right, because you know probably the right thing to do is probably something that we didn't learn yet to do. And yeah, it evolves so fast that it's basically every single upgrade. I have the same conversations like yeah, we are doing an upgrade. Customer goes from a version, let's say CAL, to AL, but has an interface. Oh, that interface is a file-based interface, so let's do that again. Why? Because we know how to do that. It's a file-based interface and it worked. Yeah, but you're upgrading. Maybe you could upgrade the way you're interfacing with this piece of software. And the concept of upgrade sometimes is just a version number of the software you're upgrading and not the process that was implemented in the previous version of the upgrade. It's an ongoing conversation every single time that I have with customers, with even consultants.

Speaker 2:

So with all this, I always have the age-old question. I keep asking it, rhetorically or not how can you keep up with all of this? Technology is going so quickly and it can be so rough.

Speaker 2:

I don't even know, it's just. I find it difficult. You know, even just with the al language, never mind also with the business central and the functionality and technology. Before we had everything encompassed or encapsulated within the application. Now you expand it out to power platform. Now you expand it out to APIs. Now you expand it out all over the place. If you're somebody who worked with development in Cal back before, where we talked about you had that blurred line of functional consultant and developer, in a sense because of the simplicity of it, how do you start to one keep up with the application and still continue to work, whether you're talking about development or functionality, but then also draw boundaries around what you know? Because if I spend more time trying to learn Power Platform and AL development and the functionality of the application, do I know a lot of a little about a lot. And is that enough? Or should I start focusing on AL development and keeping up with the language, keeping up with the functionality and letting someone else keep up with the other stuff?

Speaker 1:

I think Waldo had a really good strategy he had mentioned earlier is that you keep up with it. That's at least how I interpret it. You keep up with it when you need it, or when you're working on something and you actually need it, and that's when you keep up with okay, I'm working on this. What are the features around this that I can do to solve this problem or create a solution?

Speaker 3:

Yeah, that seems to be, and AJ pointed it out. It seems to be what I do, that whenever I need it, I'll dive into it. But how do you know?

Speaker 2:

what you need.

Speaker 3:

This is where it gets into that question is because, if you're in, a space.

Speaker 2:

Go back to your file management. If I'm not aware of the new functionality of an API to exchange data or to you know you pick any of that.

Speaker 3:

Yeah, but awareness is something different than knowledge, right? So I think it's easy to be aware of stuff, like it's easy to be aware of what a power app and a power automate and power bi can do. It's a little bit less easy to be aware of what it cannot do. Uh, and I? I try to ask that question always, like even with the co-pilot. Now there is cop out all over the place, okay, and you have these crazy ideas from all people. But the first question we need to ask okay, but what can it not do? What can't we do with co-pilot? What are the limitations? What will we be hitting?

Speaker 3:

Very obvious answer there for co-pilot is data interpretation is an obvious limit at the moment. It doesn't understand my gln3, it doesn't understand my two terabytes of data that I have in in in the database. Just able to talk to me. That's it so and that's all. Do I need to have the knowledge on how to talk to it? No, do I need to be aware what it can and cannot do? Yes, I think that's still easier to make those, let's say, choices from the moment you try to talk to it. I mean, same with Power Platform. I'm pretty well aware what it cannot do, which makes me being reluctant to do too much with it as a partner. I'm always talking as a partner.

Speaker 4:

By the way, partner, I'm always talking as a part by the way I'm not talking yes, that you at least make a choice between technology a, technology B, because you are aware of the possibilities, you can make at least a calculated decision. And Brad is right, if you don't know that it exists a certain technology, you're not taking it into consideration. You probably do it in a less optimal way. So, yeah, you need at least to be aware of other options and I agree again with paulo, you need it is not so difficult to be aware. I mean, if you take in your, let's say, weekly, a number of blog posts, news etc. Um, watch some videos. You don't have to dive into every detail. If I look at the watch new videos from Microsoft around the release, I don't watch all of them. I pick those that I think are relevant and for others I probably do a quick view or say well, I know that there is something around this or this topic, so I hope I remember that next time that I may need it, but that's it.

Speaker 2:

So that is a way to keep up and it's the awareness point of it. That's something that I tried to follow because I found I couldn't keep up, and it's the awareness point of it. That's something that I tried to follow because I found I couldn't keep up with it, and it is to at least have awareness. To say how I remember. Now, how I remember what I'm aware of is another story, because sometimes I forget what I'm aware of.

Speaker 2:

But you know, the dinosaur brain doesn't have it, because at one point I know, personally, I tried to keep up with it all, in a sense of you know, knowing how to do it, how to work with it, and you just end up running yourself in a circle, I think, because the change comes too fast and it's, you know, not practical to know how to do it all, but at least if you know, ok. Well, if we come across a file transfer, now there's a new way, maybe there's another way to use an API to send the data or something Right, just as an example. So it is a challenge, it is a struggle and, again, how far do I go? You know?

Speaker 3:

and that's why I'm at now. And maybe you set your bar higher than I. I mean, when I tell people, hey, there is going to be contract management and subscription billing in the next version of Business Central, then people might think, oh wow, he's an expert. No, that's all I know, Nothing more at all. Yeah, no, it is good. The awareness is good.

Speaker 2:

Yeah no, I started sleeping better at night, going with that kind of philosophy, where I'll even say I started messing around with power automate and power platform and creating some of those flows early on, and then I finally said you know what? I know they exist. If it comes into a place, I'll say, hey, can we use one of those for this?

Speaker 2:

And then talk to somebody who knows a little bit more about it than I do you know to see if it works, to see if it works, and I find that's a better way, at least for me, to work through all of this from a dinosaur perspective, or even from someone who would be new to it, because again, for them it'd be the same case. The sea is getting bigger with technology.

Speaker 4:

It's not getting smaller. So I'm thinking what is knowledge? I mean knowledge that you can recall immediately the moment you need it, Like you know exactly how to start a new app, you know how to work with events Just these things, the daily development tasks. Just these things, the daily development tasks. But in the past I have done my work with, for example, item tracking. But that knowledge is at least outdated, it's rusty, it has vanished maybe. But I know there is something like item tracking. I still know, I'm still aware of it.

Speaker 4:

I've not used it for maybe two or three years now, but the moment that I need it, I need to dive in because I know it is there and the first thing I will do is maybe look up any changes. Did something, was something released? It will take some time to gain the knowledge the moment you need it, but I cannot carry it along all those years. I mean your memory, what you need for your daily job. I think it's quite limited. You cannot remember everything. You're not a hard drive. You don're not a hard drive. You don't have a hard drive in your head.

Speaker 3:

Now we have central Q, so the knowledge is actually the ability to decently prompt these days.

Speaker 2:

Right yeah, the knowledge to prompt you hit on another point and that's what I started to focus on, and even with others I was talking about with the mb820 test, where you could use learn right. Sometimes it's not a matter of memorization, it's a matter of knowing where to go to find the information you need when you need it right. So it's the same thing with, like I said, with development, development in a language, a language to me. You can learn a language if I language to me. You can learn a language If I wanted to learn Spanish.

Speaker 2:

You know, if I'm a native English speaker, I can't, but I still need to understand the fundamental concept of what am I trying to say. So I think, even with development is understand what you're trying to do logically, and then you can learn how to do it if you know where to go to get the information. I'm not saying you have to go look at code and copy it, but at least you can learn how to do it if you know where to go to get the information. I'm not saying you have to go look at code and copy it but at least you can go and learn how to understand the syntax of a language.

Speaker 2:

Yeah, it's more than just syntax, of course but yeah, yeah, well, I'm keeping it simple, just for my simple mind, this morning, it's Friday anyway. Yeah, it's Friday and it's already been a disaster for me, so, uh, you know it's power for the course.

Speaker 3:

it wouldn't be a friday if it wasn't right um, I must say now I was thinking about this earlier uh, all of this, dinos, dinosaurs, things haven't been easy right the last couple of years, because I mean, there was a new language and we had to take this extensibility into account, and then all of a sudden, um, there is like something like source control that is mandatory because we cannot work in team without source control anymore.

Speaker 3:

And then now also, microsoft is applying all these new things, like every month an upgrade, breaking changes, and now all of a sudden, we need to learn all that new stuff and apply it all at once as well because of these changes, of these breaking changes and all these things. So, yeah, I can't say we are not struggling like with that, trying to implement our own product, try to be made that's repeatable, trying to be, uh, next major compliance, try to not break. But in, in, in the same thing, try to align with microsoft breaking stuff, our stuff. Uh, in the same thing, try to align with Microsoft breaking stuff, our stuff, in the line, implementing all of these things. Now, just imagine Microsoft would not do that, that the product would just be the product and we would get the time to align ourselves with all this new stuff. It's not just aligning ourselves, it's also just implementing that because we have to, because Microsoft is doing stuff along the way as well. So I mean, yeah, give us a break.

Speaker 2:

Yes thank you.

Speaker 1:

A one-year pause.

Speaker 2:

There is something to be said, with slowing down a little bit. Do you really need to go that fast to keep up with the competition? And what I mean by fast is put in a lot of these things that they're doing Exactly.

Speaker 3:

One year it's power all over the place and the other year it's co-pilot all over the place. What is next year right?

Speaker 2:

It will be something different. Scary. The boat shifted, the boat shifted, the boat shifted. Co-power next year be some sort of remote control robot or something, I don't know. Um, so that's wild. Well, waldo and aj, I know it's Friday afternoon, it's almost beer time. I know you drink a lot Wine time, coffee time, whatever you have over there in the afternoon Beer time. It's going to be beer time this evening.

Speaker 2:

yes, yeah well I wish, I could, I'm ready for a beer right now. To tell you the truth, I'm sorry, just pretend you're on the other side. I think I'm sorry. Just pretend you're on the other side.

Speaker 1:

I think I'm about to.

Speaker 2:

I think I'm about to pull myself a whiskey.

Speaker 3:

It's five o'clock somewhere right.

Speaker 2:

I can change my clock on the time zone. Thank you both for taking the time to speak with us. I really do appreciate it. It was insightful. I always enjoy talking with you. I always enjoy talking with you and appreciate the comedy too, and I also look forward to seeing you both at Days of Knowledge in Atlanta, which will be coming up in September.

Speaker 3:

Looking forward to that.

Speaker 2:

September 12th to 14th in Atlanta, Georgia. Everybody else should attend and participate and then be able to sit down and have a beer after 5 o'clock with everybody and have continued conversation.

Speaker 3:

At Atlanta time. At Atlanta time.

Speaker 2:

Well for you, you could have it earlier, because you could say it's five o'clock back home.

Speaker 1:

I'm staying on the time zone.

Speaker 2:

Let's start our workshop.

Speaker 3:

Let's start our workshop. Until then, if anybody would like to contact you or see more about some of the great things that you're doing. How can they contact you or see some of the great things you have been doing? Oh, my website, waldobe and on Twitter.

Speaker 2:

Excellent, we'll put the links in the show notes.

Speaker 4:

How about you. Aj Twitter, linkedin, my website LinkedIn. Yeah, kaufmannl, double F, double N, but yeah, linkedin Twitter works pretty good.

Speaker 2:

Yeah, I'm a big Twitter fan these days. I like it. A lot of people don't like it, but it's like a place to let loose, it's good. Yeah, I'm a big Twitter fan these days. I like it. A lot of people don't like it, but it's like a place to let loose, it's good.

Speaker 3:

You know, what's amazing is that CentralQ also reads tweets and the amount of actually answers it gets from Twitter is actually quite amazing. Wow, really, wow, yeah. So yeah, let's keep on tweeting.

Speaker 2:

Yeah, absolutely, maybe we can put some code in there. I had some things I wanted to try on Twitter.

Speaker 1:

Yeah, collective memory.

Speaker 2:

No, that's good, I have to.

Speaker 4:

And maybe one of the places you should go to if you want to know something that you don't know. Twitter Like how do? I ask that question to Central Q. You will at least get an answer.

Speaker 2:

That's good. I'll have to try that Well again. Thank you both, and I hope you have a great weekend.

Speaker 3:

Thank you, you too Thank you, thank you for having us.

Speaker 2:

It's all right. Ciao, ciao, bye-bye, see you soon, bye. Thank you, chris, for your time for another episode of In the Dynamics Corner Chair, and thank you to our guests for participating.

Speaker 1:

Thank you, brad, for your time. It is a wonderful episode of Dynamics Corner Chair. I would also like to thank our guests for joining us. Thank you for all of our listeners tuning in as well. You can find Brad at developerlifecom, that is D-V-L-P-R-L-I-F-Ecom, and you can interact with them via Twitter D-V-L-P-R-L-I-F-E. You can also find me at matalinoio, m-a-t-a-l-i-n-o dot I-O, and my Twitter handle is mattalino16. And see, you can see those links down below in their show notes. Again, thank you everyone. Thank you and take care.

People on this episode