All Episodes

July 29, 2025 76 mins

In this episode of Dynamics Corner, Kris and Brad "dive into the pool" of Business Central with expert insights on performance tips and tricks that can transform your business operations. Microsoft Business Central MVP Stefan Šošić shares invaluable advice for developers and users alike, highlighting the importance of understanding both the technical and functional aspects of the platform. Beyond the technical talk, we are reminded that there's more to life than just business. Listen to the full episode for a blend of professional wisdom and personal stories that inspire and uplift.

Send us a text

Support the show

#MSDyn365BC #BusinessCentral #BC #DynamicsCorner

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

Mark as Played
Transcript

Episode Transcript

Available transcripts are automatically generated. Complete accuracy is not guaranteed.
Speaker 1 (00:00):
Welcome everyone to another episode of Dynamics
Corner.
You know, brad, I've beenrunning lately like 10k every
other day and you know what Ilearned?
A little bit about performance,and I think we're going to talk
about performance.
I'm your co-host, chris.

Speaker 2 (00:16):
And this is Brad.
This episode was recorded onJuly 3rd 2025.
Chris, Chris, Chris, 10K everyother day that rhymes it does.
And yes, today we did have theopportunity to talk about some
performance tips and tricks forAL development, as well as some
other things such as water polo,With us today.

(00:37):
We had the opportunity to speakwith Stefan Sosich all right,

(00:59):
good afternoon are we gonna?
Get it right this time.

Speaker 3 (01:03):
Yeah, I hope that now it's fine, it's fine, now,
thankfully, it's fine.
How is the?

Speaker 2 (01:10):
refrigerator.
It's working, it was a littletouch and go this morning
because I had texted Chris ashort while ago and I had
messaged him that I may be okay,because he was finishing up
Yesterday, he was not able tofinish.

Speaker 1 (01:29):
Yeah, you know it's funny.
It sounds like you got like youknow this funny joke with
someone prank calls you and sayshey, hey, brad, is your
refrigerator running, it is.
You better go after it.

Speaker 3 (01:43):
Well you know, just to set the the stage.

Speaker 2 (01:45):
This is our third time trying to do the recording.
The first time we had technicalissues with the platform so we
had to reschedule.
Then we rescheduled it foryesterday and my refrigerator
shorted out and they weresupposed to come service it in
the afternoon, but they showedearly.
They showed up at the exactsame time we were supposed to
record.
So he was here, he was workingon it, went through it and then

(02:09):
said, oh, I don't have the part,I'll come back tomorrow.
And I was like, are you reallycoming back tomorrow?
So no, he goes, I'll be herefirst thing.
So he came here first thing thismorning.
He replaced the part that hethought was broken and then it
still didn't work.
So then he goes, I have todrive to the office to get
another part and I'll be backand I go.

(02:31):
Where is your office?
Like how far is it from here?
I didn't think I'd see himagain and, uh, sure enough, he
showed up and he fixed it and itseems to be working.
I don't know, because if it's arefrigerator you have to wait
for it to cool.
I'm more concerned about theice maker, to be honest with you
, because in order for him tofix it.
He had to pull the whole icemaker out.

(02:51):
You know how ice makers are intheir refrigerators, yeah, so he
just finished up a few momentsago.

Speaker 3 (03:00):
I was touch and go, touch and go, but now I'm better
, so nearly so reschedule oncemore if we would have had to
reschedule again, I wouldn'tknow what I would do.

Speaker 1 (03:09):
We appreciate your patience.
Yes, it's a true testament.

Speaker 2 (03:15):
Your flexibility and your patience have been great,
because we've been able to talkevery single time but just not
able to record.
So we do appreciate you takingthe time to speak with us, and
congratulations on your recentmbp as well, which is a is a big
and notable accomplishment.
It's well deserved for you aswell.
And before you get into theconversation, would you mind

(03:37):
telling everyone a little bitabout yourself?

Speaker 3 (03:39):
Yeah, a lot of career paths, so to say.
So I started in QA side workingfor a gaming company, something
like that, and then afterwardsI started with Navision back
then, then early steps ofBusiness Central.

(04:00):
So me and my colleague startedworking with it.
So even the bugger didn't work.
So it was like first, firstversion of business central.
We was like installing it,tweaking some things, trying to
develop, but uh, yeah, at theend it was success.
But uh, I'm there frombeginning of the life of

(04:24):
business central, so to to say,and committed to it from the
early beginning, and that's, Ithink, also one of the reasons
why I'm here like a professionalin that part.
So, yeah, generally now workingonly with Business Central,
sometimes Navision, of course,working only with Business
Central, sometimes Navision, ofcourse, but preferring Business

(04:45):
Central to use most of it, allof its new benefits,
technologies and everything.

Speaker 2 (04:52):
So yeah, yeah, the technology is improving.
It's great, and I know what youmean there are still.

Speaker 3 (05:01):
Navision customers out there.

Speaker 2 (05:02):
I know of a Navision 2009, but it's actually not even
2009.
It's version 4 on the 2009platform.

Speaker 3 (05:11):
I think we were also now at the MVP Summit and I
think one of MVPs or I'm notsure somebody at the group
mentioned that he still has acustomer running on DOS.

Speaker 1 (05:26):
Oh geez Wow.

Speaker 3 (05:30):
So it's going far as that.

Speaker 2 (05:34):
It's going.

Speaker 1 (05:36):
I thought AS400 was bad enough.
No back on.

Speaker 3 (05:41):
Yeah, but a lot of customers are now going to that
path.
Uh, I see a lot of upgrades,even with the partner I am
working on now and that wholesituation changed
straightforward and lookingforward more and more customers
to get on the cloud.
But still on the cloud.

(06:03):
But still some big issues, bigchanges, big things to be done
and some challenges to beresolved.
So we will come there, but,yeah, it's a path that we need
to cross.

Speaker 2 (06:15):
Yes, yes, I mean, I think at that point, if you're
using those older versions, Ithink a re-implementation is the
way to go, instead of trying toupgrade or something like that.
Because you just have a strictchallenge.
You also do quite a bit fromthe technology side with it.
You share a lot of interestingarticles.

(06:36):
You write a lot of interestingarticles as well.

Speaker 3 (06:40):
Yeah, sure.
So I'm more into developer side, also functional bit, but even
more last year's, but experts,so to say, in the development
area.
And I started also with someAppSource, free apps to develop

(07:00):
some add-ins, json add-ins, sothere are some cool free add-ins
available there.
But also I wanted to step upmore and got into the whole
community and started writingblogs alongside with all the
conferences.
And yeah, yeah, the conferenceslike aren't too hard, because

(07:26):
at the faculty when I wasstudying, I was like teaching
out of faculty like for twoyears and during those teaching
period so there was one exam, soto say, regards information
systems.
So we was able to do sometweaking and changes at the

(07:50):
faculty with other professorsand so on, and we we brought the
business central as a fullsemester like course.
So now now they are likegetting the course of Business
Central.

Speaker 2 (08:07):
So this is at a university where they're
teaching Business Central.
Which portions are theyteaching?
The functional aspect of it, orare they teaching the
development?
No, the development.

Speaker 3 (08:18):
There are functional parts, but the course is
regarding development.
So it is like the story ofinformation systems, air systems
and so on, and then, from thepractical side of that course,
there is business dentro.
That follows that theoreticalknowledge, so to say.

Speaker 1 (08:40):
Yeah, we were just talking about that, brad, like
you know, like here in the us,where you know there's a couple
episodes ago, where can youimagine if there's actually an
ERP course and just a process ofimplementing an ERP?
Now you could use BusinessCentral as a tool as you're

(09:01):
teaching that class.
I think it will benefit theindustry, to be honest with you,
because no one ever knows whatis an erp, only way after,
because you're using it the mainchallenge also is like finding
good people, like gooddevelopers, and if they don't
have any knowledge about erpsystems, it is really hard.

Speaker 3 (09:23):
And at this point, now that they have, like course,
the whole semester, they end upwith some knowledge and it's
easier.
They start like junior not notnot like junior in any
programming language, but juniorsays business central and they
are able to start working on itright away.

(09:44):
So not knowing the processes,of course, and what's behind,
and so on and so on, but it isstill one path is still crossed
and it's easier to overcome allthe challenges in Business
Central, so it's easier for usto train them, and so on.
No, it is, I think.
I do think in Business Central,so it's a new world for us to

(10:06):
train in.

Speaker 2 (10:07):
It is, I do think, with Business Central and AL
development, to focus ondevelopment.
I have a lot of questions fordevelopment for you, but I think
with AL development it's notlike other languages in the
sense of being able to pick it.
I mean you can pick it up anddevelop and be able to do
something with it.
But to be able to pick up anddevelop and to do something for
the application is muchdifferent.
Because one of the challengesand I like the approach that you

(10:32):
had mentioned where you learnand, chris, this goes with what
we're talking about you learnbasic business and ERP
functionality first.
Then you can develop.
Because business centraldevelopment you're already
developing on a framework.
So it's a language, it's apowerful language.
You could create separatestandalone functions per se

(10:53):
right or standalone applications, but to get it to be productive
with the application you haveto understand that framework
first, so you have to understandthe relationships to it.
So yep it's.
It's that's one of thefoundations of what I try to
emphasize to someone who's newto development or someone who's

(11:13):
looking to get into it.
Because how do you say like, oh, I want to be an al developer.
A lot of people want to.
You know, do python c, sharp,java, you know, pick all the
other languages, node.
But with AL for someone to getinto it, it's almost like how do
you entice someone to want tocome into that space outside?

Speaker 3 (11:36):
It's challenging, like I have a lot of developers
behind me and training and beingtrained by me, and it's a long
road, so to say, and like firstthree months you can determine
if somebody is able to do thatand if he likes it and if that

(11:59):
matches, then you successfullycontinues.
But then it's slow progressbecause, as you said, everyone
can code, so the syntax is likestraightforward, you can learn
any programming language syntaxand that's it, so that that's
not so like main challenge ofprogramming, it's programming

(12:20):
logic abilities to solve theproblems, how you you understand
, how you would basically makethe architecture and so on and
so on.
So much deeper.
It goes much deeper and I think, like for most of the people,
when they learn like AL asprogramming language, they think

(12:42):
, okay, now I know, so now I amnot a junior anymore, but that's
not true.
Like then then they spend likeone more year learning, learning
, learning.
So we have like experience likeeven after one and a half year
until two years, uh, so thenthey see like in the past oh, I

(13:04):
didn't know that, so it's.
But it takes time also tounderstand like what you didn't
know, because at some point youwould see yourself like I know
everything.
But that's because you take alook on your technical side,
like programming, and that's it.
But the functional side, that'slike smashing you.

(13:24):
No, that's, that's like they'relike smashing you no, you're,
absolutely.

Speaker 2 (13:28):
you're right, and that's that's the point is, I
think, to be a technicaldeveloper, I mean you don't have
to know every little piece ofit, but I think you need to have
a good understanding of theframework and the functional
aspect of it, because how canyou properly develop if you
don't know the process?
Because even adding a field toa sales order header, if you

(13:50):
don't understand the postingprocess and how it flows through
properly, you can find yourselfin a jam quite easily with that
.
So, with that, you're workingwith a lot of developers who are
coming into the AL languageyeah, of developers who are
coming into the AL language.
What are some tips based on theexperience that you have with
the group that you've beenworking with?

(14:10):
What are some tips that youhave for someone?
Or what are some suggestionsthat you have, or even some
challenge you've seenindividuals come into that will
help someone on their journey ofAL?
And then, with that, how do youattract people to AL?

Speaker 3 (14:27):
I ask a lot of questions.
Yeah, like I said, it's tricky,but yeah, you don't start like.
I heard some stories from otherpartners in Serbia that their
juniors usually start withreports, which isn't really too
much interesting it starts witha report.

Speaker 1 (14:52):
Don't make them run away, just kidding.

Speaker 3 (14:54):
Yeah, and most of the people actually run away, or
after some years they end uplike knowing only reports, or
like they end up like reports,or like they end up like saying
to others like, oh, I had areally boring part of my career
starting with reports only, andI I heard that a lot, even from

(15:15):
developers who started before,who are now seniors and so on,
that they started also theirpath with reports only.
So we start here with somesimpler functionalities, some
interactions with the data andgraphical interface, and so on

(15:37):
and so on.
Then we move forward and atsome point I usually like to put
some add-ins and so on, becausethey interact maybe with
something which is, for them,familiar, like HTML, javascript
and so on.

Speaker 2 (15:54):
So you're talking control add-ins, so that
somebody could add a usercontrol add-in to the
application.
It's actually cool.

Speaker 3 (16:00):
They connect those two and then it's more familiar,
more interesting, they havemore interaction Because when
you see, like other programminglanguages you can change like
colors and everything Like dographical changes and UI changes
, so to say, and from BusinessCentral you do only background,

(16:21):
like back-end development, so tosay.

Speaker 2 (16:25):
Some people like that .
They like that you don't haveto worry about creating the
forms or the pages, as we callthem.
You just put the objects or youput the fields on the page or
whatever controls that you have.
I call them and it does thelayout for you.
It resizes it, repositions it.
So it does make it a little biteasier that's what I said, like

(16:48):
on the beginning.

Speaker 3 (16:48):
Like you have like three months and you will see,
like, if that new new guy isfitting, like in this area.
So some of them don't, some ofthem don't, some of them, yes,
they fit and you will see thatacross someone.
So, yeah, it's not foreverybody, but also I like to

(17:14):
say that you should do what youlove to do and then it's easier
for you to come to work and tospend, because for Business
Central you need like a lot ofdedication, you know, because a
lot of changes come coming, uh,in the weeks, in the months,
even even, and to follow each ofthose on top of what is already

(17:39):
being released is a lot and youneed really, really good
dedication and motivation.

Speaker 2 (17:46):
You're saying what everyone is saying right now
it's great, the product is great, there's so many features and
functionality to it, but it's,as I keep saying, we're at the
point now where not only arethey changing the language every
month, they're changing theapplication every month.
So it's depending upon whichversion you're working on.
Sometimes it's challenging tosay, ah, did they introduce this

(18:07):
new development?
Uh, you know data type, forexample.
Oh, this came out in 26.2, not26.0.
So it's uh, it is tough and itdoes take a lot of dedication,
but if you have fun with it,like you mentioned, then it
doesn't become work, as they say, it becomes fun.

Speaker 3 (18:24):
It will.
From the functional side itwill become even, so to say
worse, but actually better,because I'm actively working
with Microsoft product team withcontributions for Microsoft
apps, so they're mostly from myside, and we are seeing more and

(18:48):
more partners, developers,joining for some pull requests.
So imagine that in a few years,everybody opening some pull
requests to fix some issues,some functionalities.
So it will grow even faster.

Speaker 2 (19:04):
I like the ability for contributions for
functionality and again, I'mrepeating myself here, but you
and I haven't spoken about this.
I know, chris, and I have.
I like the ability forcommunity members, partners or
individuals to be able to createpull requests to, to add
functionality and to alsocorrect functionality that may

(19:27):
not be working quite properly.
My only fear is there will betoo much, because how many
things can you add into anapplication where it becomes
very difficult to configure,whereas you have so many setup
options?
And from a user perspective andan implementation point of view

(19:50):
, we add all these features andfunctionality and I hate to
bring up AI or something, but wealmost need some sort of
dynamic wizard to help somebodyset up all of these new
configurations that get added aswell, because that
functionality can vary quite abit and I don't know, to me
sometimes it could be a pointwhere it's too much Maybe I'm

(20:11):
just getting old and it'soverwhelming.

Speaker 3 (20:14):
But there is a line like each new feature like which
is getting in base app isapproved by Microsoft.
So if it is fully new featurelike, then it needs to gather
some votes from the community.
So is that really somethingthat whole community will

(20:34):
benefit from?
So if that functionality isonly for yourself, that doesn't
make sense.
So the main point basically ofthe contribution is to bring new
functionality which wholecommunity will benefit from.
And then that's the importantpart that the first that

(20:56):
functionality idea gets supportby whole community.
And then that's the step wherewe continue with that idea and
develop it.

Speaker 1 (21:05):
Yeah, certainly.

Speaker 2 (21:09):
No, it is.
I still hope that it doesn'tget too complicated.
I just remember the old days ofit.
So, from the development pointof view and you work with the
technical point of view, whatare some of the latest
improvements in the languagethat had come out recently that
you you appreciate and they,like I know?
A lot of new features come outwithin the language.

(21:30):
What are some of the recentchanges that many may not be
aware of?
That you like I know, becauseit's very difficult, even from
the partner point of view orfrom the customer side point of
view, if you're an internaldeveloper, to keep up with it
because you're working with aversion that may not be quite
current.
Even if you're online, you maynot be out with the latest
release because you can delaythose updates several months now

(21:52):
.

Speaker 3 (21:52):
Yeah, I I think like uh from my experience and in the
past weeks so I had used themost mostly like the json
parsers, like get text from thejson uh token and so on, so
those build in now uh featuresand also the date features like
get date, get the month and soon, so that that has been like

(22:16):
pretty handy and uh for someapps.
I I did compile on the latestversion but but at the end it
was breaking on older versions.
It had to be done on twoimplementations for now.
But I think that part at thispoint is mostly used by me at

(22:39):
least.

Speaker 2 (22:40):
Yeah, and then also, I follow some of the stuff that
you write as well.
You write some very uh goodarticles and everyone, I think,
will have a link to to your blogin there and should read it too
, but I do some interestingthings.
Um, I'd like to do an articleon the test.

(23:01):
The hdp test calls that we cando now as well.

Speaker 3 (23:04):
Uh, yeah, that, uh, that's, that's also one of the
thing, and also, like, uh,mocking of the tests.

Speaker 2 (23:12):
So but whole story behind, also like for page
scripting oh, you're gonna godown a road that you're gonna
send me on a tangent I thinkeveryone loves that I'll be
quiet and anytime we talk aboutbc and we talk about page
scripting.

Speaker 1 (23:29):
I mean I swear it's.
It could be every episode,because we love it so much but.

Speaker 3 (23:35):
But there is story behind, like um, like I said,
like I started my career as qaA,then moved to development
JavaScript, php, java forautomated test in selenium and
so on and so on.
So there is a full backgroundand on the after the faculty, I
cooperated with one of theprofessors there and we there

(24:00):
are.
There is like course aboutapplication testing and we've
written the whole book for thestudents, which is also
available.
I think I put it also one partI translated on english and put
on the blog, because themethodology which is described

(24:21):
in that book is basically whatis page scripting based on.
So, yeah, the, if youunderstand the methodology, you
will be able to uh, tounderstand better page scripting
itself like uh, and uh pagescripting itself like uh.
It came like on top top becauseall the experience from

(24:46):
Selenium tests and so on, thatwas now.
I was able to do that same withBusiness Central.

Speaker 2 (24:57):
No, it's a wonderful feature and I'm looking forward
to it being enhanced andofficially released, hopefully
in the future, in a futureversion.
It's still in the preview, thepreview tag, which means many
things, but I think, witheveryone's interest in it and

(25:17):
some of the things I've seen atsome of the conferences, there's
a good future for it.

Speaker 3 (25:22):
So even now, now, since it was on the conferences,
even on the tech days.
So, uh, page scripting isgetting more, more capabilities
and new features.
So that part is not anymoreunder nda.

Speaker 2 (25:36):
So okay then you can tell us now?
Right, it was at bc tech days.
Can you tell us about some ofthe new features that are
planned and released?

Speaker 3 (25:44):
because, again, as you had mentioned, if they, if
they present it at theconference, then it's no longer
secret, I call it secret, I callnda secret true, true, because
this was disclosed and then,since it was on conference, like
you said, it's not notdisclosed anymore, but the
features like now, from what Iremember, some variables,

(26:08):
dynamic variables I'm not surelike I forgot fully, I have to
refresh myself, but there aresome big improvements, I think,
also with the properties whichyou can like on the right click,
choose and so on.
I think one thing I liked themost, but I cannot remember what

(26:30):
was it without looking on mynotes.

Speaker 2 (26:34):
The BC Tech Days videos.
I think they're starting tocome out now.
I think they're starting topublish them.

Speaker 3 (26:40):
There is a change from the past years.
This time, videos are alreadyout, but only for ticket holders
.

Speaker 2 (26:50):
Oh, wow.

Speaker 3 (26:52):
After a few months from now I think that's what I
heard at least.
So it will be publiclyavailable.
So this is just to protectsomehow the ticket holders and
to gain most of the benefit atfirst ticket holders, then
everybody else.

Speaker 2 (27:10):
I understand that that makes sense.
It does make sense because it'soften when you go to these
conferences that there's manysessions and something like BC
Tech Days that has a lot of goodtechnical content.
You can't be in two places atonce, so to be able to go back
and reference the videos andhave some time to digest them
before they're released is goodas well.

Speaker 3 (27:31):
Yeah, exactly, and then you don't have, like me, to
remember all the stuff.
I attended that session.
I know what it's about, so whenI need to refresh what's new,
what will be coming, I can justjump to that video and then
watch that part that is theworld of 2025, I tell everyone.

Speaker 2 (27:56):
You can understand something and just be aware of
it, but you have to know how tofind it, and I think that's
becoming easier and easier.
Uh, with yes yeah, not tomention that with the ai, I saw
that even now they have the mcpserver for learn that they
released the other day, uh, sothat you have all these, um,

(28:17):
just ways to get knowledge.
Sometimes I think there's toomuch knowledge, but I agree with
you.
You know, understanding what'savailable and then knowing just
knowing that sometimes can helpyou so you can figure out what
you need to get and where youneed to find the information,
which is good.
Go back to page scripting.

(28:37):
It's a question.
I wanted your opinion on this.
I get asked this question a lot,a lot.
I've done several sessions onpage scripting and I've even
talked with individualsprofessionally about page
scripting.
How do you determine?
All right, so we have unittests that we can create and

(28:58):
code from a development point ofview, and the idea of page
scripting was, again, it's notreplacing the unit development
test, it's just to give youanother user acceptance testing
mechanism.
Yeah, what should someone do todetermine?
Or how should someone determinewhat needs to be a page script,

(29:19):
for example?
Or like how to determine how tostructure the page scripts or
how to start and finish theirpage scripts?
Like what approach if someonewants to start using page
scripts and should they take touse that feature to give them
user acceptance testing orprovide them user acceptance
testing or provide them useracceptance testing yeah, that's

(29:40):
like exactly point of my book.

Speaker 3 (29:44):
Okay, like, uh, the page scripting is methodology
wise.
When you take a look, it isblack box, black box texting, uh
testing.
So you are testing something,what you don't know, what is the
code behind?
So that's like, when we take alook from the front and side,

(30:05):
you are testing thefunctionality, you click around,
you execute, but you don't seesubscribers, you don't see the
procedures and everything.
So you you test only one pad,but based on the input.
So what is black box testing?
You have some inputs, you they,they go through the box and

(30:27):
there is an output.
So basically, you know theoutput which you want, want to
have, and you know the inputs,but the whole functionality
which is in the middle, it's not, uh, not visible to you.
So you compare only those two.
And when you have the unit tests, that's whole different story
because you are writing themeither with uh test driven

(30:51):
development, where you first dothe test, then development, or
you do the development, then seethe test coverage, like to
cover the test, the function andthe test pads as most as
possible.
You know each process andeverything and to do that with

(31:13):
page scripting it's not possible.
Like, not always.
You are controlling some inputslike you.
Some some variables aredifferently calculated in the
background or dynamically likeretrieved, and you cannot do it
everything like that with pagescripting and with the unit

(31:35):
tests.
You can like set up, initialize, initial setup variables, then
run the tests and then coverlike the parts that you want and
then tweak it out, tweak it outand then you will have like
really good test coverage but onblack box, like so the page
scripting, I would not see it asa tool only for testing.

(31:59):
That's what I'm also speakingabout with other members of the
community, so to say.
It's also a really good tool toreproduce bugs, to capture some
scenarios and even for learningcertain processes.
So if you record it then youcan easily transfer to another

(32:22):
developer, say you do thisprocess and this and this will
be created, for example, and soon.

Speaker 2 (32:29):
So there are multiple functions of it and one of it
is like testing itself, but it'stotally different methodology
from the testing I laugh and Ichuckle because that is the case
, that with the page scriptingthat I do see it used a lot more
than for testing.
I do see it used for training,for repro and even correction.

(32:53):
I've seen cases where someone'supdated data, like on a setup
or something, and sent it tosomeone and said, here, run this
script and it will updateReally, yes, yes.
So if you think from thecustomer point of view, where if
you're supporting and you'redoing support for a customer and
they may have a problem and yourealize the problem is, let's
just say, they don't havesomething enabled on the

(33:15):
purchase and payable setup andthey may or may not know it, you
can record the script for themto go back and enable that
feature and send them the scriptand let them run it.
Or if they have to change somedata or fix some data.
So it's clever.
It's also good for repro, asSteph mentioned, is you can, if
you're giving support forsomebody, if they have a process
that's not working properly orthey have an error message that

(33:37):
pops up, you'd say, hey, can youjust show me what you did to
get to that point?
So now you just have them sendyou the script and you can run
the script and see what they'redoing outside of the training.
So, to go back to what you'resaying, so the unit testing, you
have more control because youcan do the initialization of the
data or anything else withinthe system that you need,
anything else within the systemthat you need, and then go
through the tests where the pagescripting is black box testing,

(33:58):
which you know the inputs andyou know the outputs, and
there's going to be someassumptions that there's going
to be some certain setup alreadythere.
We're just going to test theseinputs with our setup for these
outputs and that's what we coulduse it for testing point of
view.
Again, it's one of thosequestions.
It's this great tool.
A lot of people use it fortesting point of view.
Uh, again, it's, it's one ofthose questions.
It's this great tool.

(34:18):
A lot of people use it for alot of different things.
But okay, so now I want to runactual tests because now, even
within pipelining, you can runthese page scripts.

Speaker 3 (34:28):
Uh, so not only do you have your unit test?

Speaker 2 (34:31):
a good feature yeah, so now we can do that as well
too.
And with replay you can do awhole batch of tests uh, as well
, instead of having do that aswell too.
And with replay you can do awhole batch of tests as well,
instead of having themindividual as well too.
So your book covers that, sowe'll have to read We'll have to
get it translated and read itright.

Speaker 3 (34:50):
Yeah, it's important to understand also those two
methodologies and not to mix itup, like to determine, based on
your needs, what you want toaccomplish, and also those two
methodologies and not to mix itup, like to determine, based on
your needs, what you want toaccomplish.

Speaker 2 (35:02):
Yeah, yeah and then.
Yeah, see, now my mind's goingwith the PageScript and so many
things.
I would love for it to do, butI'm going to hold off until
everything comes out in the nextrelease to see what's there and
to see where my wishlist goeswith that as well too.
So also now to go back.
So, with the development pointof view from you, what are some

(35:27):
things with the?
We talked about some tips andtricks or some tips for getting
somebody into AL.
How do you think we couldattract more talent to come into
working with Business Centraland AL development?
Yeah, that's really you have theclass that you teach.

(35:47):
So how do you draw?
People to want that.

Speaker 3 (35:52):
Those are like students, those are juniors.
But if we are speaking aboutjuniors like it's nothing, it's
easier than from seniors whowant to change, like the
language where they work on andso on.
But there isn't easy way toattract them.

(36:13):
There isn't easy way to attractthem.

Speaker 1 (36:20):
Is it better to have someone coming from a functional
side and then going intodevelopment or bringing in
somebody, somebody into thedevelopment that has no prior
knowledge of even otherprogramming languages?
Because I think that's one ofthe things that I've noticed,
that the people that have thoseexperience with other
programming language, they tryto replicate some of the things

(36:41):
that they could do, and then Irealized that I can't do it here
, and so they get a little bitof frustration because they have
that expectation of what it cando for you.
I'm curious about what yourperspective would be If you're
attracting somebody.
Would it make sense for someonethat maybe knows the business
process or functional side ofthings going into development?

(37:03):
Because, there's plenty offunctionals out there right,
yeah.

Speaker 3 (37:06):
So from the functional side we look for the
totally different candidates,Like the ones who know finance,
accounting and so on, and thenbusiness central for them and
it's easier to attract like newconsultants than developers.

(37:27):
But from for developers like, uhyeah, no luck to to get like
functional and then to switch todevelopment.
Because in order to do likeprogramming you need to
understand.
It's not just typing the codeand at some point you are ending

(37:49):
like writing blindly some ofthe statements but not
understanding what happensbehind.
And you know, my sessions likelately was everything regarding
performance and AL and so on.
So you need deeply tounderstand, like after you get

(38:10):
like your path from junior tomajor, then to senior, then you
need to understand how businesscentral in the background works,
that on the SQL part, on theplatform part, and then combine
all the knowledge knowledge andwith the candidates which are
really just functional for them,it was really challenging to

(38:31):
understand anything which goesbeyond Business Central
background.
If we mention SQL, yeah, SQLhere and there, but the whole
architecture of Business Central, Azure and everything that
becomes challenging.

Speaker 1 (38:54):
That's an interesting take, yeah.

Speaker 2 (38:58):
Well then you can also say someone who goes from
division to business central.
So yeah, exactly, I'm not evengoing down that road because, as
we always talk about witheverybody, it was the wild wild
west at one point.
Uh, it's still the wild wildwest, but it's getting a little
tamer.
Individuals are realizing it'snot the Wild Wild West anymore.

Speaker 1 (39:19):
Well it is.
You just can't go to the streetand just whip out and shoot.

Speaker 2 (39:26):
Well, I see some people try to do that.
You can publish the extensionsand I think create some havoc.
Extensions and I think createsome havoc.
You had mentioned someperformance, and performance is
another topic that I see quiteoften is exactly as you

(39:47):
mentioned.
It's either from someone whocame from Cal and thought that
you could write code the sameway.
The syntax is similar, there'sa lot of similarities, but again
the platform is different.
So sometimes the code that wasI summarize this loosely
sometimes code that was good inCal is not good in AL and a lot

(40:09):
of individuals don't accept that.
And I see a lot of people whoare doing migrations of code
from Cal to AL and they're likewell, in Cal it just worked,
perfect and it was fine, and nowit doesn't work and again it's
Brute force.
Well, I mean that mindset's alittle challenging because
you're moving.
You're taking one technologyand moving it into another

(40:32):
technology and assuming thatit's going to work the same way.
It's almost like putting hayinto a gas car.
I tell everybody, right, youhad horse and buggy used to feed
hay to the horse right To eat,so that the horse would have
fuel to move.
And now you have gas orelectric cars right.
They still kind of work thesame.
They do the same thing.
That's a better analogy.
You don't put gas in anelectric car, you put
electricity for it to work andbecome efficient.

(40:53):
So what are some of I've seensome of your performance
articles as well uh, and whatare some of the performance tips
?
Like if you can think of someof the top performance tips that
you have uh can relay.
Like if you the mistakes thatpeople have made or things that
you realized uh can work to.

(41:14):
I know it's a very vaguequestion, I understand.

Speaker 3 (41:19):
Yeah, the question will answer from itself when
this Tech Days video come out.
There.
It was a really popular sessionand the whole room was filled
the biggest room so I was reallyglad to see a lot of people.
But the people who work withthe performance are very little

(41:41):
part of this community, so youcan count them on two hands.
Yes, you can, you can so it'sreally, really challenging area
and you need a lot of experiencein that area.
And, yeah, so, even for forsome optimization patterns which

(42:06):
you will see like they workfrom certain version, even on BC
.
Well, you mentioned already nav.
So nav from one version tobusiness central, even if a full
procedure will work the same,there is a high chance that now

(42:26):
you can do optimization atbusiness central part so you can
go beyond, like the, theperformance which you had.
And the simplest example is setload fields which can limit
your queries and so on.
So that's one little thingwhich can a lot improve your

(42:50):
queries and so on.
But that has not been existing.
And if you have a simpleprocedure which was working in
an nav and is working now inbusiness central, you can go
beyond and beyond to optimize itmore and more.
And then that's the benefit.
And then, from the session whereI mentioned that, there is

(43:13):
actually some platformoptimization, those platform
optimizations happen from acertain version of Business
Central and I was focusing onthe session from Business
Central 25 and up.
So the tests are conducted onthose two versions.
So even if you're using, likeBC 22, 23, you may not have

(43:35):
those platform optimizations.
So basically, the platformlooks for your patterns, uh,
based on your code, not the code, but the, the queries which are
exchanged between businesscentral and sql, and then
analyze it and changes slightlythose queries, that your queries

(43:58):
are now more optimized, so tosay.
And then, even though the codeis same but more times repeated,
if you're running into the loop, platform itself will change
slightly your code without youknowing it, so to say.

Speaker 2 (44:13):
Okay, so one of the tips that you said that someone
could look at is set load fields, and set load fields just for
those that may not be familiarwith it is on the record that
you have.
You can, if you're doing aquery or you're looking to
retrieve records, you candetermine which fields you bring
back.
So if you have a table with 100fields with set load fields,

(44:37):
you can pick that.
You only may need to have fiveof these fields come back
because you're not going to lookat any of the other fields.
So you can get some performancebecause you're not retrieving
the entire record.
You're only retrieving thespecific fields that you need,
which is a slight improvement.
But if you do it, like you said, over and over again, or if you
have large data sets, it cangive you a little boost in

(44:58):
performance yeah, when, when thevideo comes up, like you will
see, like real example, likewith uh, also queer, uh, queries
, uh, which are made in bothcalls.

Speaker 3 (45:10):
It is like uh one query because setLoadField
contains already reduced numberand the time which needs to be
pulled is also shown in thegraph.
So when the video comes up,everything will be available and

(45:30):
with a lot of examples.
But also one more popularexample is like uh when I've
written the blog.
So the one example took like uh, community attention, so to say
, and it was like uh can I guess, can I guess, can I guess?
Yeah, is empty true am I right?

Speaker 2 (45:53):
am I right?
Yes, I read that.
I followed that wholeconversation.

Speaker 3 (45:59):
So at the end there was like five more blogs, but
yeah, so my point that that blogwas just that that you should
not use isempty before, justthat that you should not use use

(46:21):
is empty before.
And I did more examples andshow full sequel background on
the tech days and that was alsomy first example which I show.
So basically what you are doingis repeating is empty before,
fine set because of platformoptimization.
So then I captured all theevents and then loop through and

(46:41):
at some point the query changedlike to optimize one, and then
you had like is empty and thenchecking automatically is empty
before fine set it.
Uh, it wrapped whole, wholequery with it, wrapped call
query with if exist, and then ifyou do is empty in front, you
will be just doubling the samething.

Speaker 2 (47:09):
And that's where platform optimization comes up.
So that's another tip is empty.
That was an interestingconversation.
It was a period of time I wasfollowing it.
I was confused Should I use isempty or should I not use is
empty?
That was an interestingconversation.
It was a period of time I wasfollowing it.
I was confused Should I use isempty or should I not use is
empty?

Speaker 3 (47:23):
But I think, like you said, is it filtered through?
I also got a lot of feedbackfrom the community because I was
doing some other sessions ondays of knowledges regarding
performance, but in differentparts from bc tech days, and the
one one thing which was usedmore in nav was fine minus I was

(47:46):
just going to ask that the fineset versus the fine minus, fine
plus and the fine first and thefine last yes, yes, so that's
reading my mind when, whenpeople saw, like what is the
difference, they they realizedoh there, there is a difference,
because with five minus you arejust pulling like uh, 50

(48:09):
records each time, like and uh,you need, when you have more
than 50 records and you arelooping through, you are
executing next and then craftingthe full, fully new query to
pull rest of the records.
And we did define set.
You will just put everything indata set.

(48:29):
So I made some visualizationfor the tech days so you will be
able to see, like thecommunication wise, how that
happens, like the statement,then sql server, then again that
another query comes to sql,then fills the buffer
additionally.

(48:49):
And then we also need to speakabout memory relocation, because
that also has is existing atbusiness central background on
the platform and even thoughthat you don't see it, it is
existing.
You cannot control it, as in C,sharp and so on, but it does

(49:09):
some things automatically andthere are also some few examples
during the busy tech days, likefor the memory side and also
from the pointer side.
So how is certain record typestored in the memory of Business

(49:30):
Central?
So the biggest difference waswith text and text builder,
where the text is just stored inthe memory and then you need to
relocate and everything becauseyou have just a certain amount
of the space.
But whereas with text builderyou have the pointer in the

(49:53):
memory and everybody who workedwith pointers knows that that's
easier to expand, like, yeah,it's not working like that, that
you already allocated thememory so and that was like a
big difference into theperformance and so really,

(50:14):
really a lot of interesting.

Speaker 2 (50:16):
A lot of little tricks so I want to just jump
back.
So, between the fine set andthe fine minus, fine minus
retrieves a finite number ofrecords and if you need to use
more than the records retrievedthen it will keep continuing to
do the queries, whereas fine setwill return the entire result
to you.
Yeah, so there are.
So if you will return theentire result to you, so if you

(50:37):
maybe similar to like find first, find last, if you need to use
only a few records, then findminus may be more performant,
whereas if you need to gothrough everything.
Find set would be moreperformant.
See, that's the big thing.
I talk with individuals aboutthat.
There are different cases whereyou'll still need it, because I
was talking with somebody wholooked at code and there was a
fine minus in there and theysaid, wow, you're supposed to

(50:58):
use fine set now.
So I had a big discussion withthem and explained to them there
is a difference to what'shappening.
One is just using block sizes,and that's back from the old Nav
days as well, where you couldactually specify the cache size
of the records that you'reretrieving.
So there's a big differencethere.
Chris, Did you know that?

Speaker 3 (51:19):
But everything is dependent on the rest of the
code and the whole logic.
So there are use cases for eachscenario and even slight change
in the code can result that youneed to write it differently.
So it really depends from thelot.
But these things which we arespeaking about are like AL

(51:44):
patterns, and that's one thingalso.
Which I am trying to do now isalso to spread word about AL
guidelines, because those areimportant for a lot of reasons.
First, I will mention AI, thatyou will be able to use AL

(52:06):
guidelines.
As a memory where I have beenspeaking with Microsoft, that
copilot in the GitHub is nowworking on pull request review
and it's not working greatbecause it doesn't have too much
context about best practicesand everything.

(52:28):
But now, if we have a wholecommunity to work on AL
guidelines, we will be able togive Copilot context of what are
the best practices, so we'llget more accurate pull requests
and so on.
So that is one thing.
And second thing iscontribution wise and your

(52:51):
project side wise, thateverybody should write most
performant, most standardizedcode.
So your way of writing the codeshould not differ much as the
code from microsoft, and that'sthat's also one of the
challenges for me and the rest.

(53:13):
Reviewing base app pullrequests because you end up like
reviewing a lot of things whichare repeating always and not
according to best practices.

Speaker 2 (53:25):
Yes, and that's well.
You said that's Microsoft, butsome of that Microsoft code
needs to be refined too.
To be honest, I know yeah, it'svery well.
You said to write it likeMicrosoft.
I mean some of it is.
It's very difficult to everyrelease with changes of language
and platform and architectureto replace all of the code, I
know.
But so there are some areasthat could lead a little

(53:49):
attention as well too.

Speaker 3 (53:52):
Yeah, of course.
No, no, I didn't thought thatthe code is flawless and it is
also receiving a lot ofattention each time, Like there
are a lot of bugs and so on.
So that's being covered also.
Yes, but slowly.
Like BaseApp is really big, ohit's huge.
As you said, like you cannotchange everything like that, and

(54:16):
they're pulling it out too,with the foundation layer, with
the system app with the base app.

Speaker 2 (54:21):
So now it's.
I like what they're doing withit.
It just takes time and it's noteasy to do, and also it's not
easy to do while you have alarge customer base as well.
So there's a lot of peopleusing the application and you
can't just shift it all up likethat.
So we talked about Find firstand excuse me.
We talked about fine set andfind minus.

(54:41):
We talked about the use of isempty.
We talked about the textbuilder with the pointers.
So many people I talk with don'tunderstand the benefits of
using text builder.
They say I could justconcatenate all these strings
together or build things and itworks fine, but it's, it's the
little things that add up overtime and it's when you start
repeating a lot of these calls.

(55:02):
Is that when you really startto notice the, the impact on it.
Do you have any other tips forus?
I know the video will be out ofyour session, hopefully at some
near point in the future, butis it?
Do you have another to roundout some of these performance
tips, some other big performancetips that you've encountered or
you have?

Speaker 3 (55:21):
well, yeah, we can like, uh, dig deeper and deeper,
like I like digging deeperthere there is, uh, there is
basically a lot uh and uh, yeah,these are like the most most
popular, uh, popular ones, butuh, yeah, uh.

(55:42):
So which which would be likemore more interesting is also
let me take outfield andautocult field, because also
number of queries which are sentto the SQL, it can cause the
SQL overload.

(56:03):
So with calc field you will besending, if you are doing
repeatedly in the loop on someset of the records, you will be
for each loop sending one SQLquery, versus when you do the
autocalc fields, that additionalcalculation will be included

(56:25):
into fine set.
You know, because that's that,uh, that autocalc fields is sent
, uh set before fine set andthen you do the fine set.
So the platform itself can dobasically optimization and craft
into the one query and youdon't cause any more sql

(56:47):
overload.

Speaker 2 (56:48):
So that's, that's also one big one big ones, the
auto calc fields versus the calcfields individually within each
call yeah.

Speaker 3 (57:01):
So then we have like also some examples.
We had, like uh with um, witherrors on the sequel, so there
was some pattern, uh which is,which can be used, but for the
singleton tables.
So if not insert, then modify.
You may be seeing.

Speaker 2 (57:18):
Yes, I saw that article too.

Speaker 3 (57:21):
So what it does it basically, if the insert doesn't
succeed, it will return theerror and you have the handling
of the business central, thensome events triggering and
everything until another queryfor modify is crafted and then
sent to the SQL.
And that takes time, notbasically the sending of the

(57:45):
insert query, but the errorwhich is returned by the SQL and
then has to be parsed.

Speaker 2 (57:51):
That takes some time and then yeah, so the use of if
not insert, then modify, isnon-performant.
What should somebody do instead?

Speaker 3 (58:03):
Well, checking if the right operation.
So if you check like if thetable is empty beforehand or
even with the get, because gethappens almost instantly, so you
will, even though you aresending the query, it will be
like fully optimized query, youwill get a really fast response.

(58:25):
And then so we either checkingboth ways, so if it is empty, so
not existing record, you willchoose proper action, in this
case insert, else you willmodify, and similar to the get.
So if you have get got thatrecord you can modify it, else

(58:46):
you just insert.
So you will do one additionalquery.
But you see, like that query isat this point really optimized
so it returns a really fastresponse versus handling of the
error.
So you are not having oneadditional query in case of
error.
But that error handling takesmore time than having one

(59:09):
additional query.
So there is like not logicalwhen you say, say it's
everything regards uh sqlstatement counts and or
something like that, it is notalways uh the clear situation
like that.
So even even uh, in this caseyou can have like more sql calls
but better performance, becausethere is nothing like handling

(59:34):
of error, it is juststraightforward and those SQL
statements are already optimized.

Speaker 2 (59:42):
See, that's a good one too.
It's like again it's all theselittle things that everybody's
used to writing and thinks that,ah, if not insert, then modify
that end up causing someproblems.
And if you do it repeatedlyI've seen people do this
repeatedly and it works, it canadd up.
It can add up over time.

(01:00:03):
That's what ends up happening.
People think one time yeah, onetime you may be okay, but if
you start to do this repeatedlyin the course of the action,
anything that you have thattakes time.
It could potentially sloweverybody else down too,
depending upon what you're doing.

Speaker 3 (01:00:17):
Yeah, and combining all of this, because in my tests
I have been isolating each ofthe examples to have clear
performance of each exampleseparately.
But if you combine thoseperformance optimizations you
can get really really muchbetter results.

(01:00:40):
And also, if you are doingeverything wrong, it can pile up
like you said, like even thoughit's not repeated, but with
repeat, repeating it in theloops and more users and more
users, more sessions and so on.
So it can get really really badyes, yes, I can get there.

Speaker 2 (01:01:02):
Yeah, that's another interesting one.
Let's round it out with onemore so we can have our five.
So we have yeah, I'm not goingto repeat them all we went on,
let's do one more uh, yes, onething I would love to get into,
but I don't know if we have timefor the conversation.
Is locking of the tables yes,so, but we don't have to but you

(01:01:24):
can go on to your other, fifthhighest, but at some point, and
then even with the newfunctionality that they added to
the language to be able to pickup within the database, yeah,
basically locking got reallyimproved with free state locking
.
Yes.

Speaker 3 (01:01:41):
But from the performance side I covered also
two examples uh, which are likedelete uh, delete all uh and is
empty before it.
And uh modify all and is emptybefore modify all.
And if you take on the, take alook on those examples like uh,
even for delete all uh, you willget better performance.

(01:02:04):
Like just triggering it deleteall.
So delete all will get you likeit's good until it isn't Delete
all is good Until it isn't.

Speaker 2 (01:02:18):
Until it isn't.

Speaker 1 (01:02:19):
Someone's going to take that snippet, by the way
and just repeat delete, all isgood.

Speaker 2 (01:02:25):
I always go with until it isn't because my saying
is until they don't like it's afactual saying.
I say to people all the timelike, oh, they're my best friend
or everybody likes me.
Somebody actually said that tome.
I said everybody likes me.

Speaker 1 (01:02:35):
I said until they don't no, no, no, that's what
I'm saying someone's gonna takethe snippet of this recording
and just repeat it and then omitthe other part so when using
delete all, a modify all youshouldn't use.

Speaker 3 (01:02:47):
An is empty before yeah, if you are not using uh,
if the table is empty and youare doing, for example, delete
all, you will actually lock thetable and uh, then it's much
slower.
Uh, because, yeah, and thenwith is empty, the delete all
will not lock.

(01:03:08):
Obviously, because if norecords, delete all won't be
triggered and in that case whenyou take a look on the table
which is not always is empty, itis not fully optimized.
Like you can get betterperformance if you are using the
delete all, but you will havelike downside that the records

(01:03:30):
will be locked when the table isempty.
So there are some patterns.
So even that the performance insome cases is better.
You should not sacrifice thatto the locking because it can
cause more, more issues in insome cases.

Speaker 2 (01:03:50):
So yeah, that's good.
That's good.
We have a tip, a lot of tipshere.

Speaker 3 (01:03:57):
I could talk about tips with you for days, probably
a lot longer than the sessionthat you had, and uh also I I
think I I rushed a bit also thesession there and I think he has
like uh 30, 40 examples like uhfirst, so to say I'm not sure

(01:04:17):
no, it's good a lot of examplesthe examples are good, and you
have a lot of examples on yourblog as well, too.
Not that much.
I'm thinking about writing itfrom the tech days, what I have
been speaking about, not in one,because I try to keep the blogs
a certain size to be readable.

(01:04:41):
A few examples per blog and soand that's it, and if you do
like, uh, 20 examples, it willbe like too much yeah, you need
a small bite.

Speaker 2 (01:04:52):
No, no, it is.
I.
I do think now, I think I thinksociety, I think with the, the
tiktok generation and the, the30 second snippets and the
instagram reels and all these, Ithink everybody likes the, the
short, that's all you need.
Well, you have the short videosnippets to learn, right?
So it's now.
People don't like to read tolearn, they like to watch a

(01:05:12):
video of a distinct point.

Speaker 3 (01:05:18):
I think we are missing some short videos on the
YouTube, that is true, there'snot a lot of them.

Speaker 1 (01:05:26):
How can you do that in 60 seconds or less?
That's hard.

Speaker 2 (01:05:30):
Well.

Speaker 3 (01:05:30):
I think, yeah, focusing on the most important
part, I still think you need toget the good 5 to 10 minutes.

Speaker 2 (01:05:37):
5 to 10 minutes is a sweet spot, maybe 7.
So we'll have to see.
Well, stefan, thank you verymuch for taking the time to
speak with us.
Thank you again for yourflexibility in rescheduling.
Several times we appreciate youyour flexibility.
We appreciate you taking yourtime to speak with us.
Time truly is the currency oflife.
When you spend it, you can'tget back.

(01:05:57):
So any time that anybody spendswith us, we greatly appreciate
Thank you no, thank you.
And I'd like to schedule afollow-up that we can.
Maybe, once you, once the videois out we know it's out we
could touch back on someperformance.
I see a lot of performance, uhconversations, and I think, yeah
, we could expand upon that uhin a few months, I think would

(01:06:20):
be great, and we could talkabout your water polo.

Speaker 3 (01:06:23):
Um, you know, stint the one, yeah, the one thing
which you missed, like yesterdaywhen you it was with a
mechanical guy with a fridge, soI was training water polo like
10 years ago, really so, but forthe 10 years, until 10 years,

(01:06:43):
yeah, and I stopped and now Istarted it again.
So nearly every day, like fivetimes a week, I do like from 8
pm I go now, since it is summeron the pool outside and we do
play a game and so on.

Speaker 2 (01:07:04):
Water polo is extremely impressive because
that's what I'm saying, yourfeet.
Your feet aren't on the groundlike you have to tread water and
you like to to shoot, or Idon't know what they call it,
but I I don't know the only timeI watch water polos in the
olympics and I love it becauseI'm just impressed at what the

(01:07:24):
individuals, the athletes, cando when they're playing water
polo because, like, they justget up out of the water and
shoot with such force butthere's nothing holding them.

Speaker 3 (01:07:34):
They have to like they're floating in water and
then like I think that's that'salso most asked question when I
get, because this is is notprofessional.
It's taking four months untilit's good weather and the pool
is active outside.
So the most common question ishow do you get up?

(01:07:57):
Your swimsuit is visible whenyou get up and you shoot.
And that's the most commonquestion.
And uh, yeah, for my side I waslike playing in the first team,
like, uh, when I was back thentraining that's impressive,
though I don't know yourcardiovascular strength has to

(01:08:21):
be amazing to do that, and justeven your your physical strength
, because I would drown.

Speaker 2 (01:08:27):
You put me in there treading water for five minutes.
I'd drown, Never mind havingpeople jump over me and having
to swim back and forth and thenjumping up to.
I mean they just like jump inthe water.

Speaker 1 (01:08:37):
Yeah, it's.
Impressive, man, veryimpressive.

Speaker 3 (01:08:40):
I'm having my wife like trying to drown me on the
sea but not succeed.

Speaker 2 (01:08:44):
I'm having my wife like trying to draw me on the
sea but not succeed.

Speaker 3 (01:08:54):
Listen, I don't think you want to record that because
if it really happens, then shecan say he told me to try.

Speaker 1 (01:09:00):
Oh man, impressive.

Speaker 3 (01:09:08):
Have you had any scary experiences playing water
polo?
I mean serious, no, no, no, no,basically not.
Uh, you get some cramps and soon I figured you get cramps,
yeah when, when you work, whenyou train, uh, you get used to
it because, uh, you keepswimming to survive.
Yeah, no, basically like whenyou're playing a game like we
had some scenarios like you keepswimming To survive, yeah, no,
basically when you're playing agame.
We had some scenarios likeplaying a game in another

(01:09:33):
country where it was colder andthe pool was like five meters
because of the high jumps and soon, and the water was ice cold
and the trainer said before thegame like who doesn't, uh, jump
in?
When I blow the whistle, hedoesn't play.
The similar thing is when you,when you stand and you get the

(01:09:59):
cramp, like you have to swimfurther or you won't play again.
Oh, my goodness.

Speaker 2 (01:10:07):
Well, I think anyone who any athlete for any of these
sports, I think it's a lot ofwork and a lot of dedication,
and water polo is one of those.
When I watch it, I'm just inawe.
That and synchronized swimmingis another one I watch and I'm
like how do they do that,Because they're mostly
underwater and how do you get itto where your your level?

Speaker 3 (01:10:26):
so any of those aquatic sports um are impressive
so but yeah, like 10, 10 yearsago it was like uh, either
professionally water polo orjust career so studies, so like
yeah those are your options yesit's good that you it's good

(01:10:50):
that you came back like uh, well, paid only if you got into
representation and the firstteam and everything.
So even there it's like good,but uh, not overpaid, like
football and everythingbasketball and so on.

Speaker 2 (01:11:11):
It's not like overpaid sport.
Well, it's impressive thatyou're doing it.
It's impressive that you'regoing back to it too.
It's good that you get out anddo that, chris, I need to go
play pickleball or something Ihave to start you got to pick
something.

Speaker 3 (01:11:21):
man, I know it's going to be hard for you, like
running wise, like I've beenrunning myself um, I think I've
been doing 10k a day, everyother day but when you speak
about the running, also oneinteresting also crossroad which
could also potentially lead meonto another side is like when I

(01:11:43):
was like choosing the whichstudies I want to go.
I also got into the policeacademy something, something
like that you've done everythingdifferently called in serbia.
You become like a policeman, sonot not maybe inspector or

(01:12:03):
something like that.
You say here because you can goto the police with academy and
this is faculty.
So you end up something like inyour side like detective,
something like that.
You get more wrong, so I endedup there and then after a few

(01:12:24):
months I returned to IT.

Speaker 2 (01:12:25):
I can probably tell you why.
Understand it's not as easy aspeople think.
And it's not easy.
It's not saying it's not easybecause it's just not easy.
It's not easy mentally as well.
Uh, anybody who does thosetypes of jobs, uh, I commend
them because it takes a lot ofnot not one of the reasons.

Speaker 3 (01:12:41):
One of the reasons was also that uh, the salaries
like, uh, salary-wise like yeah,it's much, much, much lower
there.
And uh, there was some alsosome changes uh from the
payments side, like those inthose years.
So I decided like let's godifferent path.

(01:13:01):
And it it was growing like ashining star and since I had
like experience previously withthe it it was like getting into
the faculty was like pretty easy, like uh knowing the the exams,

(01:13:22):
like uh to pass and so on, soit was really easy to pass.

Speaker 2 (01:13:27):
I'll be interested to see where IT goes with all this
AI in the future, the salarieswith all these agents and
everybody else doing a lot ofthese tasks.

Speaker 3 (01:13:36):
But I think until this point it's like a helper
tool and I think everybody canuse it, but we are still not
talking about replacing fullyjobs.
No, no, I don't think you'rereplacing.

Speaker 2 (01:13:51):
I think you do help with the performance.
I do help.
If you think it can help withproductivity.
Excuse me, excuse me, jeez, I'mtongue-tied right now.
We're not at that state, but Ithink that's what I'm saying.
I'm interested to see where itends up, uh, with some of these
functions.
Uh, as well to see.
So it's, it's, it's a whole newworld, as they say.
Uh, it was well, sir.

(01:14:12):
Thank you again for taking thetime to speak with us.
If anyone would like to get incontact with you, uh, to learn
more about your sessions learn,learn more about your
information or maybe even learnmore about water polo.

Speaker 3 (01:14:34):
What's the best way to get in contact with you?
Yeah, I think the easiest oneis the contact form on the blog.
But uh, there is also the email, like stefansaucitts at
facilitycom.
So I'm following also that mailactively, actively.
So, yeah, through email, andthen we will see where it leads
us.

Speaker 2 (01:14:49):
Great, great.
Thank you again.
We appreciate it and I lookforward to seeing some of your
water polo adventures too.
Throw some of those on yourblog every now and then too.
Yeah, you should.
We get to see what you dooutside of all of the great
things that you're doing for thecommunity.
Again, thank you again, sir.
Talk with you soon.
Ciao, ciao, thank you Bye, bye.
Thank you, chris, for your timefor another episode of In the

(01:15:14):
Dynamics Corner Chair, and thankyou to our guests for
participating.

Speaker 1 (01:15:18):
Thank you, brad, for your time.
It is a wonderful episode ofDynamics Corner Chair.
I would also like to thank ourguests for joining us.
Thank you for all of ourlisteners tuning in as well.
You can find Brad atdeveloperlifecom, that is
D-V-L-P-R-L-I-F-E dot com, andyou can interact with them via

(01:15:41):
Twitter D-V-L-P-R-L-I-F-E.
Via Twitter, d-v-l-p-r-l-i-f-e.
You can also find me atmatalinoio, m-a-t-a-l-i-n-o dot
I-O, and my Twitter handle ismatalino16.
And you can see those linksdown below in the show notes.
Again, thank you everyone.

(01:16:02):
Thank you and take care.
Advertise With Us

Popular Podcasts

New Heights with Jason & Travis Kelce

New Heights with Jason & Travis Kelce

Football’s funniest family duo — Jason Kelce of the Philadelphia Eagles and Travis Kelce of the Kansas City Chiefs — team up to provide next-level access to life in the league as it unfolds. The two brothers and Super Bowl champions drop weekly insights about the weekly slate of games and share their INSIDE perspectives on trending NFL news and sports headlines. They also endlessly rag on each other as brothers do, chat the latest in pop culture and welcome some very popular and well-known friends to chat with them. Check out new episodes every Wednesday. Follow New Heights on the Wondery App, YouTube or wherever you get your podcasts. You can listen to new episodes early and ad-free, and get exclusive content on Wondery+. Join Wondery+ in the Wondery App, Apple Podcasts or Spotify. And join our new membership for a unique fan experience by going to the New Heights YouTube channel now!

The Breakfast Club

The Breakfast Club

The World's Most Dangerous Morning Show, The Breakfast Club, With DJ Envy, Jess Hilarious, And Charlamagne Tha God!

Fudd Around And Find Out

Fudd Around And Find Out

UConn basketball star Azzi Fudd brings her championship swag to iHeart Women’s Sports with Fudd Around and Find Out, a weekly podcast that takes fans along for the ride as Azzi spends her final year of college trying to reclaim the National Championship and prepare to be a first round WNBA draft pick. Ever wonder what it’s like to be a world-class athlete in the public spotlight while still managing schoolwork, friendships and family time? It’s time to Fudd Around and Find Out!

Music, radio and podcasts, all free. Listen online or download the iHeart App.

Connect

© 2025 iHeartMedia, Inc.