The Build Better Software Podcast

Michael joins me to talk about his new Book, "Don't Say that At Work", which you can buy here: https://gum.co/dont-say-that/podcast-special

Show Notes

Buy the book here: https://gum.co/dont-say-that/podcast-special
Michael's pluralsight courses here: https://www.pluralsight.com/authors/michael-callaghan

Rough Transcript (powered by Otter.ai)
George Stocker  0:00  
Hi, I'm George Stocker, and this is the build better software podcast. Today I have the pleasure of talking with Michael Callahan, lead software engineer at Walt Disney World. And I want to welcome you to the show.

Michael Callaghan  0:11  
Thank you, George, happy to be here.

George Stocker  0:13  
So for the those of us who may not know about you, or what you do, tell us a little bit about yourself,

Michael Callaghan  0:19  
where can I start, I am halfway through my third decade of professional software development. It was way back in the ninth grade in buoy High School. When the data processing teacher, we actually had that class, took pity on me, and allowed me to essentially use her dumb terminals in the classroom after school to teach myself basic. That led to a love for computers and software that never really waned. Even though it was about 10 years after graduation, before I got my very first paid software development gig. And I even got burned out in the late 2000s. Well, mid mid to late 2000s. And didn't work for three years in the industry. And fortunately, that that changed. And I'm now in my 10th year at Disney with Disney Parks experiences and products, where I build what we call cast facing web applications.

George Stocker  1:28  
So applications for the internal employees that work at Microsoft, or not Microsoft at Disney,

Michael Callaghan  1:35  
correct. As you may or may not be aware, Disney Parks refers to their employees as cast members, because the entire place if you will, is the metaphor as a as an ongoing show. So even us, we were called backup house cast members, because we're never on stage.

George Stocker  1:53  
And now you have a book that just came out, which I had the privilege to read. It's called "Don't Say That at Work". Tell us a little bit about that.

Michael Callaghan  2:00  
What can I tell you about that, as you can probably imagine, if you've done anything for any length of time, you're going to make a lot of mistakes. Hopefully you recover from those mistakes and learn from them. This book is about some of what I consider the more egregious errors that I've made over my career, and some cases, mistakes that somebody else might have made or things that I've observed. And I just decided to put them down in essay form, came up with 20 topics and went ahead and publish the book. So far, it's been well received. 

George Stocker  2:36  
Now, before we dive deeper into your background, I want to dive a little bit into the book. And in the book you talk about not only, you know, mistakes that that you've made, but also things that both software engineers and software leaders should be aware of. And you have a story in it about about one of your bosses, can you go deeper into that story

Michael Callaghan  2:57  
I mentioned a few different bosses in the story is which one he is talking about in particular,

George Stocker  3:03  
it was it was a boss that was not was not altogether truthful.

Michael Callaghan  3:09  
That was a fun experience, because that was very early in my career. And so I was still naive, wet behind the ears, whatever phrase you want to use. And I never had a college degree, at least not at that point. I was a University of Maryland computer science dropout twice. So when I got my very first software development job in 1995, I felt very fortunate that someone was willing to give me a chance without a degree. That did not turn out too well. And then I got my second job. And that was this particular boss. Not only did he not give me the job that he hired me to do, which was that of a Macintosh developer. And yes, I was a Mac developer before it was cool back when we used Pascal. But not only did he not give me the job that he had hired me to do a few years into the into the job, I want to say bout a year and a half, maybe two years. He asked me to falsify my resume. Because what he would do was send resumes of his employees when he when he would bid on a job. So we were as we were an independent software development shop. And he would go and bid on different development projects, bring them back in house, and then he would manage the project. So this particular client wanted only college graduates to work on their project. And that's their prerogative. I didn't have a degree. And when I pointed that out to him, and he did two things very quickly. One he got annoyed with me for not having a degree even though he knew that and then second, he went ahead and modified my resume to say that I had a computer science degree when he sent it to the client. As you can imagine, I didn't take that very well. But this is my my boss. This is my livelihood, doing what can you do about it. Eventually, I decided that I couldn't in good conscious, keep working for this guy. So I started looking for other jobs. So I went ahead and submitted my resignation and turned over the key to the office and walked out the door, essentially.

George Stocker  5:16  
But that's not the end of it, is it?

Michael Callaghan  5:17  
It is not.

You have read the book. So right after I resigned, I thought we were on pretty good terms. He sent me an email that said, Hey, would you mind signing this affidavit? I just need something for, for the record saying that, you know, you officially quit and you don't have any company property. And then you're not going to solicit any of our clients or, or employees to try to poach them. I was good with that I looked through it didn't seem to be anything scary in there. So I signed it to the back a day or two later, I was cleaning out my desk, at home, my work from home desk, and I found a couple of CDs that obviously belonged to my employer, my former employer. So I sent off a quick email to him, I said, hey, I've got these CDs. I must have overlooked them. If you want, I can bring them by the office sometime, put them in the mail, whatever you want, set them aside. didn't think anything more about it. That Saturday, I got a priority overnight, FedEx letter from his attorney, accusing me of stealing, not only the CDs, but also source code, and informing me that I was now the subject of both civil and criminal investigations.

George Stocker  6:31  
And so at that point, how are you? How are you feeling like to get that that letter petrified,

Michael Callaghan  6:38  
absolutely terrified. And here I am, I've got a wife in a newborn, I think my son was about 18 months old, maybe close to two years. And here I am being told that I'm going to be arrested and thrown in prison. Because I committed perjury by saying that I hadn't kept any company property. But you

George Stocker  6:57  
did the right thing, and that you engage the lawyer in this kind of entertainment that ever gets in the situation. talk to a lawyer before you do anything. And you talk to a lawyer and a lawyer. I did

Michael Callaghan  7:07  
talk to a lawyer. But keep in mind, it was Saturday. There was no Google there wasn't really much of an internet in 1997. To speak of. So I there wasn't a lot of research I could do there wasn't, I couldn't go to a website and ask questions or, you know, legal online forums, I had to go to the Yellow Pages for New Hampshire, find a lawyer pretty much at random, and wait until Monday. So I had to wait two whole days, not knowing what was gonna happen. And then Monday morning, I called someone that I had found that offered one hour free consultations and explained to him what happened. He had me come into his office with everything that I had, you know, the letter or the the email the the letter that I had signed, saying that I wasn't going to take anything and meet him in his office that morning. When I got there, he reviewed everything he heard my side of the story said, this seems like overkill. This seems kind of silly. So let me just go ahead and give this guy a call. Maybe we can take care of it right now. I won't even charge you anything. I'll just, I'll just help you take care of it. And when he made the call, my boss flipped out. I don't think he was expecting me to fight back. I assumed he just thought I would roll over and cower, which kind of what I want it to do. But one of the one of the cool things about the call from my attorney said, Let's call him Mr. Smith, said Mr. Smith, you can't go around threatening criminal prosecution to as a private citizen. He said, That's not how this works. He says, in fact, you could be putting yourself in legal Jeopardy by doing that. In this state, he goes, so I would appreciate it. If you don't go around making threats like that to my client. You know, now I'm getting nice and puffed up. That was the wrong thing to say to this guy. He he was not one that could be intimidated. And I could hear through the other end of the phone. He was just screaming at my attorney. Eventually everything calmed down. But when they got off the phone, the the lawyer looked at me and said, Well, I thought we could take care of this pretty easily, but it looks like not. And so I had to hire him officially and give him a $500 retainer. And then he took over negotiations with my former bosses attorney. And the way it all ended up, I ended up driving to this other attorney's office, giving him the two CDs and another affidavit and believe it or not, I was also required to apologize for putting my boss and all in his company through this ordeal, and it cost me $500 so for the privilege of doing that, but in the end, I never served any prison time. So I guess it's all good.

George Stocker  9:49  
Yeah, no, it was it was a harrowing story to read. And it it reinforced at least for me in my background is Ensuring that when you're interviewing at a company, or when you're working somewhere, you know, if you see small things that look like they're out of place, you see small moral misgivings that that can, you know, that's not just the first time that somebody's done something about, you know, falsifying your resume and sending out to his clients or prospective clients for the company is not probably the first time that they've done something that is ethically questionable. And you need to be on the lookout for that, because it could lead to in fact, what you went through, which is a pretty harrowing experience.

Michael Callaghan  10:38  
It was definitely a harrowing experience.

George Stocker  10:41  
Now, on the lighter side of the book, the book has 20 some odd lessons about things not to do at work. And one of the other passages that really stuck with me was, don't say no at work, and you give an example of how things are handled during a Walt Disney experience. Can you go into more detail?

Michael Callaghan  11:03  
Yes. And let me preface that by just explaining that. I am not a Disney operations cast member. I don't work in the parks. Well, I do sometimes, but not it's not my job. So I haven't been through a lot of this training. But I've seen it in action. And I've always marveled at it. So if, if, if I can let me start with a real quick story that's not in the book. Have you been to Walt Disney World?

George Stocker  11:27  
I have about some I'm ashamed to say about 20 years ago now, I have only been one. Okay.

Michael Callaghan  11:34  
So the location that I'll mention probably wasn't won't mean anything to you. In the one of the newer sections of Magic Kingdom is new Fantasyland. And in new Fantasyland is the beasts castle from beating the beast in that castle is in a restaurant called br guest. And on one of the few occasions that I have actually gotten to work in the parks. I was helping out on on a abnormally. Let's see what how the right how to put this to the right way. It was a holiday period with increased Park attendance. How's that? And I was working in VR guest a kind of as a volunteer, helping with keeping parties together and handing out menus. And someone came up to me holding the menu and they said, Hey, can I keep this? Keep it? What do you mean? You know, do you get your food? No, no, I want to keep it for forever as a souvenir. I was taken aback as I never heard that question before. And it wasn't something that I was trained to deal with. And my first thought is, well, of course you can't keep this it's you know, people need these. This is its menu. And so that was mine. incident reaction was? No, of course not the look on this guest face when she handed me the menu and walked away. Something I won't forget anytime soon. And what I learned from that, from the manager in the in the restaurant was we don't tell guests No. What if they make something you know, what if you can't accommodate them? What if it really is an unreasonable request? And she said, Well, first of all, that's not an unreasonable request. People take our menus all the time, we're we're aware of that. You're Second, you need to learn to say no without saying no. Okay. So that leads me to the story that's in the book. And we were in my family and I were in Disney's Hollywood Studios outside of the sci fi dining restaurant, and we had reservations and we had checked in, we're waiting for our table or our car, if you've ever been there, and people would come up to the hostess at the podium outside the restaurant and ask, do you have any tables available? And I never once heard her say the word no. And I watched for quite a while. She would say things like, I'm sorry. We don't have any tables available. But would it be okay, if I helped you find another restaurant nearby? That seemed to be her go to answer. Or, you know, another possibility for another restaurant might be? Could we see you at the bar? Could we can you know? Would you be okay? Or would you be open to take out? Apparently some of the Disney restaurants do that. And I did not know that at the time. So there are all sorts of ways to tell people No, without telling them No. Because when you tell them no, the conversations over, you really can't go any further. But if you say I'm afraid I can't help you in that particular request. Is there another way I can help you? And we can move forward? Or there? We don't have any tables now. But what about an hour from now? Would that work for you? So the goal is always to be trying to help rather than just shutting down saying no. So you can move on with your day.

George Stocker  14:36  
There are a lot of stories in your book and they and they all seem to have a a personal perspective to it, which provides a lot more of an emotional background. And we won't go into the example here too much. But you you put yourself into this book, you know with with all of the examples That you wrote, like the time that and people should read the book, like the time that you were in a net meeting call and accidentally, after a rather tense conversation accidentally ended the conference for everybody on the call. And it's, it's just like, I can feel your how much of yourself you put into this book. And it shows when you're reading on the pages, and I feel like I was feeling those emotions with you. While you were writing it, how was that process for you?

Michael Callaghan  15:28  
For the most part, it was just me in a brain dump of what I remembered about the situation. And the particular one that you're referring to now I call it my temper tantrum. That was at HP back in 2005. And the reason I remember that one so well, is because I almost wrote a book at the time about it. And I never got any farther than a bunch of chapter titles. And so I was cleaning out my harddrive one day. And I found this file, looking through it. And I said, I remember this. Oh, yeah. And I had forgotten about that. I'd forgotten about that. Oh, yeah, I remember doing that. So in that one. And I think that's probably one of the more detailed chapters in the book, because I had all that information right in front of me, that I could draw from. Now, if you're asking, how was it emotionally? Looking back on it, it's just kind of funny to me now. Because I remember, right after I hung up on that call, I started getting instant messages from my co workers. Did you just hang up on everybody? And I said, you know, did I? I guess I did because I initiated the call. And it's not like today's zoom calls Weren't you click leave it says, you know, disconnect. Everybody, yes or no? It was just the call has been ended by the by the originator or something of that nature. And it was done.

George Stocker  16:45  
Now you are the lead software engineer at

Michael Callaghan  16:49  
Disney Be careful. Let me let me correct you there. I am a lead software engineer. It's a title. It's not

George Stocker  16:56  
I'm not the lead the lead of anything. The lead the lead, you know, you're one of several correct In

Michael Callaghan  17:02  
fact, there were four leads on my, on the team that I'm currently on. So

George Stocker  17:06  
now as a lead at Disney, what does that entail? What is your day to day look like?

Michael Callaghan  17:12  
It really depends on the project. So I've done everything from lead the team, which is what you would expect from the title. So I was on a team and I would help with the running the stand ups and work with the the business owners on story grooming and everything you might imagine that a lead would do. And seeing the project through from initial funding, through planning through execution and delivery, through getting sustainment turned over. So I've done that these days with everything going on in the world and with with Disney, it's more of a where do we need something right this second? Can you go help with that? It wasn't long ago that I was writing node scripts to talk to JIRA, the live in Ohio, quote, what do you call JIRA?

George Stocker  18:07  
I try not, I try

Michael Callaghan  18:08  
not to also but at this point in time project management system, right. So we were moving the system from from one machine or one version to another, and they wanted some custom code written to copy a lot of the the issues from one system to the other. They said, well, Mike, do you know node? I do know node. All right. Can you run with this for a few weeks? Sure. Because literally, it's wherever we need you right now. And I think that's a result of COVID. At this point, I'm just happy to have a job.

George Stocker  18:40  
And how big is your team at Disney?

Michael Callaghan  18:43  
About a dozen of us total, including some managers,

developers, testers, etc. 

George Stocker  18:50  
Okay, and the and this team is the team responsible for internal facing a cast member applications or there's several

Michael Callaghan  18:59  
there are several teams. So I want to be careful not to try to you know, dig into the the internal structure workings of the company, because I am not a spokesman for the company. So I'm working on a very small, vertical segment for reservations. And that's about as far as I'll go into, at this point.

George Stocker  19:19  
Okay. Now, during your career, you've worked at Disney, you've worked at HP. And you and you've talked about a little bit at the top of the show you talked about a few years where you were burnt out. Can you talk about what led up to that, to that burnout 

Michael Callaghan  19:35  
temper tantrum and how

George Stocker  19:36  
and you recovered for it. It was the temper tantrum

Michael Callaghan  19:38  
temper tantrum.

I think this is in the book that I was given the opportunity to stay on with with hp. They didn't fire me. But they also didn't let me continue on in that project the way I had been because I was I was a de facto leader on that project. And so when I made the decision to do what I did, that led to the lukol The temper tantrum. I kind of knew that if it didn't work, it was going to be bad. But I did it anyway. So when my manager called and she was in California, at the HP headquarters out there, and I was in Southern New Hampshire, so we couldn't have been farther away physically, if we had tried, she gave me the option to stay on with hp for no less than a year in a probationary state, which meant no, no raises no potential promotions or anything like that. So and then they would revisit it in 12 months to see where I had whether I had been a good boyfriend for the year, I did not relish the idea in 2005, of continuing on a project that at this point was five years old and written in Visual Basic six. So I told her, I had another option for her. And that's that I would just give her my two week notice. And she wouldn't have to deal with me anymore. She negotiated an extra two weeks out of me. So I stayed around for another month after that, essentially, helping the the contractors that then hired, understand the software. And then I left. A few months later, I packed up, I moved from Southern New Hampshire to Central New Hampshire. And for the next two and a half to three years, I was a failed real estate investor. And I say failed, because it started out pretty good. And then I started losing money and losing money and losing money.

George Stocker  21:29  
Was that around the time that the bubble burst on housing?

Michael Callaghan  21:32  
Yes, right after I made my first few deals, where, where it looked like, Hey, you know, I can make a living doing this. And so I started making a living doing that. And then suddenly, I was no longer making a living doing that. Now, I went from making $50,000 on two deals on a row, to making 15,000 on a deal. That's okay, you know, if you do one of those a month, that's still pretty good, right? And then $7,000 on a deal, and then barely breaking even on a deal. And you'd think that with a software development background, that the pattern would emerge. But it didn't, because I was blinded by my desire to make it work. And so from there, where I should have simply stopped, I lost over the next few years, I think I lost over $200,000. So that was fun.

George Stocker  22:20  
I'm, I'm trying not to like betray the fact that my mouth is agape. And I'm like, that's, you know, that's that's a lot of money. 

Michael Callaghan  22:29  
Fortunately, I didn't lose it. I mean, it didn't come out of my pocket personally.

What had happened was the, the properties were over leveraged. And there were two in general, though, that really were the killer. And I don't know if you want a real estate story that's not in the book, but I consider it one of my biggest failures.

George Stocker  22:48  
failure is something that helps us learn so sure,

Michael Callaghan  22:51  
there was a house. And in reality, it was a mobile home was a quote unquote, manufactured home in the town of Jaffrey New Hampshire, right at the base of Mountain monadnock, the tallest mountain in southwest New Hampshire, gorgeous countryside, beautiful mountain views. It was a pristine, open level lot that someone stuck a mobile home in the middle of, but the price was right. It was in good condition. It already had a tenant in it. So I went ahead and bought it and then immediately refinanced it. Because it was undervalued. I took I took the cash, to put it into another property in Concord, New Hampshire, which is the state capitol. So I'll get to that one in a minute. But the tenant I had already talked to, and she wanted to buy the place. But she needed some time to line up her finances. I said, Well, you know what, this is a great opportunity for me. I bought the property from the original owner, who was an out of state landlord, refinanced. It took $80,000 in cash out to fund the no the next investment, immediately put it under contract with the tenant and said, okay, you'll pay rent to me, because you know, you're still a tenant, you'll pay rent to me. Until we go to closing. She said, that's great. I said, I'll tell you what, I'll make it even better. I'll credit you the monthly rent towards the purchase price. Between now and closing. She's wonderful. We're all friends, everybody's happy. Tenants don't always keep their word. I don't know if you're aware of this, but sometimes they stop paying rent. And that is exactly what this one did. And what I later found out is that that was the reason that the house was available in the first place. She hadn't been paying rent to the other guy, either. She gave me one or two months, I guess to string me along and then stop paying. New Hampshire is pretty landlord friendly, not tenant friendly. They're pretty landlord friendly. So I gave her an opportunity to to catch up said hey, do you even still want to buy this place and she finally admitted to me that there was no way she would ever qualify to buy the house. So we agreed that she was just going to go ahead and move out. month went by. I heard nothing jafra was a little bit too far for me to be driving by on a regular basis. So I figured I'd give it another week and then maybe I drive out and see what's going on. Instead, I got a phone call from the town of Jaffrey foot. Well, this can't be good. They said, Mr. Callahan, we just wanted to let you know that we shut the water off to your property on mountain road. May I ask why is it Yeah, the the water guy reading the meter, he said, we noticed that you had used twice the amount of water that you normally do in a month. So he went to the door knocked the only sound nobody answered the door. But the only sound he could hear was water running.

George Stocker  25:39  
Oh, no.

Michael Callaghan  25:41  
This was probably January. I don't know where you live. But January in New Hampshire is cold, single digits for weeks at a time. What he or what we eventually discovered was that the tenant had left took all of our stuff moved out, turned off the electricity. Now there's no heat, water pipe leading to the toilet froze and broke. When the temperature went back up, and and the pipe unfroze. Now it's spewing water throughout the entire plot property. By the time I got there, it had all drained out because the floor had collapsed, for the most part with all the water. And there were water stains going up about a foot on the walls. So this thing was a foot underwater at one point. And as I mentioned, it's a manufactured home. It can't handle that the walls were destroyed, the floor was destroyed. There was nothing salvageable about this place. I eventually talked the the lender that had refinanced it into accepting $80,000 for the property when it was originally had been valued around $200,000. And I sold it to a guy who was going to demolish the thing and build his own house on it. So that was $120,000 paper loss. I still had the money from the from the cash out from the refinance. But for some bizarre reason, they didn't ask for that. And I Well, I guess I didn't have it because it was in the next house. So they ended up taking what's called a short sale. So they accepted less for pay off. And then they sent me a 1099 tax statement for the remainder. So I had to pay income taxes on that, on that, quote, unquote, gain,

George Stocker  27:18  
which is really just the amount that you wouldn't have had.

Michael Callaghan  27:20  
Right.

George Stocker  27:24  
Now, the you get back into software development after this this hiatus, you know, what was it like getting back into software development? And what did you do?

Michael Callaghan  27:38  
 I got a call from a friend of mine, guy I went to high school with who knew that I had been a computer nut since ninth grade. He had a company in Maryland. And he needed a software developer, contractor, essentially, he said, Hey, I know, you really, really want to do this real estate thing. He says, but I could use a favor. Would you be open to maybe 1020 hours a week, just consulting and doing a little bit of programming for me, that led to a heart to heart conversation with him. After I agreed I did it for a little while part time, because he said I could do it from New Hampshire, I didn't have to come to Maryland. But then after my next real estate disaster, and there was a funny one after that, that one. He said to me something I'll never forget. He said, I think you might be better off if you stick to your core competencies. And as long as I've known you, your core competency has been software development. And I could use you. So at that point he offered me and I accepted a full time job with this company. And that's how I went back into the industry.

George Stocker  28:43  
And from there, you eventually found your way. Do you work? Or do you live in Florida now?

Michael Callaghan  28:51  
  I do. So the the Maryland gig led to was a was a number of years, probably good three years, remote work, I flew down to Maryland once or twice a month just to show my face in the office. And that company eventually went out of business. financial problems, right? If you don't sell you don't, you don't bring in revenue, you can't stay in business. That's that led to a couple of minor contracts here and there. And then I got a chance to go to Dell in Texas. The skills I picked up at Dell in Texas, directly led to my current gig at Disney World. So if I hadn't gone to Dell, I probably wouldn't have qualified for my current job and could not be more grateful for the path that that I've been on since then.

George Stocker  29:38  
And so what were those things that you learned at Dell,

Michael Callaghan  29:42  
I was hired at Dell, essentially to be an ASP dotnet developer, when and when I say ASP dotnet I mean web forms if you're familiar with that at all. So doing C sharp, server side C sharp web development with heavy web form technology. While we were at Dell, or while I was at Dell, Microsoft came in, did a training, remember what they called it, it was like a developer conference. But it was only for people at Dell. So it was just a small conference room at a local hotel. And I was excited when I heard about it. But then I figured it was only going to be four employees. But they said, No, no, no, no, go ahead and take it. So we can't pay you to go. But you're welcome to go. So I went ahead and went, I met Phil hack, who was with Microsoft at the time.

George Stocker  30:31  
It was this when they were introducing ASP. NET MVC.

Unknown Speaker  30:35  
 Exactly. Well, it wasn't the very first time because it was MVC version 2. version one didn't impress me much. So we kind of stuck with, with, with web forms. But it was the perfect time, the perfect opportunity, because the product I was on was feeling heavy. And it had a lot of a lot of code that was there, specifically to do the things that MVC two gave you out of the box. So over the next, I think it was there about a year and a half total, I was able to take what I had been introduced to at that developer seminar, and help rewrite that entire project with MVC two, and I think the code size got cut in half. Because of all the boilerplate we were just able to delete, and things like view state. Oh, gosh, I had forgotten. How can you bring that back into my mind?

George Stocker  31:34  
I will never forget my scars with webforms. Sadly,

Unknown Speaker  31:39  
yeah, so MVC 2. And that technology led me to when I interviewed with Disney, that was one of the technologies that I had on my resume. And they asked me about it. So I explained that story to them. And it turned out that the people who interviewed me knew a lot of the folks at Microsoft. And so they were, I guess that I dropped the appropriate name. And so I got that

George Stocker  32:04  
job. And now at Disney, what sort of technology stack do you use?

Michael Callaghan  32:10  
I don't think this is a secret. Yeah, I don't think it's a secret. Because if you look at if you go to Disney tech.com you you can find job postings for for all sorts of web development technologies, but it is mostly known on Angular. So I don't think it's a secret, if we're advertising for that. So just about everything I do these days is either node or Angular. I have not I was hired as a dotnet. developer, haven't done dotnet since 2012 2013. Except for one time when I I kind of sneaked in into a project. Not the same story. Yeah, not it wasn't the same as my as my my temper tantrum. But it was very similar circumstance, it was, folks, the dotnet will work perfectly here. Let's just use it. But instead of being sneaky about it, I got the approval up front to do it. Interestingly enough, sorry that that project, went live on Valentine's Day. So February 14 2018, it's now been two and a half years, the dotnet portion of that application has had one problem in production. And it was a configuration typo on my part. Other than that, it's been flawless. They don't reboot it. They don't touch it. It just works. I wish I could say the same for most of our web technologies.

George Stocker  33:33  
Yeah, I find myself cursing Angular every few months or so as we upgrade. But one of the things I know about Angular is that it really does remind me a lot of web forms. It's the it's the same paradigm. Just this time shifted all the way to the client and wrapped up in a pretty new bow.

Michael Callaghan  33:52  
interesting you say that because I'm I'm fond of telling people that it reminds me of

George Stocker  33:55  
Silverlight. Did you were you able to develop in Silverlight before they killed it?

Michael Callaghan  34:01  
Yes, I did both WP F and Silverlight.

George Stocker  34:03  
Yeah, they are now I guess blazer today would be the new would be the new Silverlight.

Michael Callaghan  34:11  
Yeah, I haven't looked at it.

George Stocker  34:13  
Yeah. So you as a technology leader, one of your jobs, I assume is to evaluate new technology choices and ensuring that it works for your organization. Now, what are some questions that you ask yourself when you ask your team when someone brings up a new technology choice, like let's say blazer or you know, moving from template driven forms to reactive forms in Angular?

Michael Callaghan  34:39  
Well,

I guess I have to start by correcting

your your original supposition there, and that is that I really don't have a lot of say in what technologies we use. As you can imagine, it's a huge company. So they There are teams whose job it is to is to evaluate those technologies. I was on one of those teams once. And that's kind of where we came where we came up with Angular or the use of Angular and node.

George Stocker  35:11  
Is it sort of like an architectural Review Board of some sort?

Michael Callaghan  35:14  
Something like that? Yes. So there's a series of teams that make these decisions, they evaluate these technologies, they come up with reference implementations of these technologies. They set up training to show people how to use these technologies, they approve open source technologies, or maybe, in some cases, do not approve open source technologies. Do you need me to say that again? Did you hear the buzz?

George Stocker  35:38  
I did, but it's it's okay. Now with how do you interact? You know, in general, what are your What is your advice for interacting with such a committee? Because I've, I've had those, I've interacted with them in the past. But I've also been on small teams, also, where you have a lot more autonomy. How do you, you know, what's your advice for trying to sell them an idea you have?

Michael Callaghan  36:01  
I think the, the trick, so when this team started, I was actually on it, I had been lent out from my manager to work for a few months on that team. And one of the early decisions we made is that we don't want this architecture team to be considered an ivory tower. We don't want to be up, you know, in our tower on high making commandments. But instead, we wanted it to be collaborative. And although we didn't really get what we were hoping for, I think we had envisioned almost an open source model. If here's our here are GitHub repos. If you have something to add, add, it will will will take pull requests will, will collaborate, will do whatever you need to do, so that it feels like a partnership, not just thou shalt do this. And for the most part, I think that worked, this would have been 2015 2016. So it's been four or five years. And some of that spirit lives on in the team. So they they will collaborate, they will they will send someone to a project to help collaborate on the development in the selection of the technology. And if the technology that the development team needs is not currently in the approved basket, there is a reasonably simple process to get it approved. For example, I had to use ionic once or I didn't have to, I chose to use the Ionic framework for a project that was very time and dollar sensitive. Ionic had not been approved by this team. Fortunately, the project was given to this team. And I was sent to the team to help not only build the project, but also to help sway the technology choice. And so after a little bit of demonstration, and some proofs of concept, I was able to show Hey, we really do need to use ionic for this project to get it done quickly, ahead of schedule and under budget, because in this particular case, there were a bunch of old Windows CE II handheld devices that were going to stop working by the end of the year, because of they were no longer receiving security updates, and would not be able to handle the new Wi Fi certificates. So they were going to die if we didn't do something. So we were able to use the technology we needed to and because of that ionic got approved for use in the company.

George Stocker  38:27  
Yeah, and for people who may not know what ionic is, is a hybrid mobile application framework. It uses. It sits while the old version of version one x set on top of Cordova and was effectively a UI framework and a a one time for producing mobile applications that could work on both Android and iOS based devices. Now, what were your constraints where ionic made the most sense where it was at those constraints? Was it the UI framework and just the speed of development with JavaScript

Michael Callaghan  39:01  
a little of both. So I've told this story publicly before, so I'm pretty sure I'm authorized to continue sharing it. It was for Disney's magical Express. And they have handheld devices, where when you come here on vacation, you can sign up for Disney's magical Express, it's a shuttle from the airport, to the resort, and they take care of your luggage as well. So you get luggage tags sent to you a few weeks before your arrival. And you put your put these tags on your luggage and they've got barcodes on them. At the airport, they wanted to use ruggedized Android devices to scan these barcodes. After resorts. When you get to Walt Disney World property they were using iPhones. So there was an argument early on about well, are we going to do it for Android. We're going to do it for iPhone. And so I raised my hand I said, Well, why don't we just do it for both? Well, we don't have that kind of time Rajat. Well, no, no, we'll use ionic and then we'll just deploy it to either to both of them. Because I only can do that. So they asked me to do a proof of concept. And the hardest part about the perfect concept was the fact that they had a hardware vendor chosen for the barcode reader, they weren't going to use the camera because the camera is too slow. So they had hardware barcode reader, and I fired off an email to their support folks. And I asked them if they supported ionic. And the reply I got back was something to the effect of Never heard of it. But if you can handle Cordova we have a plugin. So okay, downloaded their plugin, fired up a new ionic project, deployed it to my iPhone, and that afternoon was scanning barcodes of Kleenex boxes, soda bottles, everything that that I could find in the conference room. So they said cool use ionic.

George Stocker  40:44  
They that's the when I was dealing with I was doing Bluetooth Low Energy, BLE. And the hardest part, just like for you The hardest part was the device interaction for the hardest part for us was, you know, tapping into the Bluetooth on the device. And there were Cordova plugins for it. And then ionic, you want to wrap those into Angular wrappers. And that allowed us to use these Cordova plugins inside of the application. But that was in fact, the hardest part was anything dealing with the device, if you had nothing, if you didn't have to deal with the device at all, any of the device hardware, it probably the easiest thing out there. But still, it's even easier using ionic than it is to try to do the same thing with Android that you would do with iOS. Now in the time we have left, you know, where can people learn more about you? And where can people

Michael Callaghan  41:41  
grab your book, the place to learn more about me is probably my blog website, which is walking river.com. My books are all available at Amazon. You can simply search for Michael de Callahan. Or you can go to walking river gumroad.com. anything, any title that's not Amazon exclusive will be available at gumroad.

George Stocker  42:05  
Wonderful. Now, the book is don't say that at work. And it's lessons from Michael Callahan. And my guest today has been Michael Callahan. Mike, thanks for joining me.

Michael Callaghan  42:16  
It was a pleasure, sir. I appreciate you having me.

George Stocker  42:18  
All right, folks. That'll do it for this week. We'll see you next time on the build better software podcast. Thanks


What is The Build Better Software Podcast?

A podcast for software leaders that helps them enable their teams to build better software.