Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Blog Pricing
Podcast Image

Ask the Programmer

Ask The Programmer Episode 261 - Guest Mike Krejci Discusses Programming Languages for Projects

12 Apr 2026

Transcription

Chapter 1: What is the main topic discussed in this episode?

0.031 - 13.104 Steve Greenblatt

From the world of AV programming and control with James King, I'm Steve Greenblatt, and this is Ask the Programmer. Hey, James. I'm glad we're back for another episode, and we have a familiar guest and a great topic for today, so it's exciting.

0

13.824 - 26.697 James King

Oh, yeah. I'm looking forward to this topic. This guest brings a wealth of knowledge every time we interact with him and have him on the guest, so really looking forward to this one. How are you doing, Steve?

0

26.896 - 54.193 Steve Greenblatt

Doing pretty well. Doing well. It's been fun with our string of guests, and I think we're going to continue the momentum, and we've been getting some good feedback on our episodes, so things are good. So without further ado, we get to welcome back Mike Krejci. He's the director of programming at CTI, and he's been on several past episodes, most recently episodes 222 and 223, so check those out.

0

54.273 - 55.975 Steve Greenblatt

But welcome back, Mike.

0

56.528 - 67.669 Mike Krejci

Thanks, Steve. Glad to be here. Always enjoy the conversation with you, James, as well. Yeah, really excited to talk about topics today.

68.122 - 92.716 Steve Greenblatt

Absolutely. So Mike, you've been a lot more active recently on LinkedIn and I've really been enjoying your posts. And one of them really caught my eye because it's just something, a question that I've had for some time and something that I think is really thought provoking. And the question that you asked is, how are we going to program this project? What's the language? Where do you start?

92.916 - 113.351 Steve Greenblatt

Because a lot of times you have different options and There's pros and cons, and it's really not necessarily a clear-cut choice. So if you could give us a little bit of background about what prompted you to talk about this and take us through the story a little bit.

114.633 - 144.016 Mike Krejci

Yeah, so I mean, this is a challenge I think we've been facing for decades. a number of years. You know, really, I go back to when VC4 was first announced from Crestron and they came out with, you know, the ability to do C-sharp. And, you know, now we had two ways to do it. And, You know, with all the control platforms now, you know, with, you know, I'll go the four major ones, right?

144.036 - 175.681 Mike Krejci

All four of them now have options that range from low code to no or no code, low code and full code. And that can be, you know, all of those platforms allow us to do that variance. So. As a programmer, we're not necessarily determining what the control system is, what the hardware is, but we get a black box on our desk and say, hey, make this work, make it do something.

Chapter 2: How do you determine the programming language for a project?

466.559 - 487.215 James King

And in a way, no. Um, I actually just had this conversation recently with my team, not with programming, but I take it the same way with the programming. If I was working with a third-party company or integrator or whatnot, I'm not going to tell you the how.

0

487.381 - 516.055 James King

here's my constraints and my requirement like you figure out the how to get the outcome we're looking for knowing this information um i think mike hit on a good point which I have gone back and forth since Mike was talked about because I'm sure some of our listeners are yelling at the radio right now of job security. Yeah, Mike is thinking holistically long-term.

0

516.075 - 551.468 James King

I'll use this term as an end user. I like that thinking. Yes. I want to stick with the same programmer. I'll pick here and say CTI with Mike. Cool. But Mike programs it around him, and my systems are designed that way around him. He is a bottleneck and a point of failure. You know, he may get busy. He may leave CTI. And or, you know, even worst case scenario.

0

551.488 - 576.619 James King

Other things can happen or best case scenario. He gets promoted and moved out into programming and do something else. And then I'm left as a user hanging with the bag. Now what? Cool. So he's thinking holistically, cool, let's take care of the customer, which as a customer, I love. As a person who did programming, it's like,

0

577.274 - 602.758 James King

Well, I want it done the way I know how to do it because if I have to get in there and fix it, I want to be able to do it. I don't do that anymore, so that's really no longer a concern of mine, but it was a concern when I was programming daily. So, yeah, like I said, I think Mike hit some good points, but I would say my current role as a leader, supervisor,

603.768 - 612.682 James King

I like where Mike is coming from, but I can also see, like I said, some probably our listeners are yelling at the radio, Mike, you're giving away our jobs.

616.909 - 649.335 Steve Greenblatt

So I also have experienced this and in our team, we had to change the way we were going about programming certain things. And I've had situations where somebody doesn't have the skillset to be able to edit the code that somebody else wrote. But I also feel like it's important for us to evolve. It's important for us to use the tools that are the best fit for the situation.

649.436 - 673.121 Steve Greenblatt

And it's important for us to embrace forward thinking technology. So let's take this a little bit further. Is there a rule of thumb? Is there some way of being able to have a compromise? Is there a best case scenario?

675.563 - 710.014 Mike Krejci

I think with anything, it's a blend. It's moderation and it's the right tool for the job. You know, if you're dealing with complex data structures and APIs and, you know, handling JSON files, XML files, and things back and forth, you're not going to try and do that in a block-type code environment. You're not going to try and do that... in, you know, the pretty little tool.

Chapter 3: What are the pros and cons of different programming approaches?

1078.055 - 1097.215 Mike Krejci

Make that part complicated, get that part solid, and then we can put the rest into a friendlier environment for our technicians. And so that's all just... the conversation that's had. And usually it's a, you know, it's a pretty quick one.

0

1097.255 - 1116.602 Mike Krejci

You know, it's maybe a 30 minute call with me and a programmer and just kind of thinking through it, discussing it and going, okay, I think we have a game plan now of what to do. And then there's always room, right, to pivot, adjust and go, oh, wait, we've actually thought about it. We're going to make it even simpler when we go through.

0

1119.485 - 1146.317 Steve Greenblatt

James, any insight that you want to share on that? And what are your thoughts about how this is processed and just the scenario of knowing that there are different options and not necessarily one specific known path?

0

1148.18 - 1190.463 James King

I mean, that's one thing that drives me or, you know, my love for IT and AV and all that stuff is there is no one path. Like, there's multiple ways to do things in any field. Networking, databases, you name it, AV, there's multiple ways to do something. Listening to Mike speak, where my mind goes is thinking of what my boss currently keeps talking about, and that is return on effort.

0

1191.705 - 1215.846 James King

Let's bring this a little bit to business. Everyone knows the return on investment. How much money are we gonna get back? in whatever service we do, whatever that, but return on an effort is harder to gauge. So like to give us a scenario, like Mike brought up, you know, code is living, breathing, always changing.

1217.449 - 1248.227 James King

If the user just wants a simple word change on the touch panel, you know, the button change from, you know, Electron PC to In Room PC, I don't know, just some weird things like that. That, if that request hits the field technician, you know, and that field technician can't change it and needs to escalate it up to, say, a junior programmer.

1249.642 - 1267.63 James King

And that junior programmer, you know, because it was locked down into this high-level code, can't do it. So they bumped it up to the senior programmer who goes in. That's three texts from your company to make a text change. That's a lot of effort.

1267.65 - 1288.693 James King

How much time and money is being spent and effort is being spent on that small change if you built it, like Mike is kind of talking about, where that field tech go, oh, you want the words changed. Cool. I can log in. Let me change this real quick. It doesn't require a senior programmer. And, you know,

1288.91 - 1313.837 James King

Again, talking about business side of things here, there's a lot of different pay going on there. Field tech is going to be one hourly rate. A junior program is going to be a different hourly rate. And your senior program is going to be a different hourly rate. Even if we think here and think, oh, changing the text on the button takes two seconds, three seconds.

Chapter 4: How does team collaboration affect programming decisions?

1484.035 - 1518.177 James King

I always had a saying when I'm teaching my student workers or even a new tech on wiring racks. I use the saying, you should wire up a rack as if the person who is coming in behind you is an insane killer who, if you make them mad, will hunt you down and kill you. 99% of the time, you're the one going in afterwards. And so don't Make yourself mad. Well, same thing with programming.

0

1518.238 - 1525.045 James King

Like, make it so that, you know, you're not making the next person mad or frustrated. Because, you know, it could be you.

0

1528.197 - 1555.74 Steve Greenblatt

Such good points. And there's so much to think about here. And that's why I love this conversation because most people think, it's just programming, just do it. And honestly, this conversation that kind of makes me think too, is there a parallel to this in another industry? Or is this something that's so unique and is really what makes AV programming special?

0

1559.298 - 1587.662 Mike Krejci

There's probably a lot of parallels that we're just unaware of, right? You know, you could even go down to think about it, how to make a cheeseburger, right? At the end of the day, it's a bun, a ground beef, a slice of cheese. And you've got a burger, you know, sure, you can do it a whole lot of fancier ways, but are you really improving on the original that much?

0

1589.165 - 1598.282 Mike Krejci

And if anything's going to probably give us, you know, come at me in the comments, it's going to be the cheeseburger comment, not taking the jobs away, James, but...

1600.439 - 1619.281 Steve Greenblatt

This has really made me think about things in a lot of different ways, and I think that's the importance of this conversation. One last thing before we wrap up. Mike, have you ever had the conversation with the client as to how you're going to approach programming?

1621.364 - 1660.486 Mike Krejci

Multiple times. A couple of years ago, there was a... a consultant-driven design for a net new client for us at CTI, and they wanted everything to be written in Crestron. They wanted it all written in C Sharp. based on the system design and the, and the, uh, age of VC or, uh, C sharp, um, this was probably eight, 10 years ago. It just did not make sense for the client.

1661.308 - 1672.302 Mike Krejci

Um, you know, and there was a, you know, a conversation with the consultant going, Hey, that's a great way we could do this. You know, that is a possible way.

1672.843 - 1672.903

Um,

Comments

There are no comments yet.

Please log in to write the first comment.