BUILDSUCCEED
Michael Gyarmathy, PGA of America - How Customer Obsession Drives Better Software
In this episode, Michael shares how defining constraints early helps teams stay focused, the importance of embedding digital products into real-world business programs, and how modular architectures support scalability across multiple teams.
Michael: [00:00:00] I was not a golfer before I joined and so that was, you know, part of the journey of building this product was also my own journey into. golf and, following a longer customer's journey, through, you know, their shoes in my own experience.
David: Hi, I'm David and this is Build to Succeed from Very Good Ventures. In today's episode, we talk with Michael Germathi, staff software engineer at PGA of America. We'll talk about the importance of customer obsession, engineering culture, and of course, leveraging multi platform tools like Flutter. So without further ado, let's talk to Michael.
Hi, Michael. Welcome to Build to Succeed.
Michael: Hey, David. Yeah. Thanks for having me. I'm doing great.
David: Great. Great. So, you know, um, given that you work for PGA of America, the question I'm sure you get asked all the time is, uh, what's your handicap?
Michael: Yeah. you know, unfortunately, I, so I'm, I'm a father of two young girls and, my time out on the course has, has diminished quite a bit since they've entered the world, but, um, thankfully, I do get plenty of opportunities to play here at [00:01:00] the office. so, yeah, my goal right now is to break 100. I'm right on the cusp of it.
and hopefully with some more practice, I'll, I'll get there soon. How about yourself? Do you play?
David: I, um, had a little stretch where I played quite a bit with some friends, and it never got good. It was more just the socializing, the fun, but then similar story. these days with a couple of kids at home and. Busy at work and stuff. It's kind of hard to get five, five hours or so to go out and hang out with your friends on the golf course.
But, um, we'll get back to it one of these days for sure.
Michael: Yeah, honestly, like 9 holes compared 18 kind of underrated. Like, uh, you get in, you get out in about 2, 2. 5 hours, depending on, you know, your group. And, you maybe grab lunch afterwards or something, but that's, uh, that's a. You know, just enough golf for me.
David: Yeah. One of the things I've always found interesting about golf as a sport is it's one of those sports where you're really kind of playing against yourself. Um, you're out there, it's got a social element. It's a lot of fun. You're playing against some other people. Maybe you're doing a best ball or something with, you know, some sort of betting or whatever, where it's a little bit of competition, [00:02:00] but it's still a competition against yourself. Have you found as you've gotten into the world of golf, not only as a player, but professionally, are there parallels between like a golf game and a coding game?
Michael: Yeah, without a doubt. I mean, um, you know, I kind of view software engineering as a craft. some people view, you know, more is like just a skill you learn. but a craft is something where you really, hone it in and perfect it over time. And also it's constantly evolving in the way that you you practice it.
and so I view golf the same way. You know, you can spend hours out on the range perfecting your swing, but then you get into real game time situations. And some of that has to go out the window and you have to rely more just Intuition, um, and the same thing applies to software engineering, you know, it's one thing to, to, build software on like your local development environment where like everything is sort of contained, but as you enter like production environments and real world scenarios where you have other users besides yourself,that's where,[00:03:00] the skill becomes more of an art, um, less, less of a science and more of an art.
David: Awesome. Yeah, I love that. And it's, uh, for me, it's always been, it's really fun. You got to keep it, keep focused on what you enjoy. It's uh, a skill that is, nearly impossible to master, right? You can always get better. And, I think like when you map those through your professional career, so it was, it was a good parallel.
So now a, um, staff engineer at PGA of America, right?
Can you take us through your, uh, career journey of how you got there
Michael: Sure. So I started my career,in the consulting world. I spent about 5 years there. I worked across a bunch of different industries. and to me, I feel like,with consulting, sometimes you're stepping into,chaotic situations. They're bringing in help because you have real, tough problems to solve.
Uh, and so that was a great way for me to cut my teeth and see, Software and product development done in a lot of different contexts, but the, the flip side of consulting is sometimes you don't always have, like, final say on the product or the direction of the products going. You have [00:04:00] clients, you know, rather than customers and so, by the time I had, I'd gotten through, you know, my first 5 years of consulting, I feel like I built a really solid foundation of, software engineering skills and product development skills and business skills.
but it came to a point where, like, I wanted to really own the product that I was building and help shape the direction. And so that's what, what ultimately brought me to PGA of America. I started in April, 2020, which was a period of transition for the company. Uh,
David: world?
Michael: In in the world. Yeah. Yeah. Uh, not, not to be understated.
but yeah, the, uh, the PGA was in the process of relocating their headquarters from Palm Beach Gardens to Frisco, Texas. I'm a Texas native, and so it worked out that, the office was being built about 30 minutes north of my house. And, So got reached out with an opportunity to start a brand new team and build a new product, which we'll probably get more into here in a bit.
but, uh, yeah, that's essentially how I found my way to PGA. and then as that product grew over [00:05:00] time, My influence on both our team and our business around the product also grew as well. And that ultimately is what elevated me into that staff engineer position.
David: Awesome. And in, uh, one of our conversations, you called, uh, PGA Frisco, like the Silicon Valley of golf. And, uh, I'm curious if you could put that on the map for people and explain a little bit what you mean by that and what's going on down there.
Michael: Yeah. So that that was a term coined by our former CEO as HQ is being built, you know, uh. Not only is PGA Frisco, um, our headquarters and what we call like the home of our members, but it's also part of a much broader campus, with, the, Omni Frisco Resort, and then also the PGA Frisco, uh, fields ranch golf courses.
So, you know, a neat part about my work environment is I sit and I, from my desk, I look out and I see a driving range. And then beyond that I see two, two awesome. Golf courses, which is pretty [00:06:00] inspiring. but going back to Silicon Valley of golf, really at the root of that was innovating the game of golf.
the, and we do that in a number of different ways, whether it's through new products we're building. We also have, a an investment fund. We're replacing investments in other golf related startups, and businesses, that are helping advance the sport. Uh, and so really we see ourselves as like pioneers of the game.
and so PGA Frisco is sort of the mecca of that innovation.
David: That is awesome. I think this is maybe a good point to take a moment to explain the difference. I think people out there, um, you know, PGA of America is a special business. And can you maybe just describe a little bit about what you guys do?
Michael: Yeah, absolutely. So, PGA of America was founded in 1916. So, 1st, right off the bat, we're like a 100 year, 100 plus year old organization. and what we represent are, golf professionals in the golf industry. Um, so oftentimes [00:07:00] we get confused with the PGA tour, which really represents the interests of professional golfers, not golf professionals.
Um, so think of the likes of Tiger Woods, the Jordan's beasts, et cetera, that isn't necessarily our, our organization. Uh, what we represent is the, industry professionals that run the golf courses, across the country that teach the sport, uh, that develop. Products and equipment within the sport. you know, the, it's a pretty broad representation.
We're actually the largest,not for profit trade association, and sporting organization. We represent 31, 000 professionals. So it's a pretty wide network. and. As part of being a PGA member, there's really some, um, sort of credibility that you have based on the path that you have to take in order to become a member.
David: Awesome. So when you're starting, uh, 20. 2020 and you're there to sort of help stand up this Silicon Valley of, of golf. And you're looking at [00:08:00] technology and a hundred plus year old company and a very physical outdoor kind of sport, um, that you play with your hands and an iron and a ball. some wood sometimes, right. Um, tell me a little bit about like the types of technology you guys are looking at and how did you kind of just get into building mobile and what kind of problems were you solving for customers?
Michael: Yeah, absolutely. So, you know, within that. 31, 000 members. There's a couple of different segments and job roles or professions within that. and one of the larger segments is teaching and coaching. So these are teaching pros that, work at different golf courses and, help introduce people to the sport.
Um, you know, taking a step back, the mission of the PGA is to serve our members and then also to grow the game of golf. And so we, we view, um, You know, any opportunity that we can take to put a club in the hands of someone new and introduce them to the sport really, really seriously. and so, those [00:09:00] teaching professionals are, in a lot of ways, the gateway into the sport.
And so we wanted to find better ways to serve them. And, what we arrived at was ultimately a product that we call PGA coach. so your typical teaching pro, um. Most of them have been teaching the sport for decades, and rely on more older, you could almost call it antiquated methods of running their business.
And we wanted to help, um, accelerate them kind of into more of a modern, customer experience. So, if you think about it, today, like, if I'm going to go book a haircut, um, I can go find my barber online. I can see his schedule and then I can, you know, Book my time slot, book my appointment, and pay right there up front and it's, you know, convenience both to,to the barber, but also to myself, and being able to, like, schedule and make those arrangements.
Um, what we found is a lot of our teaching pros were using pen and paper, relying on phone calls, and sticky notes and [00:10:00] et cetera,to organize and operate their business. And what they were really passionate about is being out on. Either the practice tee or out on, even more importantly, out on the golf course teaching the sport.
and so what PGA Coach provides is a suite of business tools. Uh, everything from scheduling to, payment collection to messaging. Uh, and a couple of other capabilities that help optimize and run their business.
David: So how did you as a team, um, obviously, you know, these people, you have access to this network and sort of the customer who's looking for coaching as well, but take us through a little bit, the process you went through to kind of figure out what this thing should really do, like how to solve the right problems.
Cause with these types of experiences, right? Like you said, they want to be out on the golf course. So you want to create the right amount of technology and the right amount of product features, I would think to be helpful and not. Obstructive to the experience they're trying to have. And if I'm correct, like around this time, you also are sort of like, you know, new, new company getting into golf.
There's a, uh, you know, driving range right outside [00:11:00] your, your window. Um, did you leverage your own personal experience to help guide some of the product development too?
Michael: Yeah, definitely. I mean, so we looked at it from 2 different angles. 1 is, like, what are some of the tools that coaches are using today? and what we found is that it was kind of this, you know, very, uh, segmented or scattered set of tools that they were trying to integrate together. And that's really, I think, Part of the value proposition of PGA coach was integration of and kind of consolidation of all these different, SAS products that they might've been using before.
so that was 1 piece. Um, 2nd was like, how do we help them reach new golfers? and so leveraging our brand, um, we, we promote all the coaches on the platform on PGA dot com. You know, so from that standpoint, like, we're meeting customers where they are. And then ultimately, it was a matter of, like, um, you know, for people like myself, who, um, so disclaimer, like, I was, I was brand new to the sport as well.
I was not a golfer before I joined [00:12:00] and and so that was, you know, part of the journey of building this product was also my own journey into. Into golf and, following a longer customer's journey, through, you know, their shoes in my own experience. Um, and so like one of the first challenges I had when I was trying to pick up the sport was finding someone who could teach me the proper techniques and, um, And skills, uh, just to even be comfortable out on the course and not make a total fool of myself.
Um, and so the 1st piece of that was locating your coach. that was close to me. and so that was the 1st capability that we built out was like, a coach search,kind of feature set or capability. and that. On the coach's side became this lead generation engine of of new business. from there, we took it to the next step, which is,you know, maybe I've made 1st contact with the coach and I'm, you know, I like their, their methodologies or, you know, their, their schedule [00:13:00] aligns with mine.
Uh, so how do I schedule a lesson or how do I on a regular recurring basis, um, schedule time with them? So that's when we started to build out the scheduling. Capabilities. and then finally, it was like, how do I maybe, I'm practicing during the week, but I want to, ask them a question or something.
And that's where we started to build out some of the messaging capabilities as well. helping kind of separate, Coaches like personal relationships from their sort of client or like student roster.
Um, was something we came across. and so that kind of led to the next feature. So, yeah, some of it was like me stepping through that and some of my teammates stepping through that.
And then also just listening to, listening to our users. andwe pride ourselves that PGA coach was built. Yeah. By the PGA of America for members with their feedback included. And I think that's a core part of like, our overall product development. ethos is like being obsessed with our customers [00:14:00] and, making sure that their interests are met.
David: Awesome. I love that. Being obsessed with the customer sounds like you've mapped out that customer journey. And if I am hearing you right, you iterated the feature development process over time, adapting to the next big thing that people are really looking for. Um, so it's like, did you build like what time period did you build those out over?
Michael: Uh, it was over the course of, um, maybe a year and a half, two years or so. So every six months or so, it almost felt like we were launching a new product within this sort of suite of tools.
and, and certainly iterations, you know, another, another part of our product development methodology is experimentation.
So before we commit to. 3, 4 months of development time, we want to go validate that,we're building the right solution to solve the problem that we're trying to solve. And so, we, we make heavy use of, Your product experimentation tools, and come up with a hypothesis that would lend enough evidence to say, well, with maybe a week or 2 weeks of.
[00:15:00] Development investment, we can get strong enough signal that would then validate that we should pursue this, you know, in full fidelity. Um, and so that's been a lot of, a key part of our success as we've built out this entire suite of products.
David: It sounds like you guys got really good too at sort of defining the chunks you wanted to take on. I think a lot of companies finding that right balance of what do you launch with. Um, and there's always some degree of feature creep and more and more and more. And we need this in order for the product to be successful versus the MVP mentality. Um, sounds like you had a very structured approach to that.
Michael: Yeah, well, I think to, like, the other kind of interesting part, I think that gave us some, some staying power. So, like, you know, you mentioned this earlier. Maybe I mentioned this on a prior conversation. Like, this very much felt like a startup within this sort of legacy organization. And so there are risks to building, that sort of startup where.
you need to be able to prove that like you are providing enough value to company to the organization, that there is some immediate ROI on what you're doing, in order to continue [00:16:00] it. And part of, I think, what helped us have that staying power is also finding other opportunities within our business, to sort of anchor the product to these other programs or things that were going on.
So, initially we were moving in the direction of building out. coaching products, but very quickly we saw opportunities, through, PGA reach, which is our, our actual, uh, nonprofit arm. PGA REACH has a couple of different programs. One of them is PGA Junior League. It's a junior golf program.
and so you can think, you know, scheduling, building out team rosters and stuff, pretty, pretty closely adjacent to the coaching product that we were building. And so by. Extending what we had, to meet the needs of that program. and that junior league was already very much well established. Uh, and so that, you know, enabled, um, those business owners to move off of a third party, system and use an in-house product that they had full, you know, say on the direction that it could go or iterate there.
and [00:17:00] similarly, we did something for PGA Hope, which is our, um, veterans golf program. Hope hosts these, um, golf events where they bring out veterans and introduce them to the sport and try to help them build connections as they reintegrate back into society. And, um, Much in the same way we were able to to leverage the existing product that we had built and anchor it to other parts of the organization.
1 to like, build credibility among our business leaders, but also, to help. Take the product in new directions.
David: Awesome. Building on those foundations and sounds like you guys have a lot of products then that you've developed over the years for different audiences and focus areas. What is your development methodology? You know, you were talking about that iterative process. How do you structure your teams and how to define the shape of the work you want to do? That's a big challenge. I think we talk a lot about technology and platform and customer insights and user experience. But where the rubber meets the [00:18:00] road is the team's ability to actually plan and then execute. sounds like you guys have a pretty good approach to metering yourself through these features. What is some of that approach that you follow?
Michael: Yeah, happy to share. you know, I think it's something that also has evolved over time as our team has grown and we have, different squads or teams moving in different directions and trying to create some consistency there. but structurally, what we found a lot of success in is, at the core of of a product development squad is a product triad.
that's common in other. Organizations, but,it's a combination of a product manager, a designer and a software engineer. and so in tandem, they are making all the decisions of,Identifying new opportunities, coming up with a solution and then ultimately building and executing on that solution.
Um, and I think the triad is successful because it helps, there's kind of some checks and balances involved in the triad, where maybe a product manager comes with a really ambitious [00:19:00] idea. but then an engineer, uh, sort of brings some,You know, context in terms of feasibility of that idea, or, um, might be able to present multiple options from a tech perspective on how to, to build that product or that idea or implement that idea.
Potentially taking it in a completely different direction that they may have not even considered in the 1st place. Um, or, you know, having sort of the field of view to say, we could extend something that we already have in place today. and get to that solution much more quickly than sort of standing up something brand new and then design.
Obviously, like, not all engineers have an eye for consistency from a visual or perspective. And so. You know, they, they sort of round out that triad in a way where, They make sure what is being built is actually usable, uh, and, and intuitive.
David: Do you follow any like specific methodologies or like a scrum or anything like that?
Michael: We, uh, so, so not like a scrum, I would say a lot of our methodology has [00:20:00] been influenced by, uh, the book Shape Up. I'm not sure if you're familiar with the 37 Signals guy, but, uh, Jason Freed authored that book a number of years ago. and we have certainly adopted different, um, pieces or ideas out of that book.
you know, some of the most notable ones are, appetites, uh, or the concept of appetites. so when we are building a new, product or feature, the first question that's often asked is what is the appetite for this? how much time and resources are we willing to, allocate or direct in towards the solving this problem?
Before we need to reconsider or,you know, whether to re up that or to move in a different direction. Um, and I think that's helpful. thinking about it from that, um. That vantage point, because, You know, in the world of, like, software engineering and my background, I think constraints are a good thing.
when you have unbounded problems or like, unbounded solutions, [00:21:00] oftentimes that leads to,you know, a ballooning of scope, or, potentially diluting the problem that you're trying to solve in your solution. and so setting an appetite really helps us. I think, Constrain the problem in a really helpful way where we can come up with, like, really creative solutions, that kind of meet those constraints.
and also. adhere to, like, the timelines and commitments that we try to set for ourselves.
David: Yeah, that book is, I, if, if anybody hasn't listened to that or read that book, it's a super insightful book, I think in turn, it's a kind of a fresh perspective on sort of these scrum things we talk about, and you're right, the word choice, like I, when I looked at that book to like appetite, you know, it says so much, right.
And I think we all kind of like inherently understand what that means. We tend to talk about timelines and budgets and scope and resources and all these things. But one lens on that appetite thing I'd like to is like, if I, as an engineer have a. hearty appetite for that thing. I can maybe do a thing that if I wasn't hungry for it, I can do it in two weeks.
I'm going to be like, I'm going to do this in two weeks. I'm hungry [00:22:00] for it. Versus if I'm not super hungry for it, maybe I'd be like, ah, I think it takes three or four, you know? And like, you can make the, you can make the choice how much you want to eat. so to speak and like the shaping idea, I think is really cool.
Like
you the thing. and even the, uh, what do they call it? The bedding table or something
where you just make a bet. Like, we don't know if this is going to work out. We're going to make a bet. We're going to try it. I love some of the, just the word choices that they use.
Michael: Yeah, definitely breaks the mold of kind of this, like, very rigid,I think, like, sometimes agile can be practiced in a way where it sort of, uh, violates the underlying principles of agile software development or sorry, scrum is practiced in that way, where it was more about,or less about process and more about outcomes.
And I think that's also what shape up kind of cuts, um, to the heart of is, um, we're really focused on delivering value to our customers and delivering value to the business. And so what are other ways that we could organize ourselves in a way that, meets that directly?
David: Yeah. I think it also really embraces the idea that [00:23:00] if you have an empowered team. With the right people who are like, you know, lean in type people who have a lot of ownership and pride in what they're doing the right skill sets and you shape it correctly, you can just trust those people to do it. You don't need some sort of rigid dogmatic software process that you're iterating through and all these ceremonies.
That's really for large teams that there's some degree of like distrust in the team's ability to deliver. Right.
and I think shape up like really is like based around empowerment of your team.
Michael: 100 percent and I think 2 from, from the engineering leg of the lens of that, um, like, we have, I guess, what we would just call, like. Our tech lead role, who is the leading engineer of that product development squad. That's guiding and directing other engineers. We really place a lot of trust and try to empower them in that role.
so we, we don't have project managers at PGA. we sort of fold a lot of that responsibility into the tech lead role. and the underlying principle there is like, our builders know how to build. They don't need somebody else to tell them how to build. [00:24:00] and so by allowing them to more self organize and collaborate with 1 another and speak kind of a common engineering language.
we really don't see a lot of need or value for that role. certainly then we also. give some of that project management responsibility up to our product managers in terms of helping,coordinate timelines and connect with the business in terms of delivery. but, yeah, very much.
We want to empower our teams and trust that they, have good intuition and they're going to make the best decisions with the information that they have.
David: Awesome. Yeah. It's a long run. I think it's the best way, you know, if you can get those teams structured, but it's a cultural thing. You got to get your engineering culture set up correctly to be able to support that and get your management bought in on that too. Sounds like you guys have made a lot of progress in that regard.
It
Michael: Yeah, 1 other thing just on the culture front that I, I think has been key to our success is,you know, we hit on it earlier, but the idea of customer obsession, but also, like, um, self immersion in the customer journey. and so [00:25:00] certainly being here at headquarters, like. I have a lot of opportunities to go play golf and, to be surrounded by people that are deeply involved in the sport.
but we also have, a distributed remote team, so not all of our software engineers are here, um, at HQ. They're And other team members are also all across the country, but we heavily encourage everyone to find ways to connect to the industry to connect to the sport. we host this, like, Friday demo call every week where the team helps.
Or the team goes around and sort of shares what they've been doing that week. and not all of it is like, uh, here's, you know, a new screen that I built in our app or, here's a customer interview that I did, but it's also like, I took a lesson this week with a pro, at, you know, my local driving range and here's what I learned.
And that. In our mind is also just as important,as all the other work. And I think, like, as much as you can get people out of their seats, and involved in the [00:26:00] industry and connecting to the customers. I think that helps bring a lot of enthusiasm back to the work that they do because they have sort of that personal experience.
David: makes a lot of sense. Uh, customer obsession, getting into like inherently understanding what you're trying to build. Good engineering and just general product development cultures and methodologies. And then obviously technology too, you know, how we got connected here was, I know you guys are using Flutter for your apps.
Um, and I wanted to tap on that a little bit. How did you, discover Flutter, uh, evaluate it, select it. Um, how'd you get started with it?
Michael: Yeah. Great question. So the, the PGA coach platform. sort of manifests in two different, um, two different mobile applications. So, we have PGA Coach, which is the coaching side of the, um, system, and then we have my PGA, which is a consumer facing app.
So both of those are built in flutter. the initial prototypes of those apps were also built in flutter, with a, third party, um, company that we were working with at the time just to help kind of [00:27:00] build out the initial pieces of it. so flutter wasn't on my radar at first when I joined the company, I had, I had prior experience with other like cross platform.
Technologies I done, I think, was it like Cordova a number of years back? and then, uh, Xamarin was another 1 that I built a few applications with. and I sort of had a sour experience with them. They were sort of clunky and, didn't necessarily, like, provide all the things that I would hope for.
And they very much felt like, um, know, wrappers around web technologies. and so, yeah, there was just something missing there. but as I started to learn Flutter, as part of this job and building out the products that we had, I really enjoyed it. Um, you know, I think there were a couple of key features there right off the bat that made Flutter really appealing.
the dev experience is great, with the hot reloading capabilities. Um, and also like the test, like The structure they provide around automated testing, I think is huge. that seems to be for other ecosystems, [00:28:00] less of a, um, first class or, or like, you know, primary concern. but certainly that's something that is, is well supported in the Flutter ecosystem.
David: Yeah, a lot of people I think had that experience, um, or at least heard the stories of the other things all the way back to phone gap, you know, from almost like day one of the app stores when there were
Michael: Oh man, that's a throwback.
David: Yeah, right. Um, like people were always looking like, why do I have to do this twice, you know,
but the joke was you, you used to be able to always tell like a phone gap app.
It was like, Oh, you could do iOS and Android, but it's like, no, like immediately, you know, something's off. And you're like, this is not iOS or Android. It's something else. and then I think there's just a lot of like baggage that comes even react native. Like there was the famous Airbnb post, I think it was Airbnb where they were like, we're moving away from react native.
Michael: And here's why. Um, and so there's these like, yeah. People tried this stuff and got burned or felt wrong. And, uh, but yet technology moves along and Flutter still has its things compared to other tools, [00:29:00] but I think they got a lot of things, right? You're right. The dev experience overall is super good. And generally speaking, I think the quality, and I know the Flutter team really obsesses over trying to get the details of the executions, things like as close as possible so that it feels super native that you never have to really worry about that stuff. we've actually, um, you know, I think helped kind of push Flutter to the limits as well. and gone off. So for one thing too, like, so we started Flutter in like 20, the Flutter apps in around 2020 timeframe. and we've, we've grown with the technology over a number of years. I guess we're on what year four at this point.
transition period where they, they introduced no safety. And that was probably the. Largest hurdle that we really had to jump through, jump over, I should say. but yeah, beyond that, it's been a really smooth dev experience. Um, you know, one of the neat opportunities we had using Flutter is, for a,video recording capability that we wanted to introduce.
so. Maybe some background here, some coaching, [00:30:00] some coaches do virtual coaching, or some coaches record videos of their students as they're practicing is sort of this, artifact or takeaway that they can provide for them, to help them, Retain the things that they're learning through their lesson, so being able to record video is a big part of that.
we had a partner that we, We brought in to, they had an SDK, to help provide some of those capabilities in our app. but what they. Provided were native SDKs, an iOS and an Android SDK. and I was surprised by how simple it was to go build, you know, implement the bridge code to hook into the native SDKs and be able to call that, you know, like some of the interop of Flutter is actually really well done.
and so, um, yeah, I was really, really pleased with that experience.
David: Yeah, that's a big, that's a great point. Thanks for calling that out too, because I think so many, there's this assumption that like when you go down that path, you're going to lose access to all the native stuff, all the things you can do. You're still making iOS and Android apps, first [00:31:00] of all, so you can still. Go down to that layer. But I think you're right. The plugin system, the FFI stuff, and I believe on their roadmap, they're looking at doing things that are making it even, even easier to call native APIs from dark. Um, so I think they've made a pretty big effort in that regard. And I think it's, it's like, those would be a major barriers, for you if you encounter that. so I think that's one of the things they got right from some of the other platforms that are out there.
Michael: Definitely.
David: I've in terms of, um, the. the. productivity and the influence on the product, like did that choice of Flutter, do you think early on influence the product development process itself, like how you guys approach your code base and your ability to iterate and move quickly?
Michael: I'd say yes, to some extent, um, you know, we, we were able to build out some really great patterns around feature flagging that helped kind of accelerate, um, some of our development where we could ship, um, you know. Like, sort of shadow releases of different features or be able to preview certain releases to, um, to certain [00:32:00] customers.
so I think, yeah, that that was pretty key. and then certainly, like, having a well architected CI process and being able to run all of our test suites. I think also really accelerated the development process, knowing, like, if we were going to do any sort of large scale refactor, we have this great test bed to fall back on knowing that what we're about to ship isn't going to break, um, or cause people.
Problems
David: Give you that trust and confidence, ship fast, ship safe kind of thing.
And you're a two sided marketplace, right? So you have the player app and the coach app, um, kind of like, you know, Uber would have driver or passenger. Are you sharing a lot of code between the two?
Michael: we are. Yeah. So the way that we have our, our project structured is we have a couple of different, uh, like modules. and so, um, we have. One module for each of the applications itself. And then we also have a common module that's shared between the 2 applications. there are certain screens, you know, [00:33:00] messaging is a great example, where the user experience on both sides is almost identical.
Um, and so no, no need to, go build that twice. Just, encapsulate all that in sort of a shared module and then. Share that code into different places. so yeah, that's another way that maybe we've broken out of sort of the,kind of baseline usage of Flutter, um, and tested the limits of it, but yeah, the module system and essentially having like a local package, that's built in, rather than some remote dependency,has proved to be successful for us.
David: And that's super cool. I think that's like a, you're, you're at pushing the boundaries of Flutter. Most people, I think, still are considering it as this crop cross platform tool, like a react native or, or Xamarin and things like that, where it's, um, I'm going to build it once and I'm going to deploy to iOS and Android. Um, but I think where Flutter really starts to shine and gets that like next gear of business value is like, well, I'm not just building one app. I've got like an ecosystem of products,[00:34:00]
um, and they're not all the same, but I start sharing and I have developers who can work on any of them cause they're architected similarly and use common APIs and, you know, standards and testing requirements and things like that.
So I have a lot of fungibility of talent,
is really cool. Like white labeling type applications where I've got a bunch of different things that I'm doing that are like 90 percent the same. Uh, not only do you get the cross platform, but now multiplied by all those different products.
Michael: Yeah,
David: huge value there.
Michael: Yeah. And I think, um, yeah, that that module system or package system, um, that also scales to your teams, right? So if you have, multiple teams working on, different, applications or products, basically, whatever the topologies of your teams are, I think you can also match that, um, with the package structure that you set up, whether those are all shared in a single monorepo or.
Distributed across multiple, projects. yeah, it all works great.
David: Nice. I'll have to ask you about your team topology, maybe in a future [00:35:00] one. have you heard the book team topologies?
Michael: I have not, it's on my list.
David: I got it up here somewhere. Matthew Skelton, um, is the one of the authors. I just love that idea that the shape of your product mimics the shape of your team. Um, which is kind of an interesting,thing.
And I've actually found that it's not just in your software engineering. It's like everything you do, is based on how you set up your teams, which is kind of interesting. So, amazing. And so like long run Flutter, like, uh, how's the management view it? Like, is Flutter seen as a, as an asset as a, um, you know, when you think about hiring, recruiting your team culture, Your ability to move product and meet customer value. do you think it's giving you guys some strength or is it, is it sort of largely culture driven, not necessarily technology driven?
Michael: I think it's both. Um, I mean, certainly like our engineers, especially the ones that came from more of a traditional web background that have transitioned over to that, have picked up the language, like picked up Dart, picked up the Flutter. Technology pretty, pretty seamlessly, you know, the component system is familiar to somebody who's first or the widget system is familiar to somebody that understands react [00:36:00] components, or, like, uh, a type language, you know, if you're using TypeScript, transitioning into, dark is pretty, pretty seamless.
and so, yeah, what culturally, like, what we value are. Um, and we have a lot of more T shaped engineers that have both breadth and depth to their skill set. and so the ones that are trying to expand the breadth of their skills, Flutter has been a good fit. especially considering some of the other technologies that we have in our entire landscape.
Uh, you know, namely React and on the website. but also like we, we also do have a React Native app. So we, I think that's been helpful to our organization and being able to. against one another and better understand the trade offs between the two. Um, we've also had a great experience with react native, particularly through expo,and, some of the like over the air updates and some of those capabilities.
And I know, I think that's coming to flutter. I've been following the shorebird project a little bit. Uh, so. Very excited about that. but yeah, um, [00:37:00] I think overall, yeah, it's been a great asset. We also find it's pretty easy to hire talent for it. and even if somebody doesn't, come into the company with that specific, um, expertise or proficiency, uh, the learning curve is, is pretty shallow in order to pick it up
David: Yeah, no, that's a good point. I'm glad you mentioned that. I think, uh, uh, there's, that's one thing we hear is some concern about job market and we hear from Flutter engineers. Oh, it's hard for me to get a good Flutter job. And then we hear from Flutter companies. It's hard to find like engineers and like, well, something's broken in that ecosystem then in terms of matchmaking. but I think you're right. It's like, the other thing is you can just take your team and convert them over. There's some cultural things sometimes moving from, oh, I'm an iOS engineer and that's my identity. Um, I think we had somebody, David Chen, I think was on here and he was talking about everyone just being like a product engineer, essentially, like you just work on whatever. I think that context of React Native too is good. I mean, obviously we talk a lot about Flutter because it's a large part of what we do, but ultimately our. Stance has always been, there's many good tools. You got to pick the [00:38:00] tool that works best for your team and your situation and not be dogmatic or religious about, uh, one tool or another.
They all have pros and cons, just like native, you know, could do it with SwiftUI and that's going to have pros and cons, you
Michael: I mean,
David: got to make the right choice.
Michael: Yeah, same same on the website in terms of the sort of J. S. Wars and framework wars. Uh, and then similarly on the back end as well. There's it's always trade offs. And I think that's 1 thing, at least for me, coming from a consulting background is every new client that I stepped into. It was a different tech stack.
So very quickly, I think I became much more agnostic and less of a die hard to a specific technology. Um, understanding that. Yeah. All of them can be effective at, um, you know, solving particular business needs and problems. And ultimately the code is a conduit to solving a business problem.
David: Awesome. And while it sounds like you guys got a lot of good things going, where you have a good culture,good sort of overall process with that sort of shape of kind of approach. And it sounds like you've got a technology that [00:39:00] also. And Nate, like if you have an empowered culture where you're relying on this triad and people to really be customer obsessed, and then to act on those things, having a technology that allows those empowered, obsessed people to quickly turn that into production code on all the platforms seems like a really good, Marriage made in heaven, so to speak.
So, what else besides that, when you think about what's made you guys successful, with your product delivery or in your career, besides this role, even when you look back on your experiences, where things that have correlated with you guys getting the outcomes you're looking for. What does success really look like for you?
Michael: Yeah, I think that's a great question. and at least,in my role where I am at PGA of America right now, it ties back to our mission, right? Like I mentioned at the beginning, serving the member and growing the game. And I've seen direct impact of the work that I'm doing and how that has played out.
and contributed to our mission. we have coaches coming to us all the time that are saying,I'm working fewer hours, but I'm making more money because I'm running my business more [00:40:00] efficiently.and then similarly, we can measure the direct impact of how many people are we introducing to the sport and knowing, like, for myself, how much of a, enjoyable and valuable life experience it's been picking up the game of golf.
it's really meaningful and impactful to me to know that I'm creating that sort of experience for so many other people.
David: That's amazing insight. well, thank you so much for coming and, uh, for sharing your stories and your insights with us. lots to learn here and covered a lot of ground. if people want to learn a little bit more, find you or, uh, find a golf coach or improve their game, or maybe find a job for you guys, where can they find out more about what PGA of America is up to?
Michael: Yeah. PGA dot com. Uh, if you're looking for a coach, PGA dot com slash coach, you will almost certainly find a coach, uh, just down the street from yourself. I highly encourage anybody that hasn't ever picked up a golf club. give it a shot. Uh, you might, surprise yourself,and have a good time in the process.
And, separate from that, you can find me on Twitter. Or just Google me, I guess.but, uh, yeah, David, thank [00:41:00] you for having me. we gotta get you out to Frisco. Let's get, let's get a golf club back in your hand
David: Let's do it. I'm down. Sounds like fun. Well, thanks so much. Appreciate it. And, uh, we'll talk to you again soon. Hopefully.
Michael: Thanks for having me.