Greg and Michael discuss the thrill, the uncertainty, and all the other emotions that come with putting yourself out there and never really knowing where or when the ripples you send out into the world will overlap again.
Hi. I'm Mary Perry, and this is my podcast ripples episode 12.
Michael:Excellent. Welcome aboard, Mary.
Greg:Hi, Mary. How are you?
Mary:Good. How are you?
Greg:Great. It's the middle of the day here. I'm assuming that means it's the middle of the day.
Michael:We were just talking, before we started recording that Greg and I don't actually know a terribly great deal about you. But when someone like Aaron Francis floats your name to our list of of guests, then it's certainly someone that that we wanna take notice of. And so we're excited to have you here and have this as, like, a genuinely getting to know you kind of episode. So for those like us out in the community who don't know who you are, Mary, did you wanna tell us a little bit about yourself and and how you sort of ended up on Aaron's radar?
Mary:I have been a hobbyist programmer for, I guess, 13 or 14 years now. And, I went through some changes in my life. I started programming a lot more seriously and daily after I was divorced, and I ended up getting a job, doing Python, which is my main language, but I was also working on a Drupal site. So I had to learn PHP, and that was very challenging for me. I couldn't really wrap my head around Drupal, but I'd used Flask before.
Mary:So I wanted to learn Laravel because it has the MVC setup, and I thought that it would be more familiar. So I went down to Laracon. I did not know anyone there. It was very overwhelming. It was exciting because I I really do love Laravel on the talks were incredible, and I got to meet really wonderful people.
Mary:I got to pitch an app to Matt Stauffer. I met Zuzana from Laravel's, and then the imposter syndrome started getting really bad, towards the end. And then wrapping up with, publish your work increasing increases your luck really made me feel like I could do it. I felt like he was talking directly to me. I know that a lot of people probably have that reaction.
Mary:I definitely teared up. I saw other people tearing up as well. And, Zuzana was kind enough to introduce me after the, presentation, and I told him a little bit about the app that I was working on. And we followed up on a Zoom call and some Twitter messages, and, I've become an avid mostly technical fan. So I think that sums up a lot.
Michael:Excellent. That is that is interesting. So you're how long have you been working with Laravel then?
Mary:Oh, less than 2 years.
Michael:I would say
Mary:yeah.
Michael:So somewhere around the middle to late part of 2022 was when you sort of picked up Laravel, and then you just decided, you know, I'm gonna go to Laracon in, where was it last year? Nashville? And, yeah. Just not knowing anyone. Just kind of sussing out the vibe as someone very new to the community, very new to the framework, and and being there on your own.
Michael:And you've come away with a new perspective on the framework. You know, you've made some friends. Matt Stauffer, let me say, is probably one of the the kindest, warmest, friendliest people. And he's always gonna be out looking for people that that are new, and he's he will take them under his wing and look after them. And, you know, I've known that for the better part of 10 years.
Michael:Now probably a little bit longer. So you've you've definitely found the right people. But it's it's good. It's nice to hear that, you know, even as someone who has never been involved in the community, you know, kind of an outside observer. We heard this with Jess as well.
Michael:Just turn up to the conference and and find that, you know, it's not not as scary as as you think it is in your head in the lead up. So, what what was the what was the kind of app that you pitched, I suppose, to to Matt? Is it is it something because you've been doing some live streams and things like that?
Mary:Yes. But the live streams have been just trying to get used to being in front of a camera. They are it's very difficult to remember any code and also talk and live stream for me, so they've been, like, very beginner level, topics. Mhmm. The app that I was working on, I called it Retear.
Mary:I was working with a volunteering organization that housed refugees in the 1st 90 days in the country. Mhmm. And, a lot of the people who worked there were also retired, so it was kind of like a a pun. I don't know. The, the idea was to try and make kind of a glorified to do app that would track all the the things that were required for a family to move into a house, the tasks that the volunteers needed to do.
Mary:The employees had a different set of tasks, so there's a little bit of role and scope and authorization going on. And, the organization that I was working with specifically needed Google Drive to be involved. So a lot of what happened was I was trying to negotiate around Google Drive, and Matt helped me with the actual coding and the design, which was very generous of him. And I kept mentioning voicing concerns that he and some other people who were helping me had about the Google Drive. And, eventually, it got to the point where I had to stop working with that organization.
Mary:But I was so loud about it that I recently got a award and a certificate from them because when I left, they escalated the problem and resources were allocated from the organization to IT that might not have happened if I hadn't been able to convey that knowledge to them. So it was kind of a success, and I'd like to go back and revisit it with, more appropriate testing group.
Michael:Nice. Yeah. Google Drive is certainly gnarly. If you if you've had to work with it in any capacity, especially with all of the access controls and things that they have in place for it. Even just getting access to a set of credentials that work have have been troubling, even for someone like I've run into the issue as well.
Michael:So it's it's not just a beginner problem.
Mary:Yeah. I was overconfident because I had used a lot of Google's scripts programming and automation with Python, but it turned out to be a completely different beast with Laravel.
Michael:Yep. Yep. It's, it's easy, but it's also difficult if you don't don't have access to the the correct things, I suppose. So Mary, you said that you've been a, you had been a hobbyist programmer for 13 years prior to sort of taking this more of a, I guess, primary focus for yourself. What what was kind of, I guess, the the impetus behind, you know, doing on the side?
Michael:And then what sort of drew you towards, you know, doing it as a as a full time focus? And, I suppose, has that helped being, you know, something that you've enjoyed doing on the side to then making it your full time kind of passion project?
Mary:Well, I was worried that if I ever got a job programming that it would take the fun out of it and the passion out of it. So even though it was my favorite thing to do, I didn't want to make it my focus. And I've always viewed programming as a type of literacy rather than a scale in and of itself. I think that's something that I see and hear about a lot in the Laravel community, that the products that are being made are not being made for the sake of engineering. They're they're useful for additional contexts as well.
Mary:Mhmm. When I was in school, I was an economics major, and I took some programming classes, but I ended up not finishing school. I I think that I missed out on a lot of courses that I would have really liked to take, which is why I've been going through, design patterns so deeply. I've been looking through, the Laravel source code and trying to learn it and recognize design patterns at the same time. So I think that it's interesting to be able to approach a standard course or a standard textbook.
Mary:I'm using the Gang of 4 textbook, with a different context and trying to find your own resources instead of being able to rely on a professor or a coach at a job or something like that. Being able to reach out to people who might know about a specific topic and really apply learning directly, I think it it really helps. I also really love breaking things. And when I have a lot of time and I don't have to follow somebody else's structure, I can break a program in, like,
Michael:50, 100 different ways so I
Mary:can understand it.
Greg:A lot
Michael:of people is is a lot more useful, especially when you get to choose and you can pull on some threads, you know, see where where the path leads you. Whereas, when it's a a structured course or a structured learning like, I did a semester of of computer science, and it's just that it didn't work for me. And I think it, you know, it doesn't work for a lot of us. And and lots of us are, self self taught programmers. And, you know, we forge careers in it.
Michael:I've been almost 20 years as a software developer because I was interested in it. And then and came out on the other side and just happened to keep plucking away at it until I got good at it. And, you know, there are still some days where those of us that that have been around for a while feel as though we don't know what we're doing. You know, something doesn't go our way or something that should be simple ends up being, you you know, hours of debugging or chasing our towers around. So it's, it's certainly the the the common approach.
Michael:And especially with all of the resources that we have available now, you know, we're not being, force fed Java in university or college where we've got Lara costs. So we've got people like Aaron Francis, or, you know, especially in the Laravel community, untold number of, of content creators and educators and people just sharing what they're learning. So it makes it really a great time for us to to pick up and and do our self directed learning and and end up in positions, you know, like yourself where it's now or, actually, the the fear of turning this thing that I love as a hobby into a job, soiling it for me is has really not eventuated, which is, you know, I think now is a really good time for anyone to sort of pick that up because it is and can be an enjoyable thing. And so many of us, you know, spouses, you hear the stories of spouses going, What are you doing on the computer? So, you know, work finished hours ago, it's like, well, yeah, but I still enjoy what I'm doing.
Michael:This is my hobby, and it is my job.
Greg:Yeah. Getting paid to do a thing you love is like, that's the, that's the real ticket. Right? Like, there's so many other people out there who hate the thing that they get paid to do, but we're lucky enough that we just get to play with solving puzzles all the time.
Mary:I think that there's been a bit of a debate about should they teach Git in college, and it's made me really think I think it's a false choice. The whole, do you have a computer science degree or do you not have a computer science degree? Are you self taught? Did you go to a boot camp? Because, ultimately, I think that every software engineer or developer that I've met has been successful because they self teach no matter what environment you happen to be in when you're doing it.
Mary:I heard recently that there's gonna be more computer science graduates than there are jobs available, and I think that people who are successful will be able to differentiate themselves by
Greg:and learn themselves. I I'm I manage a a a team of people, and the people who succeed are the people who are constantly learning. Like, I think I think some people, not certainly not everyone. There are definitely people who come out of the the university system who who who do continue to learn, but there's some people who kind of get their get their ticket, and they think that, you know, that that that's where it stops. And the reality is that that's where it starts.
Greg:My view on college and university is that it kind of really just gives you, a leg up on the the the tools you need to learn how to learn as opposed to be because we the curriculums just can't keep up either. Honestly, can't I I doubt there are university degrees out there that are, like, on the sort of cutting edge of what's happening with, you know, generative AI and all that kind of stuff because it's all happening so quickly. But, the people who are successful are the people who are picking that up and doing really, really neat and interesting things with that. So, yeah, I think I think you're completely right that, however you get there, as long as you are a person who who and I think you tweeted, you you tweeted last night, my time, this this this sort of knowing things is good, but you've got to respect people who've got who can will power something into existence. And I think that that is, and that's that's really like a a a a view on learning.
Greg:Right? It's like I have no idea how to solve this problem. But I know that if I just if I grit it out, if I, if I push hard enough, then nothing is is beyond me. It's just gonna take some time, and it's just gonna take getting knocked a handful of times. And, I I think that that's, the people who are successful are the people who who who carry that kind of attitude.
Michael:Yeah. I think, you you know, structured learning, as you say, it Completely. They can only teach so much. They can't be changing their courses every semester because there's not not going to be enough continuity in the teaching in those structured environments from semester to semester if they're, you know, changing everything to keep up with whatever's current, you know, PHP has basically been PHP for a long, long time. But in in more in demand kind of things, I suppose, you know, in the JavaScript ecosystem, things change rapidly because there's still, I don't wanna say in their infancy, but they're still trying to figure out how they want to get from where they are to where they need to be.
Michael:And, you know, there are people out there at the moment, like Ryan Florence talking about bridging the gap between the back end and the front end so that people can, you know, rightly or wrongly, doesn't matter, but have one language that spans the back end and the front end. And so they're trying, you know, they're approaching things in a different way to what we are in the PHP ecosystem. So, you know, being able to understand how to learn, and how to kind of do things is probably more critical in those settings, you know, teaching the foundational things, teaching people how to learn, and and find the answers to the the problems because not, you know, there there are there are patterns and structures and things like that that we can learn. Know, you said you're you're reading the I've never read a gang of 4 book. I've never read any of the, you know, the blue book or the red book or any of that kind of stuff.
Michael:I know they exist. But everything that I've done has been, you know, through experience, whether that's good or bad, you know, finding out the hard way coming around, you know, years later and going, oh, if I had known this this data structure or this design pattern or whatever, this thing that I did years ago, might have been easier. But the the key is, like, especially for many business all of the businesses I've been, some of the code bases that I've come into, it's like, there's there's nothing structured about this. There's nothing designed about this, but it is delivering value. And so there's also that fine line you find in the, quote, unquote, real world that, you know, are you are you achieving outcomes?
Michael:And I think that is probably the key thing in a lot of scenarios that people, you know, if you're coming out of college or whatever, may not necessarily understand that, you know, the design patterns or you know the structures, but do you know how to apply that in a way that is going to achieve outcomes for the place that you're working? So there is there is differently different ways of thinking about that out here, outside of the the college bubble, I suppose.
Mary:One of the things that I've liked a lot about trying to learn design patterns with Laravel code is that Laravel developers Laravel developers all know the design patterns because they've used them before. And there's this intuitive sense that I've gotten from just looking at code and being able to extend, like, the framework when it's generated with Laravel new. I think design patterns are useful because they give a quick convention to communicate, like a name that you can communicate this idea. And in a lot of senses, I think that when Laravel developers talk about socialite or, the eloquent builder or any of those things. It's a different way of saying a very similar idea.
Mary:I saw a interview recently with uncle Bob on by Primagen. I can't really pronounce it correctly. And he was talking about, the design patterns and talking about how it's written in small talk, which actually looks to me a lot like PHP more than other languages. But he says that since small talk is so gestural and the syntax is so minimal, then you can express a lot of semantics. And I think that the semantic idea is what you can't get in class.
Mary:You can't get it from other people. You have to have your own sense of self learning to have it, and then you have to have some kind of community or some kind of language enabled in order to be able to express it, which is what I think is so amazing about Laravel because there's so many ideas that can go so quickly between people, and it's not written down in a textbook or taught in a class. It's a a really vibrant living organism.
Michael:Yeah. I think I think sticking to the conventions as well, you kind of find your way into design patterns, even if you don't know what they are. They're like, there's manager patterns and there's factory patterns and there's all of this stuff that just exists in Laravel. And if you're following the conventions of the framework, you are inherently using those things. And it may not be until 6 months, 2 years, whatever later that you find out that there's actually a name for that because you saw it at a conference talk or you heard someone, you know, talk about that in in a YouTube video or something like that.
Michael:So it's you know, you're you're using those things even if you don't necessarily know that you are.
Greg:I think you're also completely, like, dead right that it it's about giving a name to things. I think it has been a very, very long time since I've read the Gang of 4 book, but I seem to recall that the main sort of, sort of thrust of it is that it is it it's about identifying common things that have that that there already exist and putting a name on it. And I think a lot of people who get really bogged down in the sort of patterns and practices, worldview is that they first internalize what the patterns are, then try and find all the places to, to implement to to use them. Where really that they're I mean, everything we do is about communicating, and and there's that that sort of famous quote that, you know, code is designed, for communication between humans and only incidentally to be executed by computers and giving names to these like, sometimes relatively complex, relatively complex, concepts. Like, I mean, a a a a builder pattern is not necessarily a simple thing.
Greg:A strategy pattern is not necessarily a simple thing, but you can give if you identify the shape of these things, you can then put a name on it, and then we can talk. Like, I'd sort of say, hey. We we we should use a chain of command in this particular space, and you will just know, like, what I'm talking about without me having to sit there and talk about all of the specific bits and pieces that go into it. Yeah. I I think that's I think that's, like, pretty accurate way of looking at it.
Mary:And I think, trying to implement them when, you know, the design pattern is a hammer, and it just, like, works for everything. I think it's natural to go through a period where you write some pretty terrible code, but that can be avoided Yeah. With the communication perspective.
Michael:Yeah. Yeah. There's there's the communication. There's and there's always, like, I always fall back to known knowns, known unknowns, and unknown unknowns. You know, there are just some things that you don't know that you don't know.
Michael:And so you end up just doing stuff to to achieve some outcome because you don't know that there's another way of doing that as well. So, yeah, I think conventional Laravel definitely takes you a long, long way. And there are there are breaking points. There are places where, you know, some things don't necessarily work at at a certain scale. And you end up doing, you know, modular monoliths or something like this, where you're still kind of following the things, but you're breaking them up in a in a little bit more, granular you know, a more granular way.
Michael:So, yeah, it's definitely interesting to to hear that. And, certainly, I think a common thing that loads of people are just finding their way in the world. Because it's, like I said earlier on, it's it's easier than ever to get started with this stuff. And the and the things, especially now, that Laravel are trying to achieve in terms of making the onboarding experience as easy as possible. We've got the Laravel boot camp, we've got Laravel heard now that makes it really ridiculously simple to to start building apps from the get go, on on Windows and Mac.
Michael:You know, you don't have to worry about configuring things or installing things or whatever. You just Laravel new and off you go. So I think we're in a really good place now, and I think it's gonna get even better in the in the next 12 months or so as Laravel really tries to zero in on that onboarding and and deployment experience. One one other thing that I wanted to touch on, as we're getting close to time here is, you've been doing some teaching in, last year, I went through through your older person, you're doing a coding overview class at your local library. So it's not like it's not just the passion you have at the moment for learning yourself, but also sharing that experience, which we have spoken about time and again, on this episode, that when you are learning the thing is when you are most in tune with being able to teach it to people in a similar space, which is something that often precludes people, you know, makes them think that they're not qualified to teach things.
Michael:Do do you wanna share a little bit about what that's been like for you?
Mary:Yeah. I really love the idea of breaking down language and coding as a language. So I use the strategy of trying to be able to repeat and teach what I'm learning while I'm learning as one of my primary, like, learning skills. When I was growing up, there was a woman, in my neighborhood who was a database programmer, and she always told me that I would be great at it. And when I got to college, I never really questioned whether or not I could do it.
Mary:I just did it as a hobby and continue to do it because she had just shown up and told me about it and kept repeating, you know, you're gonna be great at it. I think that visibility for that and just showing up and telling people that they can and that it's fun and that you it's just possible is really important. I think Aaron Francis does that a lot. Mhmm. I really love the way that he does it.
Mary:I love seeing all of the podcasts from the Laravel community, like, more live streams. I love Lyricasts because there's nothing that's unapproachable about it. It seems like everybody who is public facing and learning or teaching in public is someone that you could have a conversation with, and they're not trying to do, like, over 9,000 IQ thing. I think that that's important.
Michael:Yeah. Beautiful. And so I suppose the the next thing the probably the thing that we'll touch on last, not busy, obviously. But are we gonna see you on the conference circuit at some stage? It feels like the kind
Mary:of thing that you will be able to I think I
Michael:just say breaking down that that in and of itself is an incredibly, difficult skill to master. But if you can take, you know, programming concepts and distill them in such a way that children can understand them, I think, you know, being able to break things down on the conference stage, getting over the anxiety and and whatever else that goes with standing on stage in front of 100 of people.
Greg:Michael's pitching to get the, get the 20 425 speaker line out sorted out right here.
Michael:We got time. Get on the circuit. Yeah. I think I think it'd be good to see at some stage. I think you've got you as as an as a conference organizer, there there are just I don't know how to explain it, but there are certain characteristics I see in people, that you just sometimes, they just need a little push.
Michael:But once they get out there, it's on it's on them. But I think I think you've got that. Whatever it is, I think you've certainly got it. Mary?
Mary:Thank you. And the episodes that I've seen with Rissa and Jess Archer really gave me a lot of context to be putting the talks together that I am now. So I'm hoping that they're successful.
Michael:And and so you're pitching these, you said before we started recording, to the local meetups. I know that Joe Tannenbaum has has kicked off this PHPX, this thing that's going on. So you've got a couple lined up in the coming months?
Mary:Yes. There's one on factory patterns and one that is an overview based on a 8, design patterns that every programmer should know, but it's expanded to 10 because it's more applicable to Laravel code.
Michael:So Excellent.
Greg:Awesome.
Michael:Well, I hope hope that all goes well for you. Hope, hope we get to see that at some stage, and and certainly will be, keeping an eye out in the future for your, grand Laracon debut. Fingers crossed.
Greg:So for everyone who doesn't already have you, followed, where can people find you if they wanna learn a bit more about what you're up to and, follow your streaming and social media escapades?
Mary:Well, I'm pretty much just on the website formerly known as Twitter now, but I will be streaming again soon. I've had to take a couple weeks that turned into a couple months of break, but I will be back.
Michael:I think So your, x.comforward/ is it syphrius? Is that how you say it?
Mary:Yes. At syphrius.
Michael:Excellent. We will we will have, links to that in the show notes for everyone.
Greg:Fantastic. Alright. Well, I think we're I think we're out of time there or thereabouts. So, thanks for going on, Mary. It's been, really interesting to sort of mostly sit back and, due to technical issues, just listen to listen to your story.
Greg:It's always it's always good to, to find people who aren't sort of usual suspects in the Laravel community and and speak to them. Really excited to see where your, design patent talks go. And I'll sort of echo Michael's sentiment in saying that I think that it'd be really exciting to see you on the on the Laracon circuit. Consider I mean, for 2025, consider the best Laracon in the world, which is the one in Australia. We're the only one we're the only one that you can find a koala.
Greg:It's the only one.
Mary:The computer.
Greg:So, yeah, if anyone else out there would love to jump on and have a go at hijacking the podcast for an episode, you can find me at craigscomann on Twitter or at Michael Dorinda for Michael's Twitter. All the links will be in the show notes. I think we we do have 1 or 2 other people lined up doing, Michael, or am I misremembering that?
Michael:Yeah.
Greg:Okay. There we go. But, yeah, until next episode, I've been Greg.
Michael:I have been Michael.
Mary:And I'm always Mary.
Greg:See you all this
Michael:time. Bye.