The Ethos of Laravel, with Taylor Otwell

Matt Stauffer:
Hey, welcome back to the Laravel Podcast, Season Four. I'm your host Matt Stauffer and today I'll be talking to Taylor Otwell, the creator of the Laravel Framework and community and everything else. Stay tuned.

Matt Stauffer:
All right, welcome back to Season Four of the Laravel Podcast, the first episode where we've got an actual interviewee. So I'm your host Matt Stauffer and just a reminder, this season of the podcast is going to be each episode about an individual topic that is really helpful for people who are new to the framework, but also everybody else just to make sure that we all really kind of have an understanding of all the things. And for each of these episodes, I'm inviting somebody who is a little bit of an expert in that space. And to get started, I just want to talk about Laravel itself. So of course, the expert in Laravel itself is the man, the mystery, the legend, Taylor Otwell, the creator of the framework Laravel. We're going to just kind of get in some basic questions about what Laravel is about and what motivated Taylor to create Laravel and stuff like that.

Matt Stauffer:
But first, I just wanted to give Taylor a chance to just say hey. So Taylor, could you introduce yourself to the audience.

Taylor Otwell:
Sure. Hey, I'm Taylor Otwell, creator of Laravel and it's good to be here.

Matt Stauffer:
Thanks for coming man. So this time, we're going to be talking a little bit less about your history. If you have not heard Season Three of Laravel Podcast, we went into a whole bunch about Taylor's history of getting into computers and stuff like that, so I'm not going to dig into that today. Go listen to that one. But today, I really want to talk about a little bit about Laravel the framework. When I talk about the ethos of Laravel, I'm really thinking about what motivates you. And if you were to think of Laravel as an idea, what is the idea of Laravel? I hope through these questions, we're going to get a chance to be able to dig into a little bit.

Matt Stauffer:
The first thing I wanted to say, and this kind of mirrors the questions I asked in Laravel Podcast, Season Three is if you have just met someone for the first time, and there might be a couple answers, maybe one for technical and one for nontechnical people, how do you describe Laravel to somebody?

Taylor Otwell:
Well, most of the time, I feel like in my "real life", I'm meeting usually nontechnical people, either people that live in my neighbor hood or whatever, and they ask me what I do. I tell them about Laravel and I kind of just tell them it's a way to build websites quicker. It's a starting point for building web applications. Usually that leads them to ask like, "So is it like WordPress," because a lot of even nontechnical people have used WordPress, but then that kind of leads down the rabbit hole of, "Well, not really. It doesn't have any graphical user interface or anything," so I actually still don't feel like I have a great way to explain Laravel to nontechnical people.

Taylor Otwell:
Technical people, it's of course very easy to talk about because there's other references points, like maybe they've used Rails or maybe they've used .NET, MVC or some Python framework or something like that, so with them it's pretty easy.

Matt Stauffer:
How would you describe it to somebody who's from, let's say .NET, MVC, who's not super familiar with Rails?

Taylor Otwell:
Yeah, usually I just say it's kind of like .NET, MVC. It's a web framework for PHP and it has controllers and models and ways to interact with a database and templates, all the stuff that they would be used to even in that language. And usually people have some reference point, unless they're just... I mean, I have worked with people that basically only wrote COBOL or only did something like that, so I guess they would have no point of reference. But most of the people I talk to, it feels like usually they've done some web stuff and they have some idea what a web framework is.

Matt Stauffer:
Yeah. Yeah, and especially because with most anybody who's worked with web frameworks, you can throw out MVC or at least some of those terms and give them some points of reference. So when people ask me what I do... And one of the interesting things I didn't mention earlier is that I'm going to try and also be sharing on things, not just asking questions. So for those of you who are I'm surprised I'm talking, that's a little different this season.

Matt Stauffer:
One of the things that I do often when people ask me, "What do you do?" is I say, "Well, I build websites." And every time I say that, it's hard because they say, "Oh, well, I got a mom or pop," or I got a whatever, "and so web applications have definitely been the helpful thing." And then they say, "Oh okay, so what's a web application?" and I often say something, "Well, it's like something where you have to login usually or something that powers a phone app," so that's often been something that helps people understand. I say, "So you know how with Facebook, it's not just a website you go to and read stuff, you login and you can change things in like boxes and those boxes change how other people see it. Web apps are things where you're actually usually interacting with something. And maybe it's not you that's interacting, maybe it's the author of the post that's interacting with it and you just read the post, but someone, somewhere is actually interacting with this application.

Matt Stauffer:
"Sort of like an app like Excel on your desktop or something and that's making changes to other aspects of the application. We build applications for people to log into, like a Twitter or Facebook, but we also build applications that power other things, like for example, every single time you'll use," and I'll name some app that I think the person's interested in, "It'll communicate back to a centralized computer server somewhere and that's where that data is stored." And usually talking about the definition of web applications helps because then they say, "Oh okay, cool. What kind of tools do you use?" And then you often have... And I say, "Oh, well this language called PHP, it's a framework called Laravel and it's tooled around making it easier for us to build web apps, so there's a lot of stuff that every web app has. By using something like Laravel, we don't have to rebuild those same pieces over and over again." They go, "Oh totally, totally makes sense." People who maybe know a little bit of code might ask about what a framework is and you can get into that too.

Taylor Otwell:
Yeah. And I feel like I'm getting this question actually more and more often in my personal life just because, especially over the last one or two years, I think because like Abigail, my wife, will share pictures on Facebook of our conference in Time Square and people see that and they're like, "Okay, this is actually kind of a big deal it looks like. What exactly do you do? What exactly is Laravel?" I feel like I've definitely seen an uptake in those kinds of questions over the last few years. Whereas before, I don't know, people probably thought I just was lazy and stayed at home all day or something.

Matt Stauffer:
Yep, or they're like, "Oh yeah, he's a programmer," right. They're not thinking about it as your thing that you created as a creative entrepreneur, they're thinking, "Yeah, he sits in front of a computer in a corner closet all day long, just typing out whatever hacker script." Yeah.

Taylor Otwell:
Yeah.

Matt Stauffer:
So okay, so that's a little bit about Laravel to somebody who doesn't fully understand it. I kind of want to go from there into what is that... So let's talk in our space. We talked a lot about people who don't understand PHP, we talked a little bit about people who don't even understand programming a lot, but when we talk about people who are in our world, let's say they're a PHP programmer or somebody who knows about Rails and knows about Express and stuff like that or down at MVC, as you think about those people, how would you try to differentiate Laravel for them? And not to say you got to say everything else sucks or anything like that, but as you're talking about what makes Laravel either unique or similar to one but not to another, how do you talk about that?

Taylor Otwell:
I do feel like I identify more with Rails than most other frameworks and I think the things that Laravel and Rails has in common is basically how they're built. And both Laravel and Rails are built out of the specific, real world, sort of concrete needs that both of the developers of those framework have. A lot of the Rails stuff is extracted from the stuff they needed on Base Camp and a lot of Laravel stuff is extracted out of either in the past, stuff I was doing at UserScape or now stuff that we're doing on Forge, on Voyeur, Vapor, stuff like that. In that sense, Laravel is very grounded in the real world, around real world problems, real world situations that developers are probably going to run into. I think that's different than like libraries that are built out of curiosity or like just to sort of... I call it in a vacuum. They're not really connected to any real concrete problem that the person's working on, they're just sort of built for building it sake or for fun or whatever else.

Taylor Otwell:
I think that's one thing that makes Laravel pretty unique is that it's a major backend web framework that's also being constantly improved upon by our own usage of it.

Matt Stauffer:
Yeah, that makes a ton of sense and that is... It's obvious in some of the ways you're talked about, and we'll go into this a little bit later, but you've talked about how one of the ways you think about building the interface between... And for those who are kind of new to coding, we'll often use the terms interface or API, even though we're not talking about an API, what we really mean is when I'm interacting, I as a programmer am writing my own code, so user line code that interacts with Laravel's code. What methods am I calling and what parameters do they take and that kind of thing, so when we're talking about building the API or building the interface to Laravel, that's what we mean is what does it look like for me to interact with it. And one of the things you said often is the way you write new Laravel code is you first write the interface that you want to interact and then you make it work.

Matt Stauffer:
I mean, I think that that's one of the biggest impacts you've ever made on me is teaching me to code like that, so that makes a lot of sense, right, because you can't do that when you don't know where you're going to use it in the first place. I love that. And you said Rails also has extracted much of their code out of Base Camp as well.

Taylor Otwell:
Yeah. Mm-hmm (affirmative). Yeah. I think... I do kind of still start from what's the ideal syntax that I want this feature to have? I think that's why I identify with Ruby as a language quite a bit is just that it seems like their language was kind of built that way, in a lot of ways, just the way the APIs are usually really expressive and kind of read almost like pros. I feel like Laravel sort of shares some of that philosophy.

Matt Stauffer:
Yeah. Yeah, and it's super clear. I mean, we've said this before on a podcast, or I have at least, but in PHP, it's such a flexible language that you can write it a lot of different ways and I think that Laravel's code styles and that the syntax has made an impact on a lot of us writing more expressive, more terse and more Ruby-like PHP, which I appreciate. I love the flexibility of PHP in the broadness of our community or the breadth of our community, but I do also love being able to keep it a little more terse. If that makes sense?

Matt Stauffer:
So you talked a little bit about your motivation, but I had a question here. I wanted to ask you what your primary motivation or inspiration behind new features is? You mentioned that a lot of stuff comes out of what you're writing. Could you talk a little bit about how much of your work comes out of just extracting existing things, how much of it is planning and even what do those processes look like of extracting or planning for new features?

Taylor Otwell:
So a lot of like... I'll start with extracting first. A lot of stuff is like, say I have a big project like Vapor, I usually start a project like that on the upcoming release of Laravel that's not released yet. So with Vapor, I started writing Vapor on Laravel 6, before Laravel 6 was released. In the course of writing it, I'll come across various pain points or things that I don't feel like are easy enough in the framework. And if it's a minor thing, I might just fix it right then in Laravel 6. If it's a bigger thing, a lot of times I'll kind of more just make a note of it either in Base Camp or in some file that I keep track of things I want to improve in Laravel. And when I have time after Vapor's done, I'll come back to it.

Taylor Otwell:
So one example of that is the max exceptions property in Laravel 6 where you can say like, "I want this job to keep retrying for up to 30 minutes, but I only want it to have three unexpected exceptions." That was extracted out of Vapor where we had a situation, say you're doing a deployment and we actually have a job called Monitor Deployment that sort of... It's cued up and when it fires, it sort of evaluates the status of the deployment. And if anything needs to happen, like if it need to be canceled, if the next step needs to run, and then it will just cue itself again with a delay of like 10 seconds.

Matt Stauffer:
Got it.

Taylor Otwell:
So it actually ends up firing dozens of times throughout the deployment and that's fine, but if it ever gets three unexpected exceptions, we don't want it to keep retrying after that. We want to cancel everything, so that whole feature was pulled. And I didn't implement that feature at the time in Laravel 6, but I sort of had it in the back of my head and then we came. We came back later and Mohamed helped us implement that, so that's an example of extracting a feature. And then, what was the other thing? Extracting and...

Matt Stauffer:
Or just creating new features that aren't extracted. Sometimes you built something that don't seem to have come out of a project, so what is that process like?

Taylor Otwell:
Yeah, an example of that would be like the new migration dumping stuff that's coming in the next release of Laravel where it honestly wasn't something that we were really struggling with here at Laravel. Our projects have quite a few migrations, but not enough to cause a significant issue in our testing or whatever else, but it was just something that... On that one, I pinged Jeffrey Way and I was like, "Hey, I'm gathering ideas for what I want to work on for the next release of Laravel, is there anything that stuck out to you as a real pain point?" I just did that on Telegram, just casually and he mentioned that feature. It wasn't just him mentioning it though, it was like people had mentioned it throughout the years and then him mentioning it again was sort of the... just sort of sparked me to start working on it because it kind of resurfaced.

Taylor Otwell:
I do that a lot with problems. Sometimes a PR will come in and I'll close it and be like, "I don't think we're going take this on right now." But if it keeps resurfacing on GitHub, to me that's an indicator that we need to revisit it. Some people sort of take that the wrong way. They'll say, "Oh, this PR came in a couple years ago, but it got closed." Well yes, but we didn't know how legitimate the problem at the time.

Matt Stauffer:
Got it.

Taylor Otwell:
And since it's resurfacing multiple times over a few years, hey, maybe there's actually some substance to this and we should actually fix it. That's part of how new features get inspired. Sometimes I'll just be personally curious about a technology, like serverless tech and Laravel Vapor and it just becomes a personal project and something I'm interested in, but that's some basic ways on how something like that happens.

Matt Stauffer:
I love what you said about the cue's max exceptions because I realized... So I've run into situations like that and just... For anybody who wasn't following, what Taylor's saying is basically for a period of time, he wants some piece of code to be dispatched every whatever, let's say every 10 seconds, and during that time it should be dispatched every 10 seconds. And at the end of that time, it should stop being dispatched and it should only allow a certain number of errors. I've written stuff like that before and it's been kind of weird because what you're doing in my case has often been writing maybe a chron job or something like that that runs a certain number of times so that I can keep that fail after X number of times thing. It's interesting because you and Adam Wathan have both mentioned in the past that some of things that make you good programmers are a low tolerance for inconvenience or whatever that term is that you used and that kind of definitely strikes me there.

Matt Stauffer:
I've solved that problem that you're talking about in ways I didn't like and said, "Well, this is the best way to do it," right, and then kept on with my day. It's very interesting to me that one of the motivations for features for you is being annoyed by something and being willing to take the time to make it less annoying next time.

Taylor Otwell:
Yep and we totally solved it, like in Vapor, without having the new feature in Laravel. There were ways to do it, yeah, but like you said, it was just sort of inconvenient.

Matt Stauffer:
Yeah, that's cool. I like that. Yeah, I mean people often joke about good programmers are lazy programmers, but there's definitely something to be said there because while you're saying that lazy... and of course there are lazy programmers who aren't good at what they're doing because they're literally just lazy, but I think there is a willingness to... One of the things I've thought is that one of my biggest personality traits is that I often conform to standards other people put on me when I may or may not value them just because I subconsciously say, "Oh, this is what I'm supposed to do and so I just do it. This is what's available and I just take it." I love that there are some people, including you, where you look at the thing, you're like, "Yeah well, I don't like it."

Matt Stauffer:
I think you have to be that type of person to create a framework, like to say, "I don't like what's out there." That's a perfect segue into our next question actually, accidentally, which is what did motivate you to make Laravel in the first place? What made you decide to do it that way rather than sticking with CodeIgniter or switching over to Ruby or something like that? What was it that you think that really kind of said, "No, I think the best way forward is me making something."?

Taylor Otwell:
Well, on a pure technical level, there was really just one thing that led to that and it was not having dependency injection in CodeIgniter Controller. That was kind of the last straw, but I think a lot of it was I had no idea of what you were supposed to be doing. I had no preconceived ideas that, "Hey, you shouldn't build your own framework," or whatever else because I had only been doing PHP for a few months and I really hadn't been in the open source world at all. But the whole drive behind building Laravel was never really to build a framework per se, it was always just to build out these business ideas and to launch little apps that I wanted to make money for myself so that I could work from home.

Taylor Otwell:
I mean, that kind of goes back to Laravel being born out of very practical reasons. It wasn't really... I never set out to create any... in an academic sense or just to do it, I had a real end goal and the end goal wasn't even to create Laravel, it was to create some other app, but it kind of turned into this whole meta thing where now I work on Laravel forever.

Matt Stauffer:
But even so, your best work in Laravel comes from the apps that you're building. And I was going to ask you earlier, I wonder if you felt like you didn't have real commercial ideas if you felt like you'd be able to make the project progress much because you just have to make up apps to build anything?

Taylor Otwell:
No, I don't think I could. I don't think I could make it progress as much and it would make me very nervous to work on Laravel if I didn't have real applications using Laravel. Just because I would be guessing, I would be guessing at which features actually have value because I don't have any apps on the framework and sometimes I would guess really poorly and write really complicated features that actually don't have any real world value. I think some of the other recent libraries gaining steam in the Laravel world, sometime like LiveWire or something like Inertia or, I don't know, just whatever else, those are all projects that are sort of born out of real world frustrations on existing methodologies or existing approaches to writing apps. I think that's why they resonate with people is because they are born out of real world situations. It's hard to create things that valuable if you're not solving a real problem, I feel like.

Matt Stauffer:
Yeah. That's interesting because I was thinking earlier when you were talking about what makes Laravel different from other ones, I was going to say that... You were saying how some of them are a little bit more academic and I was going to say, but didn't, some of them are a little bit more ideological, where you said someone's creating something because they're curious, but often, I think people create those things because they think there's a way something should be done. They make it the way they feel like it should be done. I was like, "What is the ideology of Laravel?" And I was thinking, "Well, maybe Laravel doesn't have an ideology," but it's kind of sounding more and more like the ideology is around usefulness and practicalness. Practicality I guess.

Taylor Otwell:
Yeah, I don't think Laravel necessarily has an ideology in terms of like should you use DDD or should you use event sourcing or should you use... even should you use like type hints or something like that or should you be more loose? I don't think Laravel itself has any like... As far as what it imposes on the end user, I don't think it has any real strong ideologies. But yeah, in terms of ideology of how we determine what's valuable as a feature, that is something we have and I think it is grounded in real world... What is going to make the greatest impact for the largest amount of developers? When we're discussing features internally with Laravel, sometimes a feature would get pitched and I like to just kind of think about, "Okay, what percentage of Laravel developers is this feature going to affect? What percentage of Laravel developer's lives are actually going to be improved by this feature?"

Taylor Otwell:
If it's 1% or 0.5% and then also, it has a big maintenance burden with this feature, that's really bad. Whereas like, if it's 60 or 75% and it's a pretty easy win, like it's a small amount of code, say it's five, 10 lines of code we can change, that's really nice, that's the kind of stuff we want to work on.

Matt Stauffer:
Yeah. I was just going to say, what are the goals and metrics you use as you kind of review other people's pool requests? One thing you mentioned was being very practical and helping people, you also mentioned how many people are going to want it? You're much less likely to merge something in a core that is a super tiny edge case. And as somebody who maintains open source packages, I totally get that because it's so... It's both tempting to do it because I think the person who needs it will do all this work and then also it's miserable to do it because now you're responsible for maintaining that idea forever that almost nobody needs and adds all that complexity. You did also mention the amount of complexity that this code introduces that you all of a sudden have become the maintainer for.

Taylor Otwell:
I also thinks about it terms of like when people talks about boxing, they talk about pound for pound fighters, who's the best? I think it's the same way with pool request. Pound for pound, how much value does it bring? Something that brings a lot of value... Take the DD function. Pound for pound, that's a lot of value because it's literally one line of code, but people use it every day. It affects everybody. So pound for pound, that's a lot of value. Whereas like, if you have a pool request that it changes 45 files in the Laravel core and it's complicated, but it's to support 0.7% of Laravel developers, pound for pound, that's really bad value.

Taylor Otwell:
I think when people ask like, "I want to contribute to open source," my advice is to always find the best pound for pound contribution that you can make.

Matt Stauffer:
That's good. Yeah. I love that. One of the things you mentioned in terms of people's contributions... We've been talking a little bit more about core, but you did mention some packages that you think really embody that aspect of being useful and born out of frustration. I was curious, if you were to think about someone who said, "Okay, I'm going to do my thing and I think that my thing, either because you told me to or whatever, should be a package." Somebody's building a package that really does embody this ethos of Laravel or ideology or however we want to thinks about it, being useful and being born out of real world frustration seems to be pretty key. Are there any other things that you think people should really keep in mind as they're writing code or packages or other things that should exist and really be complimentary to the way that Laravel works and things?

Taylor Otwell:
One thing I've thought about recently is just sticking with the packages. It's easy to put out a lot of packages, but if they're not thought out and cared for in a way, then that's actually not that useful. If they're abandoned after a few weeks or a few months, no one's going to feel comfortable using them. I think with Laravel, I've always tried to... Everything we do, I try to make it polished from beginning to end and actually see it through. I mean, in a sense, I can only do that because I have the privilege of having full-time staff that help me do that now. I couldn't do it if it was just me. So I think if it's just a single person, focus on what projects can you actually see all the way through their lifetime and not necessarily, don't try to emulate putting out new stuff every month or whatever because you think that's what good open source programmers do. I wouldn't do that.

Taylor Otwell:
Even in the Laravel ecosystem, someone like Spatie or whatever, they put out a lot of packages, but it is an actual company with real staff. So I wouldn't say don't necessarily think, "If I'm putting not putting out packages at that frequency, I'm not doing things right," or that's necessarily something you could aim for. I guess what I'm saying is aim for quality over quantity too.

Matt Stauffer:
I like that, yeah. I think there's embedded in that the idea that when you put something out, it's... I've talked about this recently where I told Daniel Colburn when he first started Ziggy, I said, "This is a really cool idea, but when you put this out, this is your baby. You don't abandon your baby. You're in and then there's going to be times when you're not excited about working on this anymore and you've got to find that excitement." Jeffrey actually just recently did a podcast episode about that as well, just talking about open source maintainers and what it looks like to be a good one longterm. I also love your point, like Spatie, in part makes so many packages because that's part of how they get work. It's part of their business model to make money as a result of those packages they're doing and it's not the case for everybody else, so I love that point.

Taylor Otwell:
Yeah. I think you could also be open about the fact if you put a package out and you don't plan on maintaining it, you could always just say that from the beginning, like, "Hey, here's this thing I made. I have absolutely no plans to work on it anymore, but here it is." I think it's better just to be honest.

Matt Stauffer:
Yeah, Adam did that with that overloadable thing where he put it on a Gist and he's like, "I literally am putting on this a Gist so that nobody expects that I'm going to keep it up." I finally took... I said, "Hey, what do think if I put it in the package?" He's like, "That's fine as long as you take the responsibility for maintaining it." I said, "Yeah." I love being cognizant of that burden and the fact that you don't have to take it on, but know what you're taking on when you do.

Taylor Otwell:
Yeah.

Matt Stauffer:
Yeah. So if somebody wanted to understand a little bit about what make... We talked a lot about Laravel. And in some ways, there was the right time for Laravel, the right place. You came along and I think if you had come along the same person 10 years later or whatever... well actually, has it been 10 years? Well, if you came along today, you might have had a different experience. Not to say you wouldn't have done amazing things, but those amazing things may have looked different. There's timing and all these different elements that led towards that that are not you, but I also think that you are a big aspect of it. You identified things you... And we talked about this last season where we were talking about your attitude towards customer service and you talked about how coding never had great thoughts and you understand that building a strong community is really important.

Matt Stauffer:
I asked you this question a tiny bit the last time, but I'd like to ask it again. If somebody wanted to understand and also absorb the things that made you into the person that you are, that thinks the way you do, what are some things that you would recommend that they learn or listen to or read or experience? Not to say everyone wants to be Taylor, but you're doing some things really well. What do you think it is that shaped you into this way?

Taylor Otwell:
A lot of things and they've changed over the past... I think it has been almost 10 years since I started working on Laravel because I started in the fall of 2010.

Matt Stauffer:
There you go.

Taylor Otwell:
I feel like people ask me what programming books should I read or what should I do to get better at programming, but I feel like... I don't know if I've ever read, cover to cover, a single programming book in my life actually and I feel like most of the things that were most influential on Laravel weren't programming related at all. Things that come to mind are just like books that I've mentioned before, like Elements of Style was a really influential book, which is just a English language writing book. But then also deeper things, I think, like lately it's been stoic philosophy stuff, reading Marcus Aurelius' meditations. At the beginning of Laravel, I mean, for some people I feel like it's awkward to talk about, but I feel like my own Christianity at the time was the real driving force behind the idea that in Christianity as a theology, people are compelled to do their best at everything.

Taylor Otwell:
I feel like you can't really talk about the beginning of Laravel and be honest about it without mentioning that, to a certain extent. At the time, that was a huge aspect of my life. Writing Laravel was just another part of that where I was going to make it as good as I possibly could, so that would be one aspect of it. And then there's other inspirations that I think I mentioned before, like I mentioned my own... My grandpa who was always one of those people that just saw jobs through all the way to the beginning, just like a polish back of the dresser kind of person or clean the underside of the lawn mower, that was influential. A lot of non programming things like that.

Taylor Otwell:
Those interests and emphasis have shifted some over the years, but I think they're still an important part of Laravel and I think they're really valuable for anyone that's going to to take programming seriously or is interested in building something like that is be inspired by things outside of programming like great architecture, great music, really timeless things that people put their heart and soul into I think inspire me more than a programming book.

Matt Stauffer:
Yeah.

Taylor Otwell:
I would much rather read the biography of someone that was totally dedicated to their craft, like that sushi documentary, where the guy's just, for better or worse-

Matt Stauffer:
Jiro Dreams of Sushi, yeah.

Taylor Otwell:
For better or worse, he sold out to sushi. It has some negative aspects to that story, he doesn't really see his son as a kid. But just that alone, it's interesting to see that for me, so I'd much rather see something like that than read a programming book or an Uncle Bob book. That's not a knock on those people, but to me it's just more inspiring and has deeper lessons there.

Matt Stauffer:
Yeah. I love that. It's funny because we've talked so many times and you told me the stories, but I think this is the first time that I've plugged together how many of those pieces are about doing something good and right and beautiful and I love that. That is so cool. We all joke about the fact that there's that old stack overflow question where you ask, I think it was stack overflow, where you ask like, "Am I crazy for wanting to align the spaces in my comments and all that, in my code base, stuff like that," and people said you're crazy and now look where you are today, but that's just yet another early evidence of trying to do it really, really well.

Taylor Otwell:
Yeah.

Matt Stauffer:
That's definitely something I've learned because when I first started programming with Laravel, the thing that excited me the most was actually doing stuff fast. I remember building Symposium and I... Adam Wathan, I've told this story before, but Adam Wathan had just joined and I was like, "Hey, let's do a project together. You can work with me on Symposium." I was ready to just go as fast as humanly possible because it's rapid application development, it allowed me to build so much faster than the apps I'd built in CodeIgniter and stuff like that. He's like, "Well, why we don't stop and do this right." It took me quite awhile to inherit and internalize that idea of like, "I want every single thing associated with my name and everything that I create to be something beautiful that inspires people, that people aren't annoyed by." And man, it really makes you slow down and consider things.

Matt Stauffer:
You don't just crap things out, you leap thoughtful about everything. It takes a lot of work to do and it's a really different way of working.

Taylor Otwell:
Yeah. I think I mentioned this on the Laravel Snippet a few months ago where I was talking about how in the stoic books, they talk a lot about how every person has this obligation to contribute to the human story, I guess, in a positive way and some people contribute in smaller ways than others. Some people are kings and emperors and some people are tailors that hem clothes, but you have to contribute in the best possible way you can. So for me working on Laravel, if I'm working on it... in the best days, it's more of a spiritual practice than it is a program practice where... And it sounds kooky, but where you're just trying to contribute to human society in the best way you can because we're all flying through space on this rock together, in a sense.

Matt Stauffer:
Yeah, I love that.

Taylor Otwell:
Anyway, yeah.

Matt Stauffer:
Yeah. We've been writing a little bit lately ethos of Titan type stuff. And as I was writing it, one of the things I realized is we're often on calls saying stuff like, "We just want you all to be so overjoyed that you chose to work with us. We all want you to look like heroes to your boss," and stuff like that. It's cool to be able to be in a space where we're not contracting out to make you look like a hero to your boss people, we're contracting out to be programmers, but there's so much intention and there's so much interaction and so much humanity that can be in each of these things. I did ask that question expecting that your answer wasn't going to be programming book, but this is definitely... It's really a beautiful way of thinking about it.

Matt Stauffer:
Even with the aristas phrase, I think you don't use artisans as much in your tooling, in your marketing stuff, but even I feel like the inspiration there was around wanting to do something beautiful, right?

Taylor Otwell:
Mm-hmm (affirmative). Right.

Matt Stauffer:
I think that's really cool. If you were to look at the Laravel community over the next 12 months, and it's fine if you don't have anything for this, but I'm curious, if you were to want to see a change or for something to increase or start or something to decrease or stop, what do you think that one thing would be that you would really love to see from the Laravel community this year?

Taylor Otwell:
One thing I've thought about recently is I would love to see fresh faces sort of rise to "Laravel Fame." I feel like a lot of the people that are "Laravel Fame" has been around for a few years. You think about people like Jeffrey Way, myself, you and Titan and other Titan alumni like Caleb or someone like Adam Frick, these are all people that have been around for years and they're well known, but I would like to see new people get to that level.

Matt Stauffer:
I love it.

Taylor Otwell:
That's why I ask sometimes on Twitter, "Who do you think is doing Laravel stuff that isn't really getting the recognition they deserve?" Because I feel it's an important part of keeping things fresh and if it's just the same people for 10 more years, I feel like that's going to feel really stale and it's just bad for Laravel because it kind of gets all our eggs in basket. Most people can move on to other languages, depending on their job situation or whatever else, and we need fresh people to constantly be coming into the ecosystem, which I think there are fresh people coming in, but how do we lift them up and get them recognition if they're putting out value?

Matt Stauffer:
I love that. Yeah. Yeah, you're speaking my language here and it's interesting because I think that the list of people who I have as guests on this podcast season is amazing and I love and respect them all and it's going to be real incredible, but one of the things that was hardest for me is trying to look for people who haven't already said the things that I'm going to ask them a whole bunch of times. Again, every single person here, whether they've been around for five years or this is their first ever podcast episode are great and I'm really happy with the lineup. But I just realized that I kept asking people like, "Well, let's say I were to bring somebody in that hasn't already been on the Laravel Podcast or who hasn't spoke about this thing at Laracon or whatever, who who would you bring in?" and nobody knew.

Matt Stauffer:
And that was the thing for me, I was just like.... It's not as if I'm not looking for these people, it's like I've asked on Twitter multiple times, I go on Backchannel and just saying, "Who's the best person to talk about, get or whatever in the Laravel community?" Or whatever else it ended up being. I definitely think that there's something I'm interested in is like us... I think it can't just be you wanting that to happen. You've got to get a whole bunch of other people who are looking out for those people because then when they think about who do I want to talk about Eloquent? Jonathan Reinink's amazing and I'm looking forward to his Eloquent episode, but maybe there's somebody else who's doing really brilliant Eloquent work and that somebody in their community hears you saying this and going, "Wait a minute."

Matt Stauffer:
You know what I mean? Like, "Kim's doing a really incredible Eloquent work, why have I not been pushing her to join Twitter so she can be the next voice about Eloquent." It's not as if she's going to displace Jonathan or anything like that, there's plenty of space, so I do think I love that.

Taylor Otwell:
I do think there are probably tons of really good Laravel developers out there that are doing really cool stuff with Laravel or are really good at it that are not online at all. They don't have Twitter, they don't blog, they don't do any of that. Yeah, just trying to surface those people, if they want to be surfaced, just to bring some fresh voices in.

Matt Stauffer:
Yeah, what's cool is some of them might listen to this podcast, so if you know who those people are and you look at them and saying, "Hey," whether it's you or especially if it's somebody not you, I think that's the best kind of recommendation to get and you think you know who that person is, man, hit me up on Twitter or send me an email or whatever or Taylor. Let us know because we're looking for those people. Taylor sends out requests frequently about people, I'm always trying to keep up with lists and mentor people and everything I can, so let us know if those people are there because we understand that the worlds we are in are only so small and we try to be in bigger worlds by hanging out on the Discord or Twitter or at Laracon Conferences, but there's only so many people in those spaces. There's not... The full breadth of the Laravel developer community is definitely not on Twitter or in Discord or at Laracon Onlines or anything like that.

Taylor Otwell:
Yeah. It's also limited because we speak English and there's some Laravel superstars in their own right that only speak Japanese or only speak Spanish. They're famous in their country or within their developer group, but don't really have the worldwide recognition of other people.

Matt Stauffer:
Yeah, that's such a great point. I was saying like how many non-American, non-Europeans can I find for the podcast? I did find people who I had a sense might be talented at something, but they didn't have any material in English and/or I had talked to them and knew that they couldn't do a podcast in English or weren't interested in or felt Imposter Syndrome because they haven't got that worldwide to claim and saying, "Oh, I'm not big enough to be on podcast." The number of people who I thought, "This person's going to be a really great intro," who I asked and who were like, "You know what, I feel to much Imposter Syndrome, I'm not going to do it." Oh my gosh, it drives me nuts. So yeah, I love the idea of really validating and bringing folks in.

Matt Stauffer:
Okay. So before I ask you your last one personal thing, every episode this season is going to have one personal thing at the end, is there anything you want to say to the Laravel community? I mean, I know you have your own podcast and if you all don't listen to Laravel Snippet, go check it out. Or any aspects that we talked about today that you feel like you want to kind of finish up on that we haven't got a chance to say?

Taylor Otwell:
No. I feel like we've really covered everything deeper than I thought we even would.

Matt Stauffer:
Nice.

Taylor Otwell:
Just keep... I don't know. I would just say thanks for using Laravel really. It's been a fun almost 10 years of building Laravel and I hope we can make it another fun and crazy 10 years.

Matt Stauffer:
I love it. I love it. Okay, so the last thing for each of these is I want to ask one personal thing. Right now, we're recording this on April 10, 2020 and I know that some of you all might be listening to this years down the road, but we are I think three to four weeks into the original COVID-19 stay at home orders for most people, so I don't know how it's going to end, so I don't know how you all are going to look at these or even if you're going to use those words. But right now, today, COVID-19, we're all sitting at home, we're all working from home, we're all social distancing. Some of our lives have been upturned more than others and I know that the tech community has generally had an easier time than a lot of tother communities have, but I was curious for you, of the last few weeks with everything being just hectic and crazy with COVID and things being turned around, what has been the best moment or what has been a moment that has really stood out to you that has maybe been... might not have happened had we not been stuck at home that has really been a bright light for you with you family, personal life, online or something like that?

Taylor Otwell:
Yeah, I mean, we've definitely been so much more involved with the kids I feel like and especially with their school. And I feel like, especially with my son James, it's been so much for the better because we can... We're just able to give him so much more attention at school and actually work with him on all his school work and then we've been able to do fun stuff, just like go fishing during the day or at the lake. Our neighborhood's built around a lake, so we can just go down to the lake and fish for a little bit. We just have so much more time with him and I think that's been a huge benefit. I think it will be something we look back on kind of fondly. I mean, thankfully we haven't had any medical problems in the family. None of my family has gotten COVID-19. So as of now, it's kind of been almost a positive experience for us to take some down time and focus on the family a little bit.

Taylor Otwell:
For us, that's been one positive thing for sure because the kids haven't been to school in like, gosh, I don't know, it feels like forever now. Three weeks or so.

Matt Stauffer:
Yeah, three to four weeks, yeah. Yeah. Yeah. I mean, it's the same for me too. I mean, I'm still working not quite 40 hours a week, but almost 40 hours. But every evening, I do two or three hours of work after the kids get to bed, which means during the day I'm able to... Because my wife's an actor and so she's in a space where she doesn't have a lot of work, but I don't want her to just fully take over those responsibilities, so I get to see the kids during the day. I'm not going into my office, so I'm around. And actually right before we stared recording, they said, "Hey, we're going to the park. Do you want to come?" I said, "Not now, I'm recording a podcast, but let's go tomorrow," or something like that. I'm with you and it's weird because of course nobody wants to say, "Hey, I'm looking at something that involves deaths and all this kind of stuff as a positive thing."

Matt Stauffer:
But at the same time... First of all, there is positive that's happening and we can't just pretend that because there's bad stuff, therefore, the positives aren't happening. We should ignore them or not talk about them. But second of all, one of the things that my wife said at that beginning of this, which I really liked, was... I think she was reading something from a therapist or something that basically just said like, "Your kids, especially younger kids," mine are three and seven, "they're not going to remember as much like thew worldwide turmoil that you're remembering-

Taylor Otwell:
Yeah, exactly.

Matt Stauffer:
"What they'll remember is that time you went fishing or that silly time you stayed up and watched a movie," or whatever, so it's been cool to think about just what you were saying, what are the memories you're making, what are the ways you're going to get good family time because that's really... First of all for us, that's a positive in the light of all the news we're being overwhelmed by. But second of all, for the kids that's probably going to be more longterm impactful than any other aspect of it.

Taylor Otwell:
Mm-hmm (affirmative).

Matt Stauffer:
Well Taylor, I love our chats, whether they're recorded or not and I really appreciate you, the support you've given to this podcast, especially this season and the prep I've been doing here. Thank you so much for hanging out. Especially being the first episode, you're helping me kind of drive what this season is going to be like, so thank you for your time, thank you for Laravel and I want to give you a chance to plug anything you think people should check out or follow or anything like that before we say goodbye.

Taylor Otwell:
Oh gosh, I wouldn't even know. Just all the usual stuff.

Matt Stauffer:
Laravel Snippet, Taylor Otwell on Twitter.

Taylor Otwell:
Yeah, yeah. Taylor Otwell on Twitter. I guess the biggest upcoming thing is since we had to cancel Laracon US, me and the Laracon online team, which is Ian Landsman and Eric Barnes from Laravel News and of course Ian at UserScape are... we're gearing up for Laracon Online in the summer, which is something we haven't done before. And something I haven't really talked about is we're trying to make Laracon Online in the summer something that we do year after year and also the place where I make big announcements for that year, just because-

Matt Stauffer:
I love that.

Taylor Otwell:
We feel like it's the most accessible way for people to access that around the world and to be a part of that because when we got to thinking about it, it was like, "Why make these big feature announcements and have all this fun for at most eight, 900 hundred at the biggest year when we could announce it to 4,000 people around the world that are having watch parties and it's more affordable and whatever else?" So we're going to be making more announcements about that soon. I know we're having to tweak the website. We had some really great website work done by a Few in Little Rock, Arkansas and we're trying to retool that for Laracon Online so that a lot of that doesn't go to waste, even though we really went deep into that aquarium theme and American US, but we're trying to salvage some of that and make it work for Laracon Online. Keep an eye in the next couple weeks.

Taylor Otwell:
I'll be Tweeting about it, but I would encourage people to support that event and get your ticket to that when we announce it because I think it's going to be a great time. I've already worked on a few things that are actually done for that conference that I'm going to be announcing, some things I've kind of hinted at and some things I haven't. I think it's going to be a great event, so keep an eye for that.

Matt Stauffer:
Yeah. I'm also really excited to see what this being the official Laravel Conference is going to do because I do think that Laracon Online of course has been absolutely amazing, but it's also been like a side thing. It's wasn't officially a Taylor run one, so I'm curious to see how it is different, how it's similar, so we're definitely all looking forward to it. I also want to acknowledge to everybody that there's quite a few conferences that got canceled by COVID-19 that didn't give all the money back. Just for those of us who paid for tickets Taylor, thank you for just having integrity... And obviously other people sometimes it wasn't integrity, it was financial constraints, but we were all grateful that you just said, "Hey, I'm just going to send all that money right back and you're going to have a cheaper online conference later." Cool.

Taylor Otwell:
Yeah. Gosh, we were so lucky. Not to go too off on a tangent, but all of that money was just still sitting in the Laracon bank account-

Matt Stauffer:
Nice, perfect.

Taylor Otwell:
Because the only money I had spent was the venue deposit. Everything was ready to go. So yeah, I feel bad for people that organized conferences and they can't give refunds because there's no money to refund you with. Yeah.

Matt Stauffer:
Yep. Especially if you had a conference that was like two weeks ago or something like that, that was tough. Well Taylor, this was a ton of fun. Thank you so much for hanging out. And everybody else, thanks for tuning in. Stay tuned for the next episode, which I believe is going to be Eric Barnes, aforementioned Eric Barnes. And until then, we'll see you next time.

Creators and Guests

Matt Stauffer
Host
Matt Stauffer
CEO Tighten, where we write Laravel and more w/some of the best devs alive. "Worst twerker ever, best Dad ever" –My daughter
Taylor Otwell 🪐
Host
Taylor Otwell 🪐
Founded and creating Laravel for the happiness of all sentient beings, especially developers. Space pilgrim. 💍 @abigailotwell.
The Ethos of Laravel, with Taylor Otwell
Broadcast by