The Business of Laravel

In this episode of the Business of Laravel Podcast, Matt Stauffer sits down with Matthew Davis, the CTO of Mumsnet, a leading social platform for parents in the UK. They discuss Mumsnet's full-scale transition to Laravel, unpacking the challenges and victories of their ground-up rewrite. They dive into the technical architecture behind their hosting and how they're leveraging machine learning to personalize content for their users. The discussion also covers the nuances of hiring Laravel developers and why finding the right culture fit is crucial for avoiding micromanagement and fostering independence in the workplace. Matthew Davis offers incredible insights on building trust between engineering and product teams and highlights how Laravel can be a game-changer for boosting productivity and driving real business value.
-----
Editing and transcription sponsored by Tighten.

Creators & Guests

Host
Matt Stauffer
CEO @tightenco: @laravelphp and more w/some of the best devs alive.Host @LaravelPodcast. "Worst twerker ever, best Dad ever" –My daughter💍 @ImaniVJones
Guest
Matthew Davis
Dad. Laravel Developer. Speaker. Musician. From the UK. CTO @ Mumsnet

What is The Business of Laravel?

Short, powerful interviews with business leaders working with and within the Laravel ecosystem--about business, tech, and more! Hosted by Matt Stauffer.

Matt Stauffer:
Hey everybody, welcome back to the Business of Laravel podcast where I talk with business leaders in and within the Laravel ecosystem and their projects are working with Laravel or they're working with Laravel folks. And today I have my relatively new friend, but I feel like it's one of those people where you meet somebody, you just kind of click and we sat across from each other at the Laravel Live UK speaker dinner and just talked for hours. So this is Matthew Davis, the CTO at Mumsnet. And before I go into any further detail, because I'm not supposed to, I'm supposed to make you talk.

Matthew, can you kind of give the folks an introduction to who are you and what is the company that you're working with? What is y'all's business and kind of what is its relationship to Laravel?

Matthew Davis:
Yeah, sure. So I'm Matthew Davis, you said, CTO of mumsnet.com. I've been a developer for sort of 25 years, and I've been at Mumsnet for the last four years. So I started there as technical lead. And the sort of brief with that was to completely rebuild Mumsnet from the ground up as a PHP application.

Matt Stauffer:
Really? What was it prior?

Matthew Davis:
So it used to be a hybrid mix of Ruby and Java.

Matt Stauffer:
Okay, wow.

Matthew Davis:
It was quite an old code base. It was like a 20-year-old code base. And yeah, there'd been some sort of attempts in the past to rebuild, which is why it ended up as this Ruby Java mix. And then, yeah, I got hired and the decision was made that it was gonna be written in PHP, and we chose Laravel.

Matt Stauffer:
Were you the lead of the rebuild or are you one of the leads of the rebuild?

Matthew Davis:
Yeah, so I was the lead developer of the rebuild. So it was, yeah, no pressure at all.

Matt Stauffer:
Wow. No pressure, right?

Matthew Davis:
So it was, yeah, no pressure at all.

Matt Stauffer:
And for those just, I want to go more than that, but for those who don't know, outside of the UK, it's probably not super familiar. Can you tell us a little bit about Mumsnet?

Matthew Davis:
Yeah, so Mumsnet is like an online parenting platform. So it's the UK's biggest parenting platform where people can go to ask questions if they've got difficulties with any parenting issues. That's what most people think it is, but it's so much more than that. So there are topics for everything.

Matt Stauffer:
Really? Okay.

Matthew Davis:
There's an area on this site for like chicken keepers, for example, topics around sort of everything like TV, film, podcasts,

Matt Stauffer:
And is it mainly forums or is there a lot of other kind of mediums that it's working in?

Matthew Davis:
So it's mainly just the forum on the site. So we have around about 8 million monthly active users.

Matt Stauffer:
Wow. That's incredible. Yeah.

Matthew Davis:
So it's pretty big. And we get around about 30,000 posts a day. So that's the equivalent of something like 40 novels being written on Mumsnet every day.

Matt Stauffer:
Jeez. So I can't tell you how many times I've talked to folks in that same circumstance who've wanted to do a ground-up rewrite, and the number of those who actually ended up doing it and succeeding is extremely low. So while this is not necessarily a technical podcast, I do think there's a lot of CTOs and people, you know, C-suite folks who really interested in this conversation of what does a ground-up rewrite look like. So I think one of the things I'm really interested in is could you kind of walk us through, as much as you're able to share, of walk us through the story of making the decision and then also implementing such a huge shift without basically the company grounding to a halt or grinding to a halt during that time.

Matthew Davis:
Yeah, it was pretty tricky, to be honest. With it being such an old platform, there was no documentation about what it actually did.

Matt Stauffer:
Oh my.

Matthew Davis:
And it had evolved sort of organically over that 20 years. So the first thing we did was we've got a product team, and they took stock of basically what everything did on the site. We knew what we were aiming for. And as we were sort of going through that process, there was things that we said, okay, yeah, we'll definitely build them so that they're the same as they are now. But there were other things like the whole sort of authentication system, where it was like, actually, we need to redesign this and do it differently. Just with it being a modern site, it was difficult to do some of those things the way that we're being done before.

So that was kind of the first step. And then there's also a content side of Mumsnet as well. So we've got an in-house content team who write articles around everything to do with parenting, but also to do with travel and holidays. So the first thing we actually did was rebuild the CMS side of the project. And once we'd done that, we spun up a Laravel application that was basically taken all of that content. was WordPress CMS at the time. It isn't anymore. At the time, it was a WordPress CMS. And we set up this system where we could send that content to Laravel and serve it from a Laravel application.

Matt Stauffer:
Very cool.

Matthew Davis:
So that was the first thing we did. And then we just bit off each feature as we could until a point, it took us around about 18 months. And after that 18 months, we decided we were ready for a launch. It's a really busy site, as we said, so we had to schedule that in really, really carefully. We ended up doing it at sort 3 a.m. in the morning. And we attempted that three times.

Matt Stauffer:
Oh my God, I bet you there's some stories there.

Matthew Davis:
Yeah, it was tricky. One of the things that we really needed to take stock of was because the old database structure, nobody had any idea how it worked. So we'd got this legacy database that had like 900 tables. Nobody knew what most of those did. So the way we approached that is we built the Laravel app as we would build it if we were starting from scratch with the correct models. And then we wrote some migration scripts to do that. When we originally did that, those migration scripts took about three weeks to run. And it was like, we certainly can't have this. So a big sort of pain point was we've got to get this down to like some reasonable amount of time because we need to cut the site off, do the migration, launch the new site.

Matt Stauffer:
Goodness.

Matthew Davis:
And so, yeah, eventually we got down to sort of, it took around about two to three hours to run the migration.

Matt Stauffer:
Okay, still, that's crazy.

Matthew Davis:
But yeah, it was fun.

Matt Stauffer:
Yeah, so you said you tried it three times. So would you all run it and something wouldn't work and you'd say, well, we'll set it for another week from now? Or would you just like, we're going to try it. OK, got it.

Matthew Davis:
Yeah, exactly that. Yeah, so the first time we did it, we launched it and it was just really slow. With that amount of data in it, it was just super slow. So I was like, okay, we'll roll back and we'll figure that out.

Matt Stauffer:
Okay, so that at that point was just sort of like this Laravel app as it's built with this many records is slow. So we're now going to put the live site back on Java and Ruby. We're gonna put this many records in our Laravel site and we're gonna do another couple weeks of work until it is fast with that much data in it. Okay, got it.

Matthew Davis:
Yeah, absolutely. So yeah, I mean, you know, as it always is, was data base queries that were making that super slow. So I reached out to Aaron Francis, and we spent a day sort of going through that.

Matt Stauffer:
Oh okay. Cool.

Matthew Davis:
And he's got an article about some like deferred join thing for pagination that sort of came out of that session.

Matt Stauffer:
Very cool. That's awesome.

Matthew Davis:
So yeah, the second time we did it, we ran the database migration and the migrations just kept failing. And I had no idea why. I'd run them hundreds of times. They were working fine. And it turned out I hadn't stopped a cron job from running that was affecting the data. So I had to ring the CEO at 3 a.m. to say, you know, really sorry. This is not happening tonight.

Matt Stauffer:
Yep. Yep.

Matthew Davis:
which is not the most fun phone call I've ever made.

Matt Stauffer:
Yeah, yeah, I believe it.

Matthew Davis:
I mean, she was great about it. It's like, okay, what have we learned? Let's try again. So then, yeah, the third time we stayed up all night, we got it done a couple of weeks later.

Matt Stauffer:
Fantastic. Do you regret doing it this way or if someone has 18 months to lose to write something from the ground up, you'd say, no this is the way to do it.

Matthew Davis:
I think it made a lot of things now a lot easier than trying to do some sort of incremental rebuild because I think you've got to draw a line in the sand and say, actually, this is the new platform moving forward. And I think that's hard when there's business pressure to continually innovate and make new features and do things for the users.

Matt Stauffer:
Yeah. And were they building new features on the existing app while you are doing the rebuild or did it kind of just everything and pause for year and a half?

Matthew Davis:
They were having difficulty getting new features out anyway. So it was, yeah.

Matt Stauffer:
Okay, right, because it's 20 years old and nobody does know. Okay, so you're kind of like, we're not getting new features anyway, let's put our energy towards this, rewrite and then we can get new features.

Matthew Davis:
Yeah, absolutely. And it was super hard to get features out. So that whole deployment process took around an hour. So if there was a problem then, it took an hour to roll back.

Matt Stauffer:
Oh my gosh.

Matthew Davis:
We had to figure that out to move forward. It's great now. We use all the standard Laravel stuff. We use Laravel Forge to manage the servers.

Matt Stauffer:
Love that. Okay, nice.

Matthew Davis:
We've got Envoyer, which we're using for deployments. So yeah, mean, the deployment now takes off a minute, minute half, something like that.

Matt Stauffer:
Okay, so so many people think in order to have something at that scale, I've got to be on Kubernetes on 16 different load balance servers. And I haven't actually gone deep on this with you, but just the fact that you're saying standard Laravel, Envoyer, Forge, whatever, and you have the scale you do gives me kind of a hope that there's a story to be told here. If you wouldn't mind sharing, like what is, and again, I don't want to go into like the deepest technical architectures, but again, so many CTOs are being told the only way to hit scale is to do it like Vercel does, do it like whoever else does what's just crazy, edge servers, functions, AWS, thousands of dollars a month, five person ops team. And I'm just like, when you do it on Laravel, using Laravel standards, Forge and Envoyer, what is your actual technical architecture for hosting look like? What does your DevOps look like?

Matthew Davis:
Yeah, so we're all on AWS. It's got an ALB load balancer in front of six EC2 servers, and that's pretty much it. We use RDS for the database, and it's a pretty heavy sort of RDS server, just because it's been read and written to so often. So it's quite beefy, and we've got a read host and a write host and all those kind of things.

But yeah, it's not really much more complicated than that. We've got a couple of EC2 boxes that run like Redis for caching. But it's not any more complicated than that.

Matt Stauffer:
That's about it.

I love to hear that. And it's not to say that there's something against Kubernetes, but so many people who are, they don't have a team set up for something that complex, feel like it's the only way to scale. And what you just described, I appreciate you kind of hitting that right level of technical complexity as you described it, but you just described is really accessible, you know? Like any Laravel programmer who knows how to run Forge and Envoyer, knows how to run Forge and Envoyer in front of six load balance boxes. They might have to learn load balancing, which might take them a week or something like that, but then that's it. This does not require, unless you tell me I'm wrong, but it doesn't sound like it's something that requires a dedicated ops team of six people or anything, right?

Matthew Davis:
Yeah, absolutely. We manage all that DevOps stuff within our team. So we've got seven developers and we manage all the DevOps, all the server management, in-house.

Matt Stauffer:
I love that. That is so cool and so encouraging. So how long ago was it that you did that switch to Laravel?

Matthew Davis:
It was nearly three years ago now. Yeah, it was.

Matt Stauffer:
Okay, so what kind of technical stuff is on your plate now? Like what are you enjoying working on and what is challenging to you now? Because you're like, well, know, breath of fresh air, we can pull up, push out features, but there's gotta be other stuff. Kind of what's tripping you up right now? What's exciting you right now?

Matthew Davis:
Yeah, there's a lot of things coming up, but not too much that I can talk about publicly.

Matt Stauffer:
Totally fair. What about in the past, in the last couple of years, is there anything that was fun and now that it's kinda out, you can talk about it?

Matthew Davis:
Yeah, so think one of the things that was missing in the legacy Mumsnet code base in the application was any kind of personalization. It never knew what you were interested in, so it could never serve up things that you might like. And one of the things that we've done over the past 12 months is we've built a Facebook-style feed that learns about what kind of things you read, what kind of things you interact with, what kind of things you're interested in.

Matt Stauffer:
Okay.

Matthew Davis:
And we've built this feed that sort of learns as time develops and serves you up things that it thinks you you might be interested in. And then I think another thing that a lot of forums have really, where people, you're reliant on your users to post content in the right area of the site. So we've got like a thing that's called ABU, which stands for Am I Being Unreasonable. And people will post in there for, you know, I'm not being unreasonable about this and people can vote on it and all that kind of stuff. But people quite often post in there about things that really should be in a different topic.

And one of the things we've done is we've built this whole system of like NLP categorization of things, which means we can actually collect posts about specific topics from wherever they're posted and serve them up together.

Matt Stauffer:
That's so cool.

Matthew Davis:
So yeah, we've just built this new sort of feature that's called discover, which is live on the site now. And we've curated like these subjects. So you could say, I want to see posts that are about three-year-olds because you've got a three-year-old. And it will collect posts about three-year-olds from everywhere on the site, no matter where it's been posted, and give those to you.

Matt Stauffer:
Yeah. And that's not AI. You said NLPs. We're talking natural language processing, which means it's like machine learning. And a lot of people maybe don't understand kind of the delineation between the two. They're like, the computer knows something. It's ML. Or these days, computer knows something. It's AI. So for natural language processing, you're basically running, and I'm going to say, you tell me if I'm right or wrong, you're running a script and it kind of structures known metadata about that thing that you can then act on, right?

Matthew Davis:
Kind of. Yeah, there's a Google API which you can give it some text and it will give you a bunch of tags and how confident it is about what those things are. How confident it is that that piece of text is about those tags. It's got a list of maybe 300 things and they're actually quite granular. So we ship off things to there and we get that data back.

But we've also got an in-house data team who've built like an ML system. Because it's not as granular as saying, you know, okay, this is about two-year-olds or this is about three-year-olds. So we do handle that in-house. So we've got some Python stuff. I think actually know that system's written in R.

Matt Stauffer:
Right.

Matthew Davis:
So what happens there is when somebody posts, we put a queue job in SQS. We've got a lambda that's running this data service. It will do that categorization and then put another job back into another queue and then we read that back in the Laravel app to sort of save those tags.

Matt Stauffer:
Yeah, and that's really cool because, you know, not to be anti-AI, but there's a bunch of pros of what comes out of AI right now, but there's also a lot of restrictions. It feels very inaccessible. Not a lot of people are at the point where they're gonna build their own large language models or anything like that. And then also there's all these conversations about the ethics of AI and the electrical costs of AI. And so like we are getting to the point where AI was a hype, but now AI is really showing some of its shortcomings. And it's also very expensive to rely on AI as we think about it, know, GPTs and stuff like that.

So the idea that you're building something that feels like machine intelligence, but the way you just talked about it, I'm like, know, ML can be a little bit overwhelming, but like sending a chunk of data out to an API and getting back a bunch of tags and each tag says, we think it's 90% likely attached to this tag, 80% likely attached to this tag or whatever. And then just using that data alone to build some like kind of intelligence of how they're structured feels like magic, right? It feels like intelligence. It feels like artificial intelligence in way where like that's what we're excited about from GPTs, but you can build this stuff in your app today without touching an LLM, without touching open AI or anything like that. So that's really fun that y'all are like, it's like the, doesn't have a big AI label on it or a picture of robot, but you're using computers to give us better answers than just what is coming from the people, right?

Matthew Davis:
Yeah, I think that's the thing. It's about serving up content that people need, like when they need it. And that doesn't need to be that complicated.

Matt Stauffer:
Yeah.

Matthew Davis:
You know, like we're doing nothing special with the tags. It's literally like, you know, a many to many relationship in all our Laravel app. And we just say, okay, give me all the posts that have got these tags at this confidence level.

Matt Stauffer:
That's very cool. That's very cool. Yeah, I mean, like, if one of the things that we want is for the machines to make the lives of humans easier versus, you know, we always, there was that trope on Twitter that I, unfortunately, I repeat every time, which is like, I don't want the machines to take my creativity. I want them to take away my rote and mundane tasks.

Effectively tagging posts when I put them up is a mundane task that people are also not necessarily particularly good at and so being like well great robots could do that for you. It's just like that's that's what I want this stuff to be used for in the first place, right?

Matthew Davis:
Yeah, definitely. You know, I want it to do my my chores. I don't want it to do the stuff that I actually am excited to do.

Matt Stauffer:
Yes. That you actually like doing. Yeah, totally. Okay, so I wanna talk really quickly about managing and hiring Laravel developers. So for starters, are the majority of your team members like full-stack Laravel devs or do you have like a front-end and a back-end team or?

Matthew Davis:
So we've got two developers who their primary focus is front-end and everybody else is a full stack.

Matt Stauffer:
Okay, and how have you found the experience of hiring Laravel developers?

Matthew Davis:
It's a mixed bag, I think. You get some really, really great Laravel developers. But you also get some not great ones who are applying as well. I think one of the things that I always look for is a real sort of culture fit. I feel like as long as you've got a base level of programming knowledge,

Matt Stauffer:
Yeah.

Matthew Davis:
you can do stuff and you can learn stuff. It's more about having that right attitude and being curious about things and always wanting to learn something new for me.

Matt Stauffer:
Yes. Love that.

Matthew Davis:
I think having that sort of curiosity and being able to recall something that you may have read five years ago and go, oh actually, that solves this problem right now.

Matt Stauffer:
Yeah, yeah, I love that. I mean, like we always say, like, can I can teach somebody how to do some new advanced coding thing, but I can't teach somebody how to be a good person or how to be curious or how to be a self-starter or how to be a lifelong learner. And so if you can say, like you said, they don't need the baseline because they need to be productive on day one in the tech stack. But if you can hire for good people that meet that baseline and those good people, and not just good people as human beings, but also good in terms of curious and whatever those metrics are where if you think about the most capable, most productive, most brilliant programmer you've ever worked with, who you actually enjoy being around, usually they have some of those same characteristics. They've got the, they're always looking at something new or they, in their spare time, they're going out to this other technology stack and because they're curious and they're learning about it, you start identifying what those characteristics are and then kind of wanting to hire for them, regardless of whether they actually know the full ya know fullness of every single thing or whether or not they can do link lists on a whiteboard. You know I mean? Like it's like, yeah, that's cool, but...

Matthew Davis:
Yeah, that's cool but nobody does that in the real world.

Matt Stauffer:
Exactly, it has no relevance to our actual jobs. So when we were at Laravel Live UK, you gave a talk about conflict and relationship and everything like that, which was brilliant. And everyone should, if you get a chance to bring Matthew in to speak at a conference or anything like that, you should bring him in to give this talk. But it really kind of made me think about what your life is like as a technical leader of a team. So your role is CTO, you've got seven developers underneath you, how much of your job is coding and technical stuff and how much of your job is like people things?

Matthew Davis:
I think I don't do much actual coding anymore at work.

Matt Stauffer:
Yeah, familiar.

Matthew Davis:
I do a lot outside of work, but that's again because I'm curious and I want to learn stuff.

Matt Stauffer:
Yeah. Familiar, yep.

Matthew Davis:
But I also think that that part of my job is to keep on top of those, those new things that are happening. Keep on top of what's happening in Laravel. Keep on top of what's happening in the ecosystem. Because if one of those people comes to me and says, I'm struggling with this, I feel like I need to be able to give an answer or at least know where to go to find the answer.

Matt Stauffer:
You gotta know. Yeah.

Matthew Davis:
So the majority of my time is spent, you know, sort of working with our product team to make sure that, you know, we're, we're building what
they envisage. I think my sort of management style is quite hands off. I feel like we're all adults, so I try and treat the team like adults. Hopefully they would agree with that. Because we're all there to do a job, and if we're all aligned around the same goal, then we will do our best work, I think.

Matt Stauffer:
Okay, well that's where we're going right now because that just gave me goosebumps because I just see so many people where they're not getting what they want and so the answer is to kind of clamp down. What does it look like to build that trust where you actually believe that it's gonna get done. Does that happen at the hiring level? Does that happen at the some level of oversight beneath you level? Like how do you build a team where you can trust to be hands-off? You can say, here's the assignments and I know that you're gonna do good work and I'm not gonna micromanage you.

Matthew Davis:
Yeah, I think a lot of that comes down to hiring for that culture fit. If you've got people who fit in with the culture, the team quite often will sort of give each other the support that they need. So you know, if somebody on the team is struggling with something, they will quite often just, you know, ping somebody and say, can we jump on a call? Can we get this done? Like, can you help me? And that's why I think that culture thing is so important.

Matt Stauffer:
Yeah.

Matthew Davis:
You can trust them to do that and you know it's going to get done and you know, yeah, there's going to be bugs sometimes. You know, we've got processes in place, know, we do like code reviews and all the standard stuff, but things slip through. But we try and treat that as a learning opportunity, like if there's a problem, you know, okay, we get it fixed and then it's like, okay, what did we learn from it? How can we prevent that same problem again? I don't know if that answers your question.

Matt Stauffer:
Yeah. No, it was fantastic. And it kind of leads me to another question, which is you were just talking about, you know, a lot of your job right now is working together with product.

Another thing that I see commonly is a line in the sand between product and engineering where there's a huge lack of trust because product asks for things and engineering is always making excuses. And I'm saying that's not saying that's the case, but that's how it feels, right? We want things from you and you're always making excuses. then from engineering's perspective, it's product is always kind of forcing us to do these things. They don't understand technical debt. And there's just kind of like this communication, whatever.

Do you have any tips for how to build a healthy, understanding, trusting, respectful relationship between engineering and product?

Matthew Davis:
I think it's always difficult between those two teams. But I think, yeah, there are things that we put in place to try and mitigate that as much as we can. I think having everybody aligned around the company goals is one thing. But our project process, when our product team have got an idea of something they want to do, we try and involve the developers quite early so that

Matt Stauffer:
Nice.

Matthew Davis:
if there is some technical reason why we can't do something that the product team want to do, we'll get on a call and we'll hash that out until we get to something that does the same kind of thing or something that meets their goals. It may not be the same thing at the end of the meeting, but something that meets that goal. And I think we try and give the whole team ownership of a feature rather than it being this is a product feature and you've got to implement it.

Matt Stauffer:
That's really cool. Is there any like, let's say you were talking to somebody at a company where there's just a huge distinction, product finishes the thing, they throw it over a wall, there's hardly even any interactions between product and engineering. Is there like one change to their meeting schedule or one like, make sure they see it at this point or like just one little change that you think that company could make to get moving in the direction of where you all have it?

Matthew Davis:
Yeah, I think that I think the biggest thing that made the biggest difference for us is getting those developers into that product meeting before it's been scoped out, before it's been designed, before it's finalized, because then nobody's precious about it. It's, you know, it's just not, it's not a finished thing. So it doesn't feel like it's unchangeable.

Matt Stauffer:
Yeah, that's brilliant. I love that. I really, I'm very excited about that conversation because I think that trust in teams within and between teams is something that is just really difficult. And I'm seeing a lot of people struggling with building that. And the more I talk to people, the more you know, autonomy and respect to each other's opinions are really important.

Like autonomy and ownership, like people feeling like they are an active part of the thing is often more important than that they do what they want to do or that they get paid a certain amount or whatever. It's like, do I like actually make an impact on the thing? Like, it different because I was there? Was my opinion actually heard and respected? Seems to be like one of the most important things for folks. So that's really cool to hear.

Matthew Davis:
Yep. Great.

Matt Stauffer:
As we think about the decision that your business made to choose Laravel, were you a part of that decision or did they choose Laravel and then hire you to implement?

Matthew Davis:
Yeah, they'd already made the decision that they were going to use Laravel. Or certainly they'd made the decision that it was going to be PHP. It's so long ago, I can't remember exactly whether they suggested Laravel or I suggested Laravel.

Matt Stauffer:
Yeah, it's totally fine.

Matthew Davis:
But it made sense at the time to use something that gave you so much out of the box for free because of the scale of the thing we were trying to accomplish. They tried other stuff, they tried some microservice stuff and it was difficult and I don't think the team really was set up to handle that kind of abstraction of all those different parts and all those moving parts of an app. So I made the decision that we weren't gonna be doing microservices and we were going to have a Laravel app that we could deploy and everything changed at the same time. So yeah, think it was sort of a bit both.

Matt Stauffer:
Okay, so when you think about the productivity of your team and your ability to push out ideas that product has, are there any kind of easy to name ways in which choosing Laravel versus choosing any of the other kind of tech stacks has really made it clearly providing business value for you all where you're able to say, can respond differently to products requests or we can give up time or whatever, like what are the first things that come to mind when you say like, these are the business benefits that we get from choosing Laravel, if that makes sense.

Matthew Davis:
That's a difficult question.

Matt Stauffer:
I know, should have prepped you on that one.

Matthew Davis:
I think one of the benefits that Laravel gives you is that it has so much stuff out of the box that actually you can just get right in your business code more quickly. So before I used Laravel, I was a symphony developer. I did the symphony certification. I spoke at Symphony Live. So, you know, I was really heavily invested into that. And then when I started using Laravel, it was like, okay, this has got like cues out of the box, which is something that Symphony didn't have back then. Or it got, you know, a caching layer that was just there.

So it meant that you didn't have to worry about any of that as long as you did the things that it said in the docs, you know, like this is how you use the caches, this is how you use the queues. It made all of that really easy, which meant that you could deliver software that took advantage of those without needing to do all the work to set those up.

Matt Stauffer:
Yeah, yeah, it allows you to spend more time, like you said, writing the business's specific software versus spending a lot of time writing generic things that are gonna be in every application, which the more time you pay for that, the less time you're paying for software that actually is unique, code that is unique to the features that you want for your company. Yeah, that makes a lot of sense.

Matthew Davis:
Yep, definitely.

Matt Stauffer:
Okay, so I want to talk a little bit about what it took for you to get to where you are in your career today. Obviously, you're not just coding, you're also kind of leading thinking about people and processes. Again, I gave you gave a talk about kind of relationships and conflict and stuff and you're thoughtful about what it looks like to have respect with your team, good relationships with your team and product.

How did you get here? Are there any kind of books or articles that you really like? Are there any experiences you had at previous companies or like what kind of, if somebody wants to come up and be where you are today, like what, where should they go?

Matthew Davis:
I think I've been really lucky in my career that I've experienced a lot of different businesses and a lot of different managers. And I've always tried to avoid the things that I didn't like when I was a developer.

Matt Stauffer:
Turns out that takes you really far.

Matthew Davis:
Absolutely. So I mean, I've been writing code since I was, you know, four basically. I had a ZX Spectrum when I was four and the only way you could get that thing to do anything was to write some code. It's just something that I've always been interested in. My progression, I've done agency work. But I think the majority of my time has been spent at companies building an app, but then also maintaining it. And I think that's a really important thing to experience. Because you get to experience your own mistakes further down the line.

Matt Stauffer:
Yeah. Yeah.

Matthew Davis:
And I think it's a natural progression quite often for developers to end up moving into management and moving away from the code that they actually enjoy doing. Yeah, I mean, for me, I try and keep that outside of work, I will spend a lot of time coding. I'm learning Swift, I'm learning Swift UI at the moment, I'm trying to build a Mac app and all that kind of stuff.

Matt Stauffer:
Nice!

Matthew Davis:
As far as books and things like that, there's a great book called Radical Candor by Kim Scott, is all about giving feedback.

Matt Stauffer:
I love that book. So good.

Matthew Davis:
That's a great book. The one that my talk was based on at Laravel Live called Conflicted by Ian Leslie. And I'm currently reading one called Growth Levers by a guy called Matt Lerner, which is about how to find like areas of your business that you can grow, the things that you should be focusing on. But I think it's that really. It's reading a lot of things that's not just about programming, reading these kind of books, reading business books, trying to get that sort of overall knowledge of how a business works. Because whoever you're writing software for, it's a business at the end of the day, and there's going to be business objectives and that business is going to make money to pay you. So understanding that process is I've always found really important.

Matt Stauffer:
And I really appreciate the fact that, one of the things you mentioned earlier was that one of the ways to have these trusting relationships is making sure everybody's aligned together towards the same goals. So what you're talking here about, we got to make sure that we understand the goals, that we are all working towards them, and then we're all given space to work towards them, because people don't traditionally think of developers as having insight, input, anything, education of how to think about the business objectives. And so you're saying, let's do a combination of like, hey we want developers who are capable of aligning themselves there. And then we want to give them agency and ownership to actually be a part of that. And when you're kind of doing that whole thing, everybody's better off. The developers are better off because their voices are heard and everything like that. They're happier. But then also product is in a much better space because they're developing things for the development to build that is actually buildable versus throwing something over the edge and again discovering that that was not something that is actually manageable for us to implement. It's like everything's more productive, everything's more aligned. I'm like, this sounds great. I love this idea.

Matthew Davis:
I guess as a business owner, if a developer came to you and said, look, if we do it this way, it's going to cost X amount. If we do it this other way, that gives you 90% of the same result, but it's going to save us X amount, which one are you going to pick?

Matt Stauffer:
Yeah, exactly. It's gonna save us money and most often in those cases, it's gonna make the developers happier. It's gonna make our technical debt ongoing lower. It's gonna make the maintenance cost of making changes to things in the same area of the application simpler later. Like there's so many business benefits that come from developers having an active role in this conversation. And I just love how you're kind of presenting it so simply.

Matthew Davis:
Yeah, absolutely,

Matt Stauffer:
Okay, so we talked kind of mainly about my topics, but I just wanted to kind of ask you, like you have a lot of opinions and you have a lot of ideas. And I don't mean that in a pejorative way at all. I mean, you have a lot of well thought out, well earned opinions. As you think about this podcast, I don't ask this people all the time, what do you think people need to hear from Matthew Davis's experiences? Are there things that you've done or are there things you've learned or?

You know, do you want to give me a 90 second rundown of part of your talk or, know, like, is there something that you're like, you know what, like if I get a platform, I want to make sure people hear this that we haven't covered yet today.

Matthew Davis:
I think one of the things that lot of developers struggle with is the soft skills that you need. And being able to just talk to people about things, being able to disagree with people in a productive way, being able to give people feedback and not being scared to do that, because that's not a natural thing for anybody to do. We're always told, you know, if you've got nothing nice to say, don't say anything.

But that's the only way people can grow. And for me, I want people to give me feedback. I want them to tell me if I could improve something so that I can get better because I want to be the best version of me that I can be. And I think really, really sort of working on those soft skills is really, really important for developers to be more successful in a business setting, certainly.

Matt Stauffer:
You mentioned Radical Candor being something in that direction. Do you have any other, and also you mentioned Conflicted, are there any other practices, experiences, courses, books or anything you're like, if you're a developer and you want to learn soft skills, here's where to go, maybe should I just get started with those books?

Matthew Davis:
I think those ones are probably a great starting point. Yeah. I think a lot of it is down to experience and knowing, you know, reflecting on things that maybe have happened with people. Not too much that you you drive yourself crazy. Yeah, but just having that sort self-introspection to say, you know, actually maybe that was me and it wasn't them. And sort of acting on that moving forward is...

Matt Stauffer:
Good. Normally I don't do this, but I have a talk I gave a long time ago called, I think empathy is a superpower, empathy gives you superpowers. If y'all are interested as a developer, if you're interested in learning more about what Matthew just talked about this idea of just imagining like, did that interaction go and how did it make that person and how can I be kind of bringing and understanding other people experiences more? That was the primary focus of the talk was trying to say, hey, developers, you're going to be a better developer, better employee, better spouse, better all these other things if you're a little bit more considerate, able to meet a little bit more considerate.

I don't normally plug my own stuff, I just like that just reminded me it, so I had to throw it in there.

Matthew Davis:
I'm gonna go and watch it if it's available.

Matt Stauffer:
All right, so it's, yeah, yeah. So it's almost time for us to start wrapping up. So I'm gonna get to our last questions of the day. So the first thing is, are you all hiring or do you think you're going to be hiring anytime in the near future?

Matthew Davis:
We're not hiring at the moment.

Matt Stauffer:
Okay, if we wanted to watch out for when you are hiring, where would someone go?

Matthew Davis:
So we always post on LinkedIn. If you follow Mumsnet on LinkedIn, we always post there. We use Workable, so that goes out to tons of job platforms.

Matt Stauffer:
Yeah, all the different, yeah. Okay. Do you personally have anything you wanna plug?

Matthew Davis:
I wish I had something to sell, but I don't. No, I think the only thing that I would really sort of plug is Mumsnet itself. It is a really, really useful resource. Whether you are parenting, whether you're pregnant, whether you're on that journey or you're not, there is so much there for everybody. I think everybody can sort of benefit from other people's opinions.

Matt Stauffer:
I love that. Yeah. All right. And here's the last question. If you were offered a hundred million pounds today, you don't need to show up to work tomorrow. You know, I don't know what happens, whether it's you had owned the ownership stock of Mumsnet or whatever, but whatever it is, it's going somewhere else and you are just replete with money. What do you do tomorrow?

Matthew Davis:
I'd probably make sure my parents were comfortable first. That would be the absolute first thing I'd do. Put some money aside for the kids and probably concentrate on building my wife's business more. Yeah.

Matt Stauffer:
Okay. I love that. So if you were doing that, not to go too deep down that, what do you think your role would be? Are you a jack of all trades there? Would it be mainly technical?

Matthew Davis:
I think I'd probably end up doing all the technical stuff, all the people management.

Matt Stauffer:
Yeah, I love it. Fantastic, well, that's brilliant. I kind of expected that everybody's answers would always be the same to that and not a single person has given the same answer yet.

Matthew Davis:
Really?

Matt Stauffer:
I'm like, I love people. Everyone's gonna be like, you're gonna be on beach. No, that has not been it. Awesome, well, Matthew, you are a wonderful human being. I have delighted in getting to know you, getting to learn from you and I really appreciate you coming on here to share kind of your thoughts and your experiences with us. Yeah, thank you!

Matthew Davis:
Yeah, thank you. It's been great.

Matt Stauffer:
Yeah, it really has. And for the rest of you, thank you so much for hanging out with us and we'll see you next week.