Rockin’ The Code World with dotNetDave ft. Paul Michaels Ep. 56
6K views
Nov 7, 2023
Join us on May 14 with Paul Michaels for the next episode of Rockin' The Code World with dotNetDave - a weekly show to learn & live Q&A focused on .NET and other programming technologies. AGENDA Introduction Meetups and in-person groups in a [post?] pandemic world. Software architecture. Special Prize Give-A-Way! GUEST SPEAKER Paul started programming on a ZX Spectrum while in primary school and has been programming professionally since 1997. He is a published author, speaker, founder, and co-organizer of MiniHack. While not programming, he enjoys cycling, walking, rock music, cooking, and beer (often the last three in parallel).
View Video Transcript
0:30
Thank you
0:59
Thank you
2:00
Hey, geeks. Welcome to another exciting episode of Rockin' the Cold World with Donat Dave
2:08
I'm Dave McCarter. I'm glad you're all here this week. And I hope you've had a better week than I have
2:15
My week started out really awesome because I got to see Mahesh, you know, who runs C-Sharp Corner on Wednesday
2:23
Unfortunately, I don't know if it was during that or a couple days before I got sick and been running a fever
2:29
And I did test for COVID yesterday. I don't have it. But since I'm taking a trip tomorrow morning, which I'm actually checking into right now while I'm trying to run the show, I'm going to do another COVID test this afternoon
2:45
So hopefully everything's okay, but I'm still kind of running into fever
2:50
So if I do or say anything dumb during the show, please forgive me
2:54
But I think I kind of do that during the shows anyway. So I don't know if you'll be able to tell very much
3:02
But anyway, we have a great show today and let's get to it
3:09
So today's show features Paul Michaels. He's the head of development at Music Magpie, and he's also a Microsoft MVP, so he's going to be my guest today
3:19
I'm excited about that. He loves rock music, so I'm wearing my ACDC hat in honor of Paul because I love ACDC
3:29
Maybe he does too. Actually, he just told me he saw their last big tour, which I also saw
3:35
Um, so, uh, and we're going to be talking about some cool stuff today, including architecture
3:42
and meetups in the post pandemic world. So I hope you stick around
3:46
I hope you have questions. Uh, please put your questions in now, um, in the comments, and then I'll try to get
3:52
to them as much as possible. Um, let's see. All right. Um, you know, we're still, um, dealing with this crap in the Ukraine
4:04
So please, you know, take a moment to think about our friends in Ukraine
4:09
And hopefully we can this war will be over soon, sooner than later
4:15
It's it's very sad to see what's going on there. And but anyway, keep them in your thoughts
4:23
I hope they can repair this, you know, this country fast because I want to go speak there before I retire again
4:29
And if you all have been watching the show, you probably know I spoke there in 2015
4:35
And I've been wanting to go back ever since. And so I guess that's going to be put on hold, at least for a little while, because who knows what buildings are left anymore
4:46
But luckily, I spoke in Lviv, which hasn't really been bombed too much, thankfully
4:54
So anyway, think about our friends in Ukraine. also if you happen to live in Australia I'm going next month I'm so happy it'll be my first
5:08
in-person speaking gig since 2019 I can't believe it's going to be like three and a half years
5:17
or two and a half years since I spoke when I speak there I'm actually a little bit nervous
5:23
because I haven't spoken in so long. I'm afraid my mouth won't work right or so
5:29
I don't know. But I am a little bit nervous about going
5:33
and speaking for the first time in such a long time. It's the longest time
5:37
I haven't spoke anywhere since I started speaking almost 30 years ago
5:45
So anyway, if you live in Australia, specifically Melbourne, please hit me up
5:52
I want to hang out with you and get to know the area and get to know the developers
5:56
And so please feel free to reach out to me if you hang out in Melbourne
6:02
If you live in that area, I hope you go to NDC and watch me talk about code performance
6:07
something where we all need to be mindful of, especially when you're moving to the cloud
6:14
And I have some really, really cool things. I've been working really hard to present to the people in Australia before I write about it
6:23
So I hope you come to a session. All right. My latest article, I just submitted an article to C Sharp Corner
6:35
And sorry, I'm trying to get my OneNote up yesterday. But this is my latest article
6:41
So that one should be up in a couple of days. But I hope you'll check out the current one up there
6:46
coding faster with .NET tips, SparGene 6, validating arguments made easy. So when I converted my SparGene project to .NET 6
6:56
I decided to completely rip out the method attribute validation
7:07
that I had in version 5. And in version 6, it's completely different with fluid validation
7:14
And so I hope you read the article and see how I set it up and hopefully you'll like it and either use the library or steal it and use it in your own library
7:23
I don really care You know I read it for you guys and myself So I hope you go check it out All right All right
7:35
And now I've lost my intro for my speaker. Where are you
7:45
56? Oh, no. did i just wipe out paul's intro hold on everybody let me look oh nope there it is i see it
8:00
it came back sorry i told you i'm running a fever so today's show is going to be a little
8:07
wonky uh i think um uh so because i think the next slide is paul so i i'd like to introduce
8:16
Paul and hopefully I won't screw up his bio. Paul started programming back on the 7x spectrum
8:23
which I'd love to hear what that is because I've never heard of it, while in primary school and
8:28
has been programming professionally since 97. He's a published author, speaker, founder, and co-organizer
8:34
of MiniHack. While now programming, he enjoys cycling, walking, rock music, cooking, beer
8:39
uh often all in parallel so uh welcome paul hey there you are it it was a zx spectrum not a 7x spectrum oh sorry see i've never heard of it so
8:59
you know i've never heard of the zx spectrum no no no okay um you must be older than me
9:06
I know, I'm starting to wonder if I'm older than everyone these days. I already know I'm older than everybody
9:13
That's the way I think, especially in the teams I work in. Yeah, I'm the oldest person
9:17
I feel like I'm everybody's grandpa these days. So the ZX Spectrum was an amazing machine
9:26
I don't think they've yet to sort of parallel its gameplay or anything
9:32
And if you wanted to play a game, what you would do is you would get an audio tape
9:37
you know, the old cassette tape, and you would put it in and you would play it
9:42
and the sound would be read and converted to thing. And you'd get like these little lines on the side of the screen where it'd sort of load up
9:51
And it'd take about 10 minutes to load a game. They had such brilliant titles as Jet Set Willy and Manic Miner and all this kind of stuff
10:01
So, yeah, it was a brilliant machine. Yeah, well, that reminds me of when I was in the Navy, the last couple of years I was in the Navy, I was on shore duty here in San Diego
10:13
And sometimes at lunchtime, I would go up to this woman's office and she had this computer and I would go play a game and it was on reel to reel tape
10:25
You know, like we used to record sound on, right? It was on a reel to reel tape and that's how the game was played
10:31
i was you know i'm sure young people now going what you can't play a game on a real i don't
10:38
well wait i don't think they even know what a reel-to-reel tape is right that's from from the
10:44
prisoner in it they used to have that on the prisoner all the time didn't they do if they were doing anything i don't know if anybody remembers the prisoner with patrick mcgoon
10:51
but if they were doing any any kind of technology it'd have it'd have the reel-to-reel tapes on
10:55
yeah and they'd use it to like encode his brain or whatever they were doing to him that week yeah
11:00
Simon do you know what real to real tape is let's see what Simon says he'll
11:07
say in a minute because Simon's the youngest person on this show right now
11:11
so I can ask the young questions to him he doesn't know
11:17
see Simon doesn't know what real to real tape is oh and
11:24
you're joining us from the UK where specifically in the UK so I
11:29
I technically live in Derbyshire, but I'm sort of the closest town, I suppose, is Buxton
11:38
So just outside of Manchester. I imagine if I was in America, I would describe myself as living in Manchester
11:44
because I'm about 20 miles outside of Manchester. But in the UK, 20 miles is a long way
11:50
Cool. Well, I appreciate you spending part of your evening on the show today
11:56
So I hope everybody else does too. because uh you know you could be hanging out with family or friends and instead of talking to us so
12:04
i i appreciate it i think i quite like talking about software architecture and spectrums and
12:09
stuff like that yeah yeah yeah so um that's what we're going to be talking about um today everybody
12:15
uh paul wants to talk about architecture and also um you know how do we do meetups in a
12:23
post-pandemic world is something else you wanted to talk about also uh which i i i'm
12:30
i'd like to talk about also because you know quite frankly you know our dotnet user group
12:37
here in san diego is gone now you know so we don't even have you know we're what the eighth largest
12:42
city in america and now we don't even have a a donna user group anymore you know when i
12:47
had my group there was actually two groups and now we're down to zero so um yeah it's it's a
12:53
strange situation because um prior to uh coronavirus and you know i don't know what the situation is in
13:01
america but i'm guessing it's roughly ogous that there was um say you know within within
13:07
traveling distance of me there was probably two or three dot net user groups so you know if i'm
13:14
i'm prepared to kind of give up an entire night i can get to to one or the other and now everybody's
13:23
gone online i can attend literally one every single night in some cases two and eight and i
13:30
don't have to leave my house so well yeah yeah yeah and and the problem is i think that's that's kind
13:36
of killing the the in-person thing because um you know previously i suppose it's partly whether or
13:44
not you back in the office in it because then you know when i used to go to one in uh used to be one
13:50
in manchester so i used to work in manchester i'd just sort of finish work and and go but i don't
13:57
i don't really work in an office anymore i kind of work at home so if i'm going to go uh to a user
14:05
group i'm guessing the same thing is true you know that that side of the atlantic that you've got to
14:10
basically work at home all day and then go right now I'm going out just just to go to the user
14:15
group so it's a much more of an investment to go for I think and um uh so that you know I'm not
14:23
sort of coming with an agenda I don't I'm not saying it's better or worse but um it's different
14:27
I think it's changing kind of everything yeah I you know you know when the conferences you know
14:35
stopped, you know, one of the things that I hope would happen when they came back, which I see in
14:42
some of the conferences, at least, is that, you know, they're going to a hybrid model, you know
14:49
that's, which I think is a good thing to do, because you get more reach, but you also get
14:54
to take care of the people who actually want to come and network And that you know one thing I talked about on this show over and over again is you know the biggest reason I go to conferences or user groups
15:06
is to network and talk to people, not for the session, right? Because most of that stuff you can get online
15:11
or you can see the recording or something like that. But, you know, the networking with actual humans
15:17
you know, is really valuable, not only to, you know, improve your career, but also help find jobs
15:24
and all these kind of things too because you know i i can definitely say and i've written an article
15:29
about this that you know most of my jobs in san diego have come one way or the other from the
15:36
user group i used to run you know and or speaking in san diego and so it's it's very valuable to
15:44
actually be there you know and even you know when i uh ran my user group um you know one of the
15:52
things i had a hard time getting people to do after the meeting was to go up the street here
15:56
where i live because we we used to work i mean my user group used to meet like two blocks from my
16:02
house i mean i i can walk there in like five minutes and then we'd go up the street to have
16:07
some drinks or food afterwards and and the it was the after the user group meeting where i learned
16:14
even more you know and uh and i had and i know i i know why you know people want to go home see
16:21
their families and stuff like that so i i get why a lot of people didn't come out but um i always
16:26
valued that time because again i got to learn more i got to network more um and uh you know
16:33
have bigger reach into my own community yeah that's that's pretty much the i think that's been
16:39
my take on it but you know it's great um it's great saying these these talks but if if that's
16:45
all you're after i mean you know ndc now publish all of the talks and and i'm guessing you know
16:52
most of the other conferences they just publish all of the talks for free on youtube right days
16:57
or weeks after they've been after they've actually happened so if if that's why you're going then
17:04
then you're kind of wasting a lot of money aren't you because um yeah it's some some of these things
17:08
are not free but that you know as you've just said it it's it's the the sort of um i don't want
17:15
want to use the term after party but i suppose i just have um but it's also the um if you see
17:20
somebody talking about something you can go and ask them a question and you can say well actually what would you do in this situation or whatever and um and you know you can kind of carry
17:30
on the conversation outside of that outside of that venue as you've just said i suppose
17:35
and yeah so i think yeah it's about i think i think conferences and so on are going to have
17:41
the problem they're going to have is I suppose conferences are a bit different
17:45
because you were always putting yourself out for a conference you always went from your house to the
17:51
conference type of thing, there was never oh I happen to be three yards
17:55
away in work so I'm just kind of calling on my way home type of thing I think the user groups are going to have to think about
18:03
how do we engage people maybe the answer is to bribe people to come
18:09
or I don't know food yeah well that's what we did my group you know we we always had pizza every night and uh
18:17
that we met and um you know and so that you know that bribed some people come i think
18:24
we also gave away stuff too so that you know you know software developers they they'll do anything
18:29
for something free all right so uh it doesn't matter what it is it's stupid t-shirt they'll
18:34
be screaming and yelling for it you know it's not it's it's different since when i started i used to
18:39
see people literally fight over t-shirts i i don't see that much anymore but um i think everybody's
18:45
got a drawer full of t-shirts now they can most of my well i've got a i've got a concert shirt on
18:51
today but most of my shirts are all from conferences and stuff like that you know that's what i wear
18:56
every day pretty much i'm the same and then yeah i i used to i used to come home with you know
19:04
whatever conference i went to i come home with two or three t-shirts and then after a bit my wife said
19:09
you've run out of draw space now because the other problem is I find
19:17
t-shirts like I'm wearing now and then I think oh I want to get
19:21
a Red Dwarf t-shirt or I want to get a Doctor Who t-shirt or whatever it is
19:25
or you know Motorhead or ACDC and then that has to go in the draw
19:29
next to me whatever t-shirt is I got from the last conference
19:33
at some point when one's got to go it's the one haven't paid 20 30 quid for yeah and i'm running out of shirts because i haven't been to conferences
19:43
you know in two and a half years so you know i need i need some new uh you know i need some
19:47
new clothing come on conferences invite me to come speak i need new stuff um especially since
19:55
i haven't gone to microsoft in three years you know i usually you know pick up a couple
19:59
things at the microsoft store when i'm when i'm there um so that hasn't been happening either but
20:06
getting back to the user groups real quick is you know the the one challenge with user groups that
20:11
you know at least when i ran mine is is is getting dedicated people to really help you out and always
20:17
be there for you know uh what you need for the meetings and and if if user groups try to do
20:24
you know like a hybrid meeting then that's a lot more work you know to try to have an in-person
20:30
meeting and and do all the old visual for the hybrid meeting too you know that's more work and
20:35
so someone has to be in charge of that and if someone doesn't step up and you know be kind of
20:40
like a regular person or two people be the regular person to make sure that happens every you know
20:45
every time the group meets then it kind of defeats the purpose in a way i guess um oh we're getting
20:51
spam on the uh comments today great you see that simon sign sign sign want to get rid of those um
21:00
um uh so yeah so um i suppose i suppose the other the other thing i mean it's one of the things that
21:09
we uh we sort of realized after coronavirus hit was that there was um not many interactive user
21:18
groups if you like so um for for want of a better word um so we you know as you sort of introduced
21:26
started set up a group a sort of hackathon but a two-hour hackathon so basically we run a thing
21:34
every month to say um you know come along and and we'll give you something to kind of produce if you
21:41
like in in basically you get an hour and a half by the time we finished with the intro and the outro
21:46
and all that kind of stuff yeah and and and we started it and we were like well actually how's
21:52
it's going to work because most hackathons are days like 48 hour hackathon and you bring a
21:57
sleeping bag and all that kind of stuff and yeah the guy that started with like well it's a bit i
22:02
don't know whether this is going to work because you know what are you going to be able to do in an hour and a half and it works it works amazingly well people produce um produce low we've had some
22:13
and obviously you know it's not it's not like you know production software but um sure and and most
22:20
of its then you know I suppose we play it more for kind of the fun factor than we do for you know how how brilliant is your software engineering type of thing But so you know an example of the thing that we had produced was we had a guy
22:39
one of the challenges was we basically gave people a jigsaw piece
22:44
like a PNG of a jigsaw piece, four or six PNGs of a jigsaw piece
22:49
And we said sort of do something cool with that. and then this team rendered it in excel so they they used excel and they changed the the color
22:59
of the cells in excel such that the cells in excel became pixels so when you zoomed out it
23:06
rendered the jigsaw piece in excel so it's weird yeah i was looking at that repository this morning
23:15
actually i was looking you know i went to your link you know that i shared on your slide and uh
23:20
i was looking at it and i hit that one with the excel i was going what there's a program.cs in
23:25
excel what is this very very very unusual way of doing it but um yeah i mean because when we started
23:33
it we were like well you know i was listening to work because you know i've not seen an online
23:39
sort of hackathon like let alone online hackathon and you know enough but it does seem to work um
23:44
the format seems to work anyway and yeah so yeah it's uh it's interesting and then
23:51
yeah i mean hopefully after after we spoke earlier we'll get you in as a guest judge to
23:57
help us out more than happy to help you out you know it's actually you know the uk is somewhere
24:05
i've always wanted to come speak and uh mainly because that's where my heritage is from you
24:11
know i'm part scottish iris dutch german you know and i've never been to that part of the world
24:16
unfortunately and i've always wanted to come and so um every year i you know you know this week was
24:22
um ndc london you know and uh i think every year i apply to that just so i can go and
24:28
go uh see why i like bagpipe music so much you know i'm serious i love bagpipe music i
24:36
I don't know why. I don't think you'll hear any backpack music in London
24:41
unless you bring your own. Yeah, Scotland. But anyway
24:55
So do you want to, because we're almost at the half hour mark
25:05
do you want to start talking about architecture and you also listed uh your uh azure and serverless
25:12
uh yeah and how that paradigm shift is is working yeah it makes sense i mean in terms of architecture
25:18
i mean my sort of thing what i was i suppose what i was interested in in discussing in
25:24
with architecture is kind of what what software architecture is i suppose and um you know kind of
25:32
of where um what somebody who who would turn themselves a software architect would do and
25:41
you know what what that means um and and pretty much you know i've worked at a few places that
25:47
have got a job you know job titles of software architects and they've all been different so
25:50
i think i think the kind of broad answer is a software architect is whatever you point out when
25:56
you say the word but um i mean i suppose it's software architecture to me is a bit like it's a
26:05
bit like testing in terms of you can't not do it in terms of you physically can't not do it if you
26:12
if you don't architect something and you give it to somebody you know you give it to like the guy
26:18
who started last week it still gets architected it just gets architected by him as he's typing
26:24
you might not architect it well it's the same with software testing in it so if you um if you
26:31
don't have a software testing plan your software will still be tested unless you delete it as soon
26:36
as you finish writing it it just gets tested by your users right and so and it's the same it's
26:42
the same thing in it it's just you just need to make a decision who do i want to design my software
26:46
who do i want to test my software and if um you know your answer can be um i've given this to this
26:52
you know this sort of junior programmer or whatever and I want him to architect
26:56
my software in which case that's that's a valid decision and but but it you know
27:02
you might say the same with testing you know if you give if you give your
27:08
software to your end users your customers to test you might regret that
27:12
at some point because and you might start losing customers or mm-hmm however
27:17
that kind of works um so i suppose yeah that was kind of the first thing i sort of wanted to
27:23
um to talk about in terms of how um how that kind of sits and and you know who's responsible for
27:32
for sort of the architecture of a system and you know why it kind of doesn't make sense to say well
27:40
So we don't – it's not – you know, it's fine to not have a software architect
27:47
It's not – we're not like in the building industry where if you sort of â€
27:52
you built a house and somebody said, where are the plans? It's like we don't get any plans. It'd be condemned immediately because you can't just have a guy laying bricks
28:00
when he doesn't know where to lay him and stuff. Right. Right. Well, you know, that's the ogy that, you know, especially when I'm talking to non-tech people I use is building a house, right
28:14
You know, I think most people kind of understand how a house is built because they've seen it in different stages, you know, when they drive by, you know, a new neighborhood or something like that
28:24
And or even I've been, you know, because I watch too much Netflix, I even think about movies
28:30
But for houses, do you think they just sit in a meeting and decide what the house should be and then walk over to the plot of land and start building
28:44
No. That's not how it works. But for some reason, too many teams out there think that's how it should work
28:54
You should be able to go from this meeting and go sit at your desk and start coding what we just talked about
29:00
Right. And and if you do that, you're destined for your project to fail or be so out of touch with, you know, current practices and everything that when you do want to make a change, it's going to be near impossible to do
29:15
Right. Yeah, exactly. I suppose that kind of dovetails into the other thing, which is that one of the things that I suppose
29:25
your architect or your architecture will give you I don't like saying your architect, because actually your architect can be
29:32
a senior dev, or you can be a dev, whatever. You don't need to have somebody whose job title is to be an architect, depending on the
29:41
size of the system. but one of the things that I suppose
29:45
I think they probably should be thinking about is non-functional requirements I mean obviously
29:50
it looks like you're getting spammed again by the way Hey Simon, do you see the spam? Can you get rid
29:57
of the spam? It's irritating Me. Yes. Sorry, you're going. There you go
30:05
You get your requirements and, I don't know, they want a website that sells widgets or whatever
30:13
And that's kind of when your end user or customer comes to you
30:18
that's what they want. They want a website that sells widgets. If you said to them, do you want this website to be scalable
30:26
or reliable, they'd lose faith in you as a professional architect because they'd be like, well, of course we do
30:36
Why are you asking? That's a ridiculous question. So it's teasing them kind of requirements out to say, okay
30:46
well, I'm going to just turn the comments off because that's â€
30:50
Yeah, yeah. Simon, the comments are going on again. Sorry, everybody who's watching
30:55
I guess my show is so popular I'm getting spam now I'm just kidding
31:01
but we apologize we apologize we don't have control over some idiots doing that stuff
31:10
but we can stop them they're all bots anyway until they just come back in a couple minutes
31:16
with another bot we apologize I wish we could do something about it
31:21
anyway if I see any comments I'll relay them to you if you don't want to watch
31:27
Was it Elon Musk that said he was going to pull out of that? I don't know
31:32
He's talking about pulling out of that Twitter purchase because of too many bots on Twitter
31:39
Who knows what Elon is thinking. I think he's probably having buyer's remorse
31:44
and he just wants to say, yeah, this is too much. How can I get out of this and not look like a dummy
31:52
It's costing him a billion. is it a billion dollars to get out of it though if he if he don't go through with it it's a billion
31:57
dollars to to just pull out i suppose well that too yeah that and you know i know people are
32:02
canceling their tesla sales too you know so all right in america yeah and uh so it's costing him
32:09
in other ways too you know so i i don't want him on twitter you know i you know i barely like
32:17
twitter as it is but you know um i definitely don't think i would like it with him on it but
32:23
that's why I keep telling I keep tweeting to Jeff Fritz that he needs to buy
32:30
he needs to build a new Twitter as part of his show that he does every week
32:35
you know I was going to say online while people watch just build Twitter
32:38
how hard can it be really it's just certain characters and a couple links
32:47
and you know come on no it's a I thought about it for a split second
32:53
I go, I could do that. But then who's going to moderate the content
33:00
And I don't want to do that. So forget it. Because we'll have people like this guy, person, spamming my new Twitter site
33:11
Yeah, actually, interestingly, it nicely comes back to what I was saying about architecture
33:20
your non-functional requirements, you're just talking about rewrite Twitter or whatever. Your non-functional requirement there
33:30
is your scalability. Twitter, maybe now, not. But in the early days
33:36
it was a relatively simple concept. You just type something and you press OK
33:42
and it ends up in a data-persisted data store somewhere. But obviously, there's a thing there
33:49
where if a billion people are doing that at the same time, then you've got to kind of cope with that
33:54
and what happens with the, how do you scale it and so on
34:00
But this was what I said about it. It's a conversation that it takes a bit of practice to have
34:05
because obviously, you know, if you say, well, do you want your application to be scalable
34:09
Do you want it to be reliable? Yeah, yeah, yeah. Take, take, take, take
34:13
Obviously, you know, for scalability, it's about how how scalable you want it so you say how scalable do you want it well if everybody
34:23
in the world joined at the same time would you want to cope with that yes okay well this is how
34:28
much it's going to cost to build it yeah i don't want it to cost that much i think there was on
34:35
availability i was listening to something the other day about um the amount of money it costs
34:42
every time you know you get like five nines availability so every nine you add on to that
34:47
is is like an exponential amount of money that's that's ridiculous and right and obviously you can
34:56
do that so you can um even in the cloud you can do that you can have you know you can you can fail
35:01
over across clouds and and you can um you can write software i'm guessing if you're writing a
35:08
software for a nuclear reactor or something like that that's got to be a hundred percent reliable
35:13
right no matter how much that costs you can't have that go down right but at the same time you know
35:18
nobody's writing software for a nuclear reactor is is putting it on the internet and yeah that's true
35:24
communicating hopefully not yeah you would hope not yeah um and and the same with like you know
35:33
a couple of years ago, I think, I can't remember, it was .NET Rocks
35:38
they were talking about they were trying to recruit the last Fortran developer or whatever, because is it the Hubble telescope
35:45
or something, it's written in Fortran and the guy who was writing it retired
35:49
And they were like, they're looking for another guy, but nobody does it anymore
35:53
So they're sort of looking for somebody who's kind of coasting that retirement type of thing
36:00
to do it. But yeah, it's the same thing. know what what's important with the hubble telescope is is reliability 100 it has to be 100
36:09
reliable because if it's not then then billions of dollars of kit kind of flying to the sun or
36:15
you know i know nothing about space travel or nuclear reactors so i have no idea what would
36:19
happen if that software broke but um right i'm guessing it's not it's not a good story if if
36:25
your nuclear reactor software goes on the blink so hey simon uh we're getting more spam sorry to
36:31
to bug you, Simon. Gosh, they just won't leave me alone today. Jeez, this is the worst it's been
36:38
It's probably because you're on, you're from the UK. Maybe that's it, you know. But, you know
36:45
the number one, well, there's a lot of number one things I see companies not doing well. And
36:51
but pretty much the lack of architecture is pretty high up there to me, you know, and
36:57
And you're right about, you know, your job title because, you know, I've been architecting, you know, successful projects and even one that became, you know, I'm a patent inventor now and for a long time
37:11
But, you know, my current position, which I just got a couple of months ago, is the first time I've actually had the title
37:16
Right. So that's my title. I'm an actual real architect as far as title goes now
37:22
But even though I been one for a really long time right I think if you write apps from scratch you basically are an architect right And not everybody can be one and not everybody great at it but it something that you know
37:41
companies, to me, if they don't put the money in the architecture, they're going to pay for it
37:46
somewhere else, right? And usually that's always means losing customers. So I've warned customer
37:53
companies over and over again if you do x or y you're going to lose customers and they don't
37:58
listen to me and they do it and they lose customers right and it's it's it's just yeah
38:04
that's the thing and it's how you um yeah i mean exactly what you've just said if you um
38:09
it's just it's just making that decision clear and if you say i i don't want to employ an actor
38:16
or i don't want my software to be architected you're not really saying i don't want my software
38:21
to be architected you're saying i want my software to be architected by that guy it's like okay that
38:27
who's that junior person that we just hired what what's his credentials well he left school like
38:33
six months ago and he's just learning javascript or something and it's like okay so how many systems
38:39
has he worked on what you know what's the um you know what's his take on on how to write scalable
38:44
software whatever the guy might be a genius i'm not you know disparaging this imaginary guy we've
38:50
just made up but the likelihood is that he's uh you know there's going to be a little bit of um
38:56
copy and paste and there's going to be a little bit of um just kind of uh get something working
39:02
and it's going to be tested on his machine and it's going to be a one-person test and so on and
39:06
so forth and and if you want um if you want to spend like you know 500 pound or whatever that
39:14
as in dollars on a website and you expect five people a month to go and see it, that's fine
39:21
No problem with that. If you're writing a massive website that's going to be visited by thousands or hundreds
39:29
of thousands of users, then you're going to start hitting scalability problems very quickly
39:34
or I suppose the same thing with security, for example. So, you know, what's, and to be fair, security is a bit of an interesting one because I think certainly on the Microsoft stack, it's becoming harder and harder to write in secure software now
39:52
Yes. So, you know, file new and you've got a secure project
39:57
You kind of don't have to do anything. and even things like the
40:02
I don't know if you've seen on Azure now, you can pretty much turn on an SSL certificate
40:08
just by, you know, you just go in and press a couple of buttons, you've got SSL, which it wasn't rocket science
40:16
but it was certainly not straightforward before. It was sort of messing about with Let's Encrypt
40:20
and all this kind of business, or you had to go and pay somebody to give you a certificate
40:26
But with Azure now, it's so much simpler. And I think, you know, that's the way that that's kind of the way we've got to go with security
40:35
Just, you know, if you don't do anything, you kind of secure unless you, you know, you should be trying to fight it to make it less secure
40:43
Yeah, yeah, that's that's true. And I think teams are getting slightly better, but, you know, at least in my experience in my entire career, you know, teams never put enough, you know, work on security
41:01
You know, I think most companies think of security. We'll worry about it when we get broken into or something
41:06
Right. Because we don't want to spend the money to harden it now. We'll harden it when something happens
41:11
Right. And and even, you know, this one company I was working with
41:14
at you know 12 13 years ago the architect we had two architects and um and and before the release of
41:23
the product i was working on i was walked up to the architect and i said i i told him you know
41:29
this isn't secure we need to make sure it's secure you know before we release it at the end of the
41:34
year and he's gone no don't worry about it we'll worry about after release it i'm just going what
41:39
are you talking about you're an architect and you're saying this come on you know that's yeah
41:46
i mean i've um and and the other interesting thing about security is um i suppose one thing that is
41:55
is worth bearing in mind is what you're trying to secure and and how secure you're trying to make it
42:00
so um i mean ultimately you know it's like it's like your house and it so you can never be 100
42:07
secure like you can put you know you can uh you can go to like fort knox or somewhere and and
42:16
that's a secure building but it's not 100 secure like it is it's physically possible to get into
42:22
that building it's like you know you watch i don't know if you you watch like prison break
42:26
or something like that you know however on top or yeah yeah whatever the way around is ultimately
42:32
someone's going to get in so it's about it tends to be the same thing as with a house it's it's um
42:39
what is it you're trying to protect and who are you trying to protect it against right because because obviously them considerations are different if you're um if you're primary if
42:48
you're writing a public facing website which i suppose most people think of when they think
42:51
security they think oh i'm writing a public facing website so i need to deal with um a credential
42:57
stuff in attack or i need to deal with a um you know somebody trying to brute force a password or
43:03
whatever but quite often there's uh there's other security considerations because obviously you know
43:09
in in uh websites don't make 100 of development activity so there's there's other other problems
43:18
so you know one one thing might be you know say say you're writing an internal cash desk system
43:23
well one person you might be trying to secure that against is the person who's using it like
43:28
legitimately using it but but actually you know got the hand in the till or whatever
43:32
and it's how do you do that i mean that was the you know one of the
43:37
one of the things that i was investigating recently with you know event sourcing which is
43:44
you know sort of a way that you you can track what's happened to the system in a way that makes
43:50
it pretty difficult to sort of mess about with the history because after a bit, you sort
43:59
of end up with a sort of audit trail by default if you're using that kind of paradigm
44:07
And actually, that reminds me of this project that I'm helping with at work right now, and
44:12
that is the company is really getting behind telemetry. You know, and like you're saying, event sourcing, you know, activities and then also logging, you know, that goes to, you know, an open telemetry and then goes back into the Splunk and everything
44:30
And for those exact reasons you were saying, right, because one of the one of the projects I'm in charge of right now, you know, the security team has told me that their biggest beef with it is that they don't know who's hitting it
44:45
You know, and that I've got to, you know, make sure that's, you know, brought up in the next meetings, you know, where we go and harden that software
44:54
But yet you right And even that becoming you know back 10 years ago all we did was log stuff but now it becoming you know this open telemetry with which is good uh but that just
45:08
there's more you know things you have to do to get it to work and fart around with to make sure
45:13
everything gets hey simon they're spamming us again you know so many more things you know you
45:19
have to get working right for that and what do you think about you know the batching of the things
45:24
going up and blah blah blah it's it's it's a lot to think about you know for only something like
45:28
that but but you're right and especially for you know industry like the one i work with where we
45:34
deal with people's you know credit card information and and and things like that it's even more you
45:40
know it's even more important security uh because of that and and there's actually projects i'm
45:45
I'm working on now to make that more difficult to get at, right? To make it more difficult to get
45:56
credit card information, you know, from our system if someone hacks into it, right? And so these are
46:01
things we all have to worry about now. And, you know, I'll probably say this until, you know, I
46:07
stop talking about software engineering, but, you know, things were easier when I started, you know
46:12
probably you too you know we absolutely did we did have so many things to worry about back then
46:18
and um i mean we we still had to worry about security and things like that but
46:23
you know even when i worked for this company we did online gambling you know we would tell
46:29
investors that you know yeah we're going to secure it but you know we're more worried about
46:36
an internal person stealing the data not an external person right because that's something
46:41
else you have to harden against is the internal people have admin access to everything can get
46:45
into anything they want right yeah so um i actually used to work for a um a company that did gambling
46:54
software as well and um but exactly the same thing so we had um uh our biggest our biggest threat was
47:01
people who so we distribute this to like betting shops our biggest threat was the people who worked
47:07
in the betting shops yeah that basically using the machines to and obviously the problem there is
47:13
you um you kind of you're already on the back foot because you the guy can't do his job unless
47:21
you give him sufficient access to do his job and then it's like well hang on how much how much
47:27
access is this and exactly you know what what can you do with this access and so on and so forth so
47:31
um it is a very difficult problem when i mean if you at least with a website if it's just the
47:37
case of I want to defend against a brute force password attack that's an external person coming
47:44
into your site there's certainly these days you know that can be a relatively straightforward you
47:50
know you can go okay well you tried three times you're frozen for five minutes or something or
47:55
uh-oh did we lose Paul Simon nope that's the actual name Simon oh
48:16
something happened oh David says he needs your
48:25
handles oh you're asking me oh just go to .net tips.com everything
48:32
is there uh david um who i i don't know who that is but uh on on youtube i guess it looks like
48:40
uh anyway i i'm sorry something happened and you dropped or i who knows what happened
48:47
yeah what were you saying do you remember no i am no i don't yeah so you know what i did have
48:57
have one question. So since you've been around a long time like me, and if you do have a boss or
49:04
a customer or somebody come up to you and you say, okay, well, we can do this feature, but it's going
49:09
to take two weeks of architecture and let's just say something like that. And they balk at it
49:17
What's something you found that helps try to get people to really pay attention to putting
49:27
money into proper architecture so there's i mean the problem we've got in this industry is we don't
49:33
have um like if you're if you're an electrician for example in in the uk i don't know if this is
49:40
true in in the us but in the us too yeah so if you're not if i get an electrician in here right
49:46
i'm kind of his boss because i'm paying him money right if i go okay we want i want you to put a
49:50
light switch in there and i want you to basically run a line diagonally from this light switch to
49:55
this thing i don't want to pay for the extra cable or whatever it'll go can't do that because if i
50:00
do it i'll lose me uh my certification right we don't have it won't pass inspection right yeah so
50:06
yeah but we don't have anything like that in in software so if if somebody says look i want you
50:11
and you know i'm not sure i want to go as far as say we should but we do write you know there is
50:18
software running you know i was being facetious when i said nuclear reactors but there is software
50:22
running nuclear reactors and software driving cars and and um you know medical machines and
50:29
flying planes and all this kind of stuff we have um a lot you know the arguably that there's more
50:38
stuff that can happen if you mess up a software system than if you drill through an electric wire
50:44
right and a lot because the blast the blast radius is is bigger and so that i suppose that's
50:51
the first thing that i'd want to mention that that um for someone who like you know like you
50:55
just said we've both kind of been in the industry a while um for a junior program that is a hard
51:00
conversation to have because if it's like okay this system needs designing it you know it's going
51:05
to take three months or whatever and it's like well no it needs to be out in a week
51:09
the temptation of just kind of hacking anything together to get it out in a week
51:14
is um it's going to be big for someone who's you know 18 19 20 year old straight out of school
51:20
just wants to make a name for themselves the last thing they want to be doing is arguing with a boss
51:25
and saying no you can't have this when you want it but I tend to find that the
51:31
the thing to do at that point is to have the discussion about what the impetus is like why
51:39
why do you need to get it out in a week or why do you need to get it out in two weeks whatever it is
51:44
and and quite often if you have that conversation you can come up with a reduced version of that
51:50
system that um that will do the job and and i suppose you know that's kind of one of the things
51:57
that i suppose an architect in inverted commas would um would provide value for um which is
52:08
is do you actually need the system that you've asked for? Because quite often the question you'll get is
52:16
you know, we need a brand new microservice to process this data and it needs to do this and do that and do the other And quite often the question of what exactly is it what problem you trying to solve never gets answered never gets answered so
52:38
you know it's like okay we've we've decided that we need a microservice architecture we decided we
52:44
need uh an event sourced architecture or whatever it is and um then then you know you've you've
52:52
solved some problems that you may or may not have you've introduced a load of new problems
52:58
that you might not have had before and so you know the the uh i feel like if if as a
53:07
as a uh again you know i'm going to use the inverted commas as as an architect as a person
53:12
who's doing architecture so whether that be a programmer or whatever and if you can say look
53:18
you do not need this system which you know is a bit different from you get an electrician out and
53:24
he goes you don't need a light switch you can't really do that but he said if you say look you
53:29
don't need this system you can you can um uh you can just use a a pen and paper for for the thing
53:37
that you want to do then use a pen and paper because it's it's far more secure and reliable
53:46
and it is a lot cheaper like it you know it might be a case of well no you can't use a pen and paper
53:53
because there's there's a million people who are trying to use this okay well that's that's a
53:57
reasonable requirement at that point but you know it if you've um one um you know an example of one
54:06
of the systems i worked on in my early career was a program i think we spent six months on it to
54:12
produce mortgage quotes and at the end of it we ended up with this effectively forms over data
54:22
thing that fed into access and it basically just said you know how much are they asking for a
54:29
mortgage for and the name and address and all this kind of stuff and it was you know it probably took
54:36
the guy who was going out to to see people about the same amount of time to fill in this form as
54:41
it would have taken if you just write out the answers and then he'd print it out so it's like
54:47
that's a brilliant what are you really solving right yeah that's a brilliant example of you've
54:52
just wasted a fair amount of money on on something that's just just not necessary and i suppose that's
54:59
the problem because obviously if you're a if you're if you make your money from software
55:03
development and someone says i want you to do some software development it's tempting to go
55:07
yeah okay i'll do some software development same way as if you make your money from laying bricks
55:13
and someone says i want a wall very rarely you're going to go why why do you want this wall outside
55:19
your door what are you going to do with it you're just going to start laying bricks so right right i think i think that's one of the interesting one of the the benefits that software
55:28
developers can um can give and i suppose you know we're in a time at the minute where i don't know
55:35
what it's like in america but i assume it's the same as in the uk um the amount of software
55:41
developers to job ratio like there's there's probably two or three jobs for every uh every
55:49
programmer out there yeah yeah and and so that that sort of puts you in a bit more of a
55:57
um a secure position if you like in terms of uh you know it feels more comfortable being at sa
56:03
you don't need the thing that you just asked for or you know it's not necessary because you know
56:10
i've as i imagine you have gone through you know the period shortly after the the dotnet boom
56:19
thing in like you know early 2000s where yeah people were being laid off yeah the idea of um
56:28
the idea of saying well no you've just employed me to do something but i don't think you need it
56:33
that would have been insane you'd be like no oh yeah yeah i've got to feed my family i've got
56:37
to make some money but um it's a bit different these days so yeah yeah there's a lot more
56:43
developers we need a lot more developers and you know quite frankly my uh my thought on that is we
56:49
we need a lot more better developers too um it's you know uh i'll never shut up if i go on that
56:57
down that line but i gotta let you go because i only have a few minutes left and uh i don't want
57:02
way more spam getting on my show today, I think four times or whatever is enough
57:07
So I'm going to let you go. So the last two, I really appreciate you being on
57:12
especially, you know, all the way from the UK. And before I forget, I'm more than willing to, you know
57:18
help you guys out in your meetups or hackathons. Anytime you want, just let me know
57:23
Give me some time to schedule it. I'll always be there. But the last two questions I always ask everybody is
57:30
which you kind of said in your bio, but you know what do you besides coding what do you do for fun yeah so i do um cycling i most of
57:40
the time if you kind of uh if you see me during the day when it's sunny like today i'll be out
57:45
cycling somewhere on the peak district and and i and i can dovetail this into the second question
57:52
i think you're gonna ask me um what do you have anything to plug yeah so i do i do um quite a bit
57:58
of programming in my spare time but i also write about programming so um i've recently had a book
58:04
published oh awesome and uh no i don't know if i'm allowed to do this but i'm going to do it anyway
58:11
so you can put the link in the private chat and simon can post it on the screen yeah that's the
58:17
link and uh this is a discount code as well for the um for the book that i'm not sure whether i'm
58:27
allowed to give out but i'll give it out now okay um yeah so i basically i've uh i suppose i've
58:36
i've written a book about the things we've been talking about today so you know awesome the types
58:40
of software architecture how um how you would go away uh go about defining requirements and and you
58:48
know all all the good things that we've just spoken about um awesome i'll check it out uh and
58:54
And yeah, just as you said in the intro, you know, cooking, beer, music at the same time, usually
59:05
That's the best thing, you know, right? It's getting warmer here. So everybody's looking forward to the barbecues and outside
59:11
And, you know, now that we're finally, well, we're not over COVID, but at least people are acting like it more and more
59:18
I think, you know, it's going to be a pretty crazy summer coming up. it's like 20 degrees here and it's pretty much as hot as it's been all year
59:26
and probably as hot as it will be for the rest of the year
59:32
Well, I got to let you go before, before, uh, my awesome producer Simon gets upset at me. Uh, but
59:38
but since I'm not feeling good, I, I want to go anyway. So, well
59:42
I don't, but it's been great, you know, been great. Yeah. Thanks. And, and, uh
59:48
Anytime you want to come back and talk about software architecture or anything like that
59:53
please let me know. And you're welcome to come back anytime you want. Thank you
59:58
Cheers. Thank you. Well, that was a really great discussion with Paul
1:00:02
I enjoyed it, even though I'm under the weather. I apologize to everybody for the spamming that was happening during that segment
1:00:11
Like I said, we don't have control over that, but we try to squash it down as fast as possible
1:00:16
So I just have a few more slides, and then I can go to the pharmacy
1:00:22
So if you're worried about code performance, and you should be, especially if you're moving to the cloud
1:00:27
You can go to my website, go to that link there. And a lot of my code performance book is up there
1:00:34
I'm working on new metrics and everything right now. And so that'll be up there soon, too
1:00:40
So I hope you go check that out. And as always every week, everybody gets a copy, a free copy of Code Rush from DevExpress
1:00:52
the only refactoring tool I've used in Visual Studio. So I hope you'll try it out too
1:00:57
It's a real licensed copy. It's what I use every day when I'm coding
1:01:01
And I've been coding every day lately because I've been working really hard on my new releases for Spargin
1:01:07
And then I have a new project I'm really excited about getting to work on
1:01:11
probably next month or maybe after I get back from Australia. So check that out
1:01:19
Also, don't forget my coding standards book. If your company doesn't have coding standards
1:01:24
or needs better coding standards, which I see in most companies I go to
1:01:29
actually every company I go to, I'm sorry, go check out my book
1:01:34
It's on Amazon right now. Just go to that URL or just go to Amazon and search for my name and you can get my book I greatly appreciate it All the money goes to my retirement fund So I hope you check it out
1:01:50
And let me know if you have any feedback for it too. I did find some humor because I tried to print something this week
1:01:57
During the pandemic, I haven't been printing a lot. And I think I tweeted that
1:02:04
why can't they make a printer that can actually print if you haven't used it in a month or so
1:02:08
And so this kind of goes along with that. While I mostly connect people
1:02:12
the entire human knowledge, but I also play video games, music, blah, blah, blah
1:02:18
And the printer says, I put ink on paper. Well, that's cool
1:02:22
You have your thing. I bet you're like a super dependable at it
1:02:26
Not really. No kidding. Man, I cleaned my nozzle heads like three times
1:02:33
and I still couldn't get the color to work properly. so I hope they make better printers that don't die now that we're we're not we don't print much
1:02:43
anymore so they should really make printers that you can go a couple months without using them
1:02:48
that's my take on it also I'm no one's donated in the last couple months but I hope you go
1:02:57
to this page I mean to that link there and help me help the kids from Delhi India
1:03:03
in the orphanage there that we've raised money for. My last donation to them a month or two ago
1:03:10
was almost $500. All that money came from you. So I appreciate that
1:03:15
So if you want to donate there, you can go there. You can scan the QR code
1:03:19
If you just want to donate directly I rather you do that actually It doesn go through me Just go to voiceofslum and you can they always looking for you to buy everything from school supplies to
1:03:33
clothes for the kids and things like that. And I hope to go there when I go to India this year in October
1:03:41
So help me help the kids from India. They really need your help
1:03:45
especially during these challenging times in the world right now. Thanks for watching. We're off until June 4th because Simon has other obligations. So I've got some really awesome guests lined up. So just so I watch my site or tsharpcorner.com when I announce those really soon
1:04:09
Also forget COVID is still We're still Having over 300 people In the US die a day from COVID
1:04:18
If you're not in the US We reached over 1 million people
1:04:24
Dead now in the US From COVID this week Which is a very sad
1:04:29
Sad milestone So please be careful I'm going to be wearing my mask
1:04:37
On the plane tomorrow So even though I'm sick, I still don't want to get COVID
1:04:43
So please be careful out there. Listen to your medical professionals. Please donate blood
1:04:49
I was supposed to donate this weekend, but of course I can't because I'm running a fever
1:04:54
So please donate to your local blood bank. Every blood bank in the world has got a shortage right now, and they really need your help
1:05:02
It really easy for you to do It doesn cost you anything and it makes you feel better for helping up the three people from one donation So I hope you go do that And let me know if you do
1:05:14
Also, as every week, please email suggestions, things like that, what guests you want on
1:05:20
what you like about the show, what you don't like about the show, the rock and cold world at C sharp corner.com. I'm sorry I didn't get to say hi to the few people
1:05:27
who said hi. I'm really, I'll get to you next time. So with that, I'll see you on June 4th
1:05:34
See you later, geeks. Thank you
1:06:27
Thank you