Good morning, everyone.
I am cold over here in Texas, which rarely happens.
My lovely guest, Erin, happens to also be geographically near me.
Erin, I would love for you to introduce yourself.
And are you cold as well?
Because it's cold in Texas.
It is cold in Texas.
I am not cold right now.
It's actually quite nice here in the studio where I'm sitting.
Yeah, I'm Erin Francis.
I am, oh goodness, software developer, developer educator, dad to two sets of twins, all sorts
of things.
And we can go into any of those that you want.
But I'm happy to be here.
So thanks for having me.
Yeah, of course.
We were actually just talking about twins and children before we went live.
So we might come back around to that conversation because there's a lot of relatability with
that, I think.
So you shared quite a few different things that you do, developer, educator, variety of
different things.
So what is your day to day, your role as it will be today?
Today?
So every day is almost different.
So I am the co-founder of a company with my friends, Steve.
So me and Steve started a company in, goodness, almost a year ago.
It was like April of last year.
So we're coming up on, thanks, we're coming up on the one year anniversary.
And what Steve and I do, so the company is called TriHard Studios.
And so it's basically super focused on video, specifically for developers.
So so far we have launched two in-depth video courses.
One is high performance SQLite and the other is mastering Postgres.
So my background is pretty heavy into databases, a company I used to work at.
I did a course on my SQL.
And so I feel like I've gotten a look at the big three now.
So day to day, it just kind of depends on like what we're doing.
So right now, like right now, this morning and super late last night, I was working on
a new open source library.
So I am a part of the Larivell community, which is a PHP framework.
And there's a conference coming up sooner than I would like.
I think it's like February 2nd or 3rd or something, Groundhog Day.
And I'm giving a talk.
How exciting!
That's so wonderful.
However, however, Tessa, I submitted this talk with like, hey, I'd love to come give
a talk on this new library that I'm writing thinking this would be a good forcing function
if I get accepted to this conference.
I'll actually like finish this library.
It was, you know, 50% done.
Turns out it was like 10% done, but I thought it was 50% done.
And so they said, sure, come, you know, unveil this new and exciting thing.
And I was like, haza!
And now hoisted by my own petard, I'm here writing this library and just like going through
cycles of this is so stupid.
This is so genius, just like over and over and over.
So this past, you know, couple of weeks and today and the next few weeks, very, very focused
on writing this library and getting it to a point that I think I can release probably
an alpha on stage.
If not, just do a great demo.
Like, demo is the bar, alphas would be like a stretch goal.
So that's kind of where I'm at right now.
I guess like, how does that, why does that make sense for an education company?
I don't know if it super does, but like directionally, I think, you know, I like to teach, but I
also like to make things like, and I think in terms of like running our own company,
I am kind of the top of the funnel, right?
So I am the marketing arm of the company and so having stuff like this out in the world
really increases my odds of like people stumbling upon us and then seeing, oh, this guy is,
you know, making these great libraries and also they have these courses and also there's
this YouTube channel and there's this email news list.
And so just trying to get more, I guess, little, you know, marketing assets out in the world.
So that's a long answer of what I'm doing today.
I love that so much.
Honestly, like it's fun to really hear about your work because you get to do a variety
of different things, right?
Like as developers, I think one of sort of our roots and at our core, like we really,
really, really want to help each other because by extension, that means that like we've built
something and we've accomplished something.
And I personally think at the end of the day, it's because we want to be like, I built this
or we built this.
And so I think it's really fun when we get to take that like developer role and actually
bring that teaching role into it, which is one of the reasons why I very much love Dev
Roll and I'm sure that you can relate honestly.
Yeah, I like the teaching aspect.
So I did go to college.
I didn't go to Baylor.
I was just going to ask.
I did go to Texas A&M, so just down the road from you.
So I went to A&M and for some reason, I got two degrees both in accounting.
So I got my undergrad and my master's in accounting, went on to get my CPA license, worked for
a year as an accountant and then was like, this is for the birds.
I'm out of here.
Never looked back.
So but when I was when I was at school, I just loved accounting turns out accounting
in school and accounting in practice are very different things.
And accounting in school is like, is like business programming.
It's like, Hey, here's a bunch of stuff.
Here's a bunch of rules.
Go figure it out.
It's like, Ah, that's fun.
Like, I like that.
That's a puzzle.
You know, accounting is not really math in the same way that software is not really math.
Like knowing some math helps, but you just got to know the rules and play by the rules
and you can figure out anything.
In school, I started tutoring accounting because I took this one class that was like sophomore
level financial accounting friggin loved it, crushed it and everyone else hated it.
I was like, huh, I could teach this.
And so I spent the next, you know, three or four years teaching tutoring soft or not software
tutoring, uh, introduction to financial accounting.
And it was just so much fun.
And so I think early on I realized one that I enjoy teaching and maybe more importantly
that people like, people also enjoy my teaching.
And so that was like, um, a formative kind of early experience of, you know, that has
led me to where I am now.
The subject, the subject matter is different, but I still enjoy teaching, especially teaching
these complex topics that other people seem to super hate like databases or accounting.
I love that.
Okay.
So you let into question, obviously that was, was coming.
So I would love to hear how you went from accounting and an accounting role to becoming
technical and doing what you do today.
Yeah.
Um, so everything I've learned about programming has been either through study, self study or
practice.
And so I started when I was quite young, probably started messing around with HTML CSS back
when HTML bitties was the thing, uh, when I was maybe 10, 11, 12, 13, something like
that.
Um, and picked up, picked up PHP around that time, which I still stick with today.
Um, and everything that I have accomplished and learned and done since then has just strictly
been a result of like following my curiosity, trying to figure something out, wanting to
see something exist and not knowing how to do it.
And so just kind of like brute forcing my way through it.
Um, all of these books back here, those are all programming books.
And I am, I guess the person that buys and reads programming books.
Cause anytime I talk about it, everybody's like, ha, ha, nobody does that.
I'm like, I do that.
I do that all the time.
I love it.
And so everything I've learned has been through that.
Um, I consider myself, um, I consider myself like a, a working man programmer.
Like I think that I can solve any problem just by like sitting down and quietly working
for a very long time on it.
And so that has, that's served me, that's served me quite well, including this project
that I'm working on now for Larry Khan EU and a library that I recently wrote that's
very terminal heavy.
It's like, I'm not qualified to do any of this stuff by any like external is true by
any external like, uh, metric.
I'm not qualified to do any of this stuff.
The only thing that qualifies me to do it is that I have done it.
And so now it's like, well, I didn't, you know, the guy that wrote, um, the guy that
created the database to SQLite, um, has since said that if he knew, uh, at the time that
you weren't supposed to write your own database, he wouldn't have done it, but he didn't know
that.
And so he wrote his own database.
Turns out it's the most highly used database in the entire world.
Um, and he just did it because he thought, huh, I need this and I bet I could do it and
I bet I could figure it out and 25, you know, 30 years later, it's like a universal standard.
And so that's kind of how I feel, which is like, um, I have an idea.
I'm just going to like keep poking until I figure it out.
I may not be the most efficient.
I may not be like the like most talented, but I have a lot more like grit than I think
most people do.
Ooh, I love that.
I think honestly, grit can far surpass a whole lot of things.
Um, I attempted to go to college and college is just not for me.
Um, but I have a lot of grit and so therefore feel like I've been able to make it on that.
Um, you, you said something really, really, really powerful in there where you said that
you are not, um, your exact words, essentially, uh, sorry, I don't remember exactly how you
worded it, but it was, the resonance around it was essentially that you, um, weren't qualified
per se to do it, but you happen to be the person who did it.
Um, I think that is incredibly powerful.
I'd love to maybe just hear a little bit more on that if, if you have anything that you
want to share there, because I think that very much as relatable as a developer, right?
We, as we start to dive into these things, like we are constantly filled with imposter
syndrome because there's no right or wrong way to essentially do anything.
We can go about every solution that we come to in a variety of different ways.
And so I think at the end of the day, when you really think about it, are any of us really
qualified per se to do the things that we're doing as we are navigating these new spaces.
So I just think that's a very enlightening way to look at it.
Yeah.
I, um, so coming, coming out of accounting, um, and getting into software development,
kind of, kind of a tough road to hoe, you know, it's like, how, how am I going to do
that?
So, um, it's the same, it's the exact, it's the exact same story.
I, uh, was working on something just like, you know, nights and weekends when I was at
the firm, I was working on something and as I was doing it, I was writing about it.
So I was just writing, writing blogs, if anybody remembers those.
Um, so I was, I was writing blogs and it was like the most, uh, it was the most niche esoteric
stuff.
Like I remember one of them at the time was, um, automating migrations using, uh, the PHP
framework, Yi on, uh, the cloud hosting platform, Heroku.
And so that is like, that is the blog post that I wrote was how I automate my Yi migrations
on Heroku.
And so I'm writing this like, as I'm learning it, here's what I'm learning.
Here's how I figured it out.
Um, not trying, not trying to hold myself out as an expert because I wasn't, which I
think is a trap that a lot of people fall into is either they think they need to be
an expert and so they stop themselves from writing or they think they need to be an expert.
So they write as if they're an expert instead of, um, here, let me recount to you what I've
learned, which is I think way more important.
Um, because if you hold yourself out to be an expert, when you're clearly not, um, you're
going to get found out and it's going to be harmful.
And if you, um, tell people what you've done, there's no one in the world that can refute
what you've done.
If you've done it, right?
So you can go to someone and say, my life experience has taught me this and they cannot
say no, it hasn't just can't say that.
Um, but if you go to somebody, if you go to somebody and you say next JS is the best and
you're an idiot, it's like, well, I don't think next is the best.
And it's like, oh, okay.
Well now you've, you know, you've made this statement that is refutable.
And so like, so I was writing about what I was learning at the time.
Yep.
And this niche esoteric stuff and some company in, you know, as we said, I live in Texas,
some company in California reached out and was like, Hey, we're writing this big application
in you.
You're clearly an expert.
Can we pay you to work with us?
I was like, what do you mean?
I'm clearly an expert.
And that was the first, that was the first like, um, like, uh, the scales fell off my
eyes kind of moment of wait, do you, this, this company thinks that I am the expert.
I don't feel like an expert.
That's interesting.
Why do they think I'm an expert?
Because I'm writing about these things that I'm learning and I'm, I'm putting it out
onto the internet.
And so that was, that was when I realized that like, um, accolades accrue fairly or unfairly.
I'm not interested in making that distinction, but accolades accrue to people who are putting
stuff out publicly.
And so that was when I, that was when I realized that like, wait, if accolades accrue to people
who are putting stuff out publicly, what if I put out more stuff publicly?
Then I bet I get more.
And it's, you know, you can, you can look at it from like, um, you can look at it from
a cynical point of view or an oppertunistic point of view.
If you look at it from a cynical point of view, you look at other people writing articles
that aren't very good and still get a lot of like speaking gigs, job opportunities,
uh, invites onto podcasts.
And you can look at all that stuff that they're writing and be like, that stuff is crap.
I'm a genius.
That person's an idiot.
Why doesn't anybody care about me?
That's the cynical point of view, which I, you know, I took for some period of time.
The opportunistic point of view is, um, oh, that person is an idiot.
Whether you think you should think that or not, a lot of people think that, right?
So you look at it and you're like, wait, that person's an idiot, but they're doing a lot
of, they're doing a lot of like public work and they're getting all of these benefits
that I want.
I think that I'm the smartest man in the world.
Why am I not getting anything?
Wow.
Maybe there's an opportunity here.
If I just start like putting stuff out there in the same way that these people are, maybe
I can get some of those benefits.
And that's, that's just like, you can say it as, as many times as you want.
And people are still going to be like, well, I just, you know, I just can't put myself
out there.
And I'm like, I totally get it.
It's terrifying.
People are going to look at your stuff and be like, ah, you're an idiot because they
want the credit that you're getting.
Right.
So there's this whole, like, there's this whole, everybody wants everything for themselves
and it's all these defense mechanisms.
But if you can brave the fact that people are going to say that you're silly or people
are going to not care, which maybe is even worse.
If you can get over that hurdle, everything you want is on the other side of that.
And so, um, you can, you can just look at the world in a very, um, it's not fair, which
I agree it's not fair.
It's not fair.
And therefore I'm mad or it's not fair.
I wonder how I can use that to my advantage.
And I think finding the path to the second one is a lot more profitable.
I fully agree.
Absolutely fully agree.
Um, I love the story that you related to that, obviously, because you put yourself out there
and you were just sharing your knowledge and that led into an opportunity.
And I think oftentimes that folks don't realize that like it's okay to write about things
that you don't necessarily know about because I will, I'll say the same exact thing.
When I was working at Twitter, um, I was just really, really, really frustrated that we
wouldn't internally change some things for developers when they rolled out V2 of the
API.
They, that's when I had been brought in the effort there was like, how do we regain the
trust and love of developers again?
Right.
And I'm like, if you want to regain the trust, you need to actually talk to developers.
You need to care about them.
And it's not that they didn't write, but there was just, obviously it's enterprise.
There's a lot, a lot to that.
And we know how all of that works.
And so it's just really hard to actually advocate for it.
But at the end of the day, all of that turned into me ranting about, here's what you should
be doing.
Here's how you should be talking to your developers.
Here's how I've done it in the past because I just had this angst around it, which led
to like an immense amount of opportunities.
So I think there's always just something that whether you're frustrated, whether you're
learning something new, whether you want to just share things that I think can lead
to many, many opportunities.
So I love that.
Take grit, put yourself out there, which by the way, Erin gave an amazing presentation
at commit your code, like amazing.
So second speaker that we've had or second guest on the show that we've had that spoke
at commit your code.
Actually, third now that I think about it, Tim, Noah and you.
So yeah, so for anyone listening, go find Erin's talk.
It's on the software developers meetup over on YouTube that Danny Thompson has lovely
pulled together with his awesome crew and team.
Okay.
So I want to dive into what are some of the challenges that you're solving.
So you have this awesome studio where you do video production, education, a variety of
different services and in that vein.
When your clients come to you, what are, what are they normally looking for?
Like what are you, what are sort of their challenges and how do you translate those
challenges into the results that, that you create?
Yeah.
So it's kind of, it's kind of interesting, you know, when you, as you're well aware,
when you start a business, you don't really, you have an idea of what you're going to do
and then the changes.
And so we started, we started the business with an idea that turns out, I don't know
if it was bad, it just didn't work.
Nobody wanted it.
And so we started the business with the idea that Steve and I would help developer education
and developer relation teams produce more effective video.
And we thought, this is a great idea.
We're really good at it.
We've proven that we're good at it.
Companies really want to be doing video.
They're struggling with it.
We can help.
And so we got in touch with a bunch of companies and they were all like, sure, sure, sure,
sure.
But will you make videos for us?
It's like me?
I don't know anything about GraphQL.
Why do you want me to make your videos?
I don't care.
Just make our videos.
And so it became very evident that people, rather companies did not want help leveling
up their video creation.
They wanted to outsource video creation.
And so that immediately, that was a wrench in the works because it was like, I cannot
be and don't want to be the face of a bunch of different companies.
Because then my credibility is spread then.
Because if I'm doing GraphQL one day and Kafka the next, and it's like, there's no way
I could do high quality education to the level that I want to for that many different companies,
let alone that many different technologies, which I don't know.
And so, yeah, I'm sure it became clear that like what we were offering, people weren't
interested in.
And so since then, we've pivoted more to a lot of in-house work.
And so the two courses that we've done have been fully our deal, but we have partnered
with two great companies to like be a part of those courses.
So for SQLite, we partnered with Terso and for Postgres, we partnered with Zeta XATA.
And so there's still like a client aspect of, hey, we're going to make this, you know,
15 hour, you know, 100 video course about Postgres, you're a Postgres company.
You know, you know, can we talk about you and put your name on some stuff and have a
little, you know, business exchange here, a little capitalism.
And it's that part worked out great.
And so we still get, we still get like creative control and I still get to do the curriculum
and all the education and speak about things that I actually know about.
And the company still gets the benefit of being associated with people that really want
to learn XYZ and want to learn it from what we think is a really high quality source.
And so that's kind of the shape of the business now and the permutations to get there.
And it sounds like, it sounds like such a straight line, but it has just been up, down,
left and right.
And like, I feel like we're finally finding our way out.
But you know, when you tell it in a nice, neat story, it's like, oh, they, you know,
had a hypothesis and tested it and it failed.
And now they're a success.
It's like, well, kind of was a disaster.
I mean, it wasn't, but it was, it was an emotional disaster to get there because it was like,
we're going to do it.
And everybody's like, no, you're not.
And they're like, shoot, well, what are we going to do then?
And so finding our way through has been, has been trying, but that is, you know, what
we do.
And now we're, I think we're, we're out and the shape of the business is currently we
produce in-house courses and sell them to consumers.
So that's, that's where we're at now.
I love that.
My facial expressions are probably quite expressive as you were saying that because, and we sort
of talked about this on the pre-show too, is like, it is so hard to start a business,
especially when you go into it.
Hard to start a business period.
And I love what you said about, oh, they had a hypothesis and they tested and they validated
and it didn't work.
And then they pivoted, right?
Like that story feels beautiful, but the story that's like on my side of the world is I'm
like, yeah, that happened six times over 10 months because I just wanted it to be perfect.
And it's like, it is, it is not what we expect it to be.
And I think going through all of that is hard, especially when you and I, at least I'm speaking
for you as I say this, like we just want help developers, right?
We want developers to succeed and like how do we get to play that role where we get to
have our business, have that freedom, make the money that we need for our family, not
looking to be rich.
I just want to enjoy my day to day job and serve developers.
So it's, yeah, that emotional roller coaster is quite difficult.
And I am on it too.
Yes.
And I'll hit you at the yes and yes, I want to help people, but boy, do I have a big old
family that needs to eat food.
And so like, I'm the sole, I'm the sole breadwinner.
And so, you know, starting a company when you've got four kids and a wife that works
super hard, but doesn't bring in any income, and you have help for the kids.
And so you've got, you know, myself included seven mouths to feed four kids and three adults.
It's like, oh crap, we got to make some money.
And so finding out that your adorable little hypothesis is not going to work is not as
fun when it's like, oh crap.
All right.
Well, the kids don't know about the hypothesis.
They don't care about the hypothesis.
They want pouches of yogurt.
And so that, that part has been, that part has like added to the, the amplitude of the
oscillations between I'm a genius and I'm an idiot.
It's cause it's like, it just everything is amped up to like two or three times.
It really is.
And so there's a, there's a tweet that I think that you would really love.
Essentially I don't remember exactly how it was worded, but they said something about
like starting your own business or like owning a business.
If this is what you want is like one day feeling like king of the world and the next day feeling
like a giant pile of crap.
And I'm like, that's it.
That's it.
Yes.
I would, I would take day to day.
I'm hour to hour, man.
It's, it is, the feedback is tight.
One hour I'm a genius and one hour I'm a failure.
And so, yeah, it takes a little bit, takes a little bit of fortitude for sure.
It does sort of takes the wind out of your sales a little when you do, like when you
have those wins, but then you have those, those losses that are even harder.
And so it's harder to see those wins some days.
Yes.
Yogurt pouches are a must.
Yes.
I agree, Jason.
The kids must have the yogurt pouches.
My husband and I were actually just talking about that.
Like I'm, I'm still working towards the other end of finding it.
And I think I've found it now, but it's like, as you know, you have to, it takes time once
you think that you're ready to sort of shift and hypothesize.
It takes calls and months of like the sales process and whatever else to really get that
feedback.
So I'm hoping we can still keep buying yogurt pouches for a little bit longer.
I'll be looking for a job myself.
So yeah.
Well, good luck to us both.
I know, I know, right?
Okay.
Coming back to the techie stuff.
Um, PHP.
Why PHP?
Love it.
Gotta have it.
Um, love it.
Love that.
Love it.
Gotta have it.
As a, as a working man developer, PHP meets my needs.
And, um, so I think there's a lot of discourse.
Boy, is there a lot of discourse.
Um, and I try to tune most of it out because to the extent, um, to, to the extent that anyone
thinks I am an influencer, I wish they would think of me as, um, an educator or as somebody
who does things and also happens to have influence.
And so my goal in life is to not ever like opine on the day to day of what's going on
in technology.
I don't care.
I do not care at all about what is going on day to day in technology.
Some of it is interesting in the same way that like, uh, watching football is interesting.
It's like, Oh neat.
The boys are doing it again.
All right.
Well, let's turn it off and get back to work.
That's kind of how I feel when people argue about like, uh, type scripts.
I'm like, that's awesome.
I don't freaking care.
One single little bit.
So I think my, um, and if people care, I don't care if people care.
That's wonderful.
Congratulations.
That's fantastic.
I don't care about different things.
It's not a moral judgment.
It's just a reality that I don't care about that because what I do care about is, um,
one step beyond that, which is, uh, making things.
And so, um, I have found a nice, like, uh, a nice workflow, a nice set of tools that
allows me to make things that I think are high quality.
I want the things that I make to be really, um, high quality.
I want to put my name on it.
I want to, um, metaphorically show it to my kids and say, dad made this, right?
Like, I want to be proud of something.
And I have found a tool set that allows me to get there very quickly.
Um, and so why, why would I, um, why would I spend a bunch of time exploring all these
new technologies when I have a tool set that gets me to where I want to go very, very quickly
and subjectively?
I think it is one of the best tool sets, if not the best tool set.
I have happened to fall into, um, I've happened by pure chance to fall into a community and
a tool set that I think is objectively, I think very, very good and very, very productive.
And so I have not found a reason to explore outside into like rest or something.
What am I going to do with rest?
I have no idea.
Um, now when I do something that is like, uh, outside the bounds, perhaps of, of Larival,
then I do enjoy learning and exploring and like poking around.
But the end goal, the end goal for me is always to produce an artifact that goes out to the
world.
I enjoy learning for the sake of learning.
At this stage in my life, the things that I want to learn about are not other technologies
that I'm probably not going to use.
And so I would prefer to spend my, um, to spend my learning, uh, time budget getting
better at my tool set that I already have or reading books about how to write books
because I want to write a book one day.
And I just don't, I don't want to pick up next JS 26.
Like I'm happy.
And so that's a big like, um, that's a big personality trait of mine.
There's, there's two, um, supposedly two types of people that are maximizers and they're
satisficers and a maximizer is like an economics thing.
A maximizer is always on the hunt, um, on the hunt for something a little bit better.
So there you go.
So these are the types of people that go to a restaurant and they try, you know, repeatedly
a local and place and they try everything on the menu because they want to find the
best dish there.
That's a maximizer.
Nothing wrong with it.
On the other hand, the satisficers go to a restaurant.
They may try one or two or three dishes until they surpass a certain bar that says I am
satisfied.
And when they find the bar that says I am satisfied, they order that forever.
And that's what I do.
That's me.
Like, I find something, I find something that is good enough and that, that can include
exploring a bunch of different options until something like meets those needs.
I've used this brand of pen for 15 years because it is the best in my opinion.
And so I find something that like passes the satisfaction bar and then I'm like, boy, am
I happy.
This is wonderful.
What a great life I have.
I'm so satisfied.
And so that's kind of, I feel like that's kind of how, that's kind of how I am with,
with PHP and even inside of PHP.
I've done ye, I've done cake.
I've done goodness.
Oh, okay.
Cake two and three.
And then, then I found Laravel at, I think, I think I found Laravel at like four or 5.1
or something like that.
And at that point I was like, aha, this is a hammer with which I can build things.
And I've just continued to use that.
And so that's like my, my personal, my personal journey to PHP.
I think like from a, from an ecosystem perspective, it is the, it is the no fuss.
It truly is the no fuss, like looked down upon working man's tool set.
And so there is no, there's no pomp and circumstance.
There's no, there's no pride.
There's no like, we're better than like, we're, everyone thinks we're stupid.
Like everyone makes fun of us.
And so that has led that, like, that, that like, outside evolutionary pressure of we're
not popular, we're not cool, we're not the jocks.
Like that, that, that evolutionary pressure has like shaped the ecosystem into an ecosystem
that in my opinion is very focused on shipping things versus talking about the ecosystem.
There's this like navel gazing about like, we should argue about this portion of the
stack and we should all invent our own solution.
Like just not to name names, but the PHP ecosystem doesn't, doesn't really have that because
it's not a popular place to hang out.
It's a place, it's a place for like construction guys, plumbers, HVAC guys, like all these working
class people of the programming world are over there being like, well, you know what,
we can hook up those two pipes and I bet the thing will work and like, yeah, let's do it.
That sounds great.
Let's do that.
And so we've gotten to this point where it's just like, guys, I don't know.
I made it.
Do you like it?
I shipped it.
And they're like, yeah, we love it.
It's awesome.
Instead of, hey, let's all get around and fight about our ecosystem forever.
So yeah.
I would agree with that.
Okay, so I'm going to take the opportunity to speak about PHP tech because it was a PHP
event and has been a very, very incredible PHP event.
Have you ever been to PHP tech?
So good.
It's so, so, so good.
That one, PHP to EK.
Yeah.
Okay.
So it is coming back this year and I got an email in my inbox that they had dropped sponsorship
prices.
I'm selfishly, but also selflessly wanting to promote PHP tech because it is such a really,
it's just such a great event and you hit it exactly on the head in regards to the PHP
community.
I have no idea why I have stayed sort of devoted to PHP.
Yes.
I've dabbled in my DevRel career into these other places.
It's the community.
Like it absolutely is.
Like I can go in there and mind you, some of the first PHP events, I was like one of maybe
five total women who were there.
But guess what?
I never got hit on.
I never got like harassed.
I didn't have anyone trying to get in my grip.
Like it's, it's so different from the other events where I will get developers who will
either like honestly try to hit on me.
I'm like old and like, I don't get it, right?
Why are we doing this at Tech Events?
Or they'll try to essentially like, what's the right word?
Assert dominance.
Yes.
So let's call it that.
Yes.
They will assert dominance.
And it's like, I don't care.
I want to go hang out with other people that just want to build stuff.
We don't have to have this drama.
And so I very much agree with you in the sentiment of the ecosystem.
And so yeah, PHP Tech and PHP both awesome.
If you're in the PHP space, please check out PHP Tech.
Also if you're a company that can benefit from it, please check out their sponsors,
sponsorship levels, because I would very much love for this event to not die off and to be
to still continue.
So anyways.
I agree.
It's in Chicago.
Oh, I didn't know that actually.
It was in Atlanta before.
Oh man.
There's, I have some very funny memories of PHP Tech Atlanta.
That was a very good time.
I'm catching up on the chat here.
Jason has called you the PHP King.
I love it.
Yep.
And heard nothing but good things.
Hey Nick.
Glad to hear.
So we're going to do a Rizvel.
Hello.
Nice to see you.
Jason, Emmett and Nick.
And I think before that we had Ryan and Kevin.
So great to have everyone.
Okay.
So I haven't tried Larevel yet.
We talked about that.
And so you alluded to a few different things.
So before we wrap up here, I want to ask about this.
And I have one more question, but you alluded to the fact you can build really quickly.
So I'm going to assume you're referring to Larevel when you say that.
So for those who haven't touched Larevel or who haven't touched maybe PHP, walk us through
Larevel.
Like what's your experience like with that?
Why is it so quick?
Why do you think that it's so efficient?
I've heard the same thing, but want to hear your side.
Sure.
Okay.
So we'll frame this whole thing in the context of building a proper web application.
So a couple of words in there, proper, meaning a little bit beyond just like a to-do list
or demo or something like that.
Web application, meaning some sort of SaaS, something that's online.
So we're not talking about embedded systems.
We're not talking about a lot of different stuff.
We're talking about building a proper web application.
So when you're building a proper web application, you need to consider a lot of things.
One of those things is what's your front end going to be?
And that's where most people stop.
That's where people are like, aha, I'm going to argue forever about my front end.
Okay.
Cool.
You picked a front end.
Now what?
You need background jobs because in a proper web application, you have to offload some
stuff.
Like if you haven't thought about or implemented CSV handling, there's a question about whether
it's like, is this a proper web application?
At some point, every web app has something like, hey, they need exports.
I'm like, well, F, how are we going to do exports?
They need imports.
How are we going to do that?
Okay.
So then you start to get to the point where you're like, okay, if we're building, if we're
building even, not even a SaaS, it could just be a back office for a company.
If you're building a back office for a company, you've got some processes that need to run
every morning, every weekday morning, every Monday morning, every first of the month.
And so you're building a proper web app and you're like, wait, the business dictates that
email reports go out on Monday morning and Friday afternoon.
How do I do that?
Okay.
Well, you have a few options.
One is you could sign up for a service.
You could sign up for a VC backed service that is trying to sell you Cron for $99 a month.
And you're like, boy, building web apps is complicated and expensive.
And so that is a viable path that a lot of people take that is not my preference.
And so when it comes to building a proper web application, Laravel comes with all of
the things that you need.
And I hear people saying, well, there are open source packages for all of the things
that I need.
And so I prefer, I prefer to grab all my favorite components off the shelf and stitch them together.
That's fine.
If that's your preference, that's totally fine.
That is not my preference because every time you grab an open source library off the shelf,
a best in class open source library, and that's always the argument.
It's like, well, I want to use the most popular queuing library that it has all the bells
and whistles, and you're like, OK, this month or this year, what's going to happen when
next month there's a better one.
That is an argument.
I think the more impactful argument is, OK, you've got some internal, some nucleus of
like business logic, right?
And then you're pulling in a queue library.
You're pulling in a background, like a Cron library.
You're pulling in an email thing, you're pulling in an auth thing, you're pulling in an ORM.
Every thing that you pull in must talk to every other thing, right?
And so now you have this nucleus of business logic, which is probably ill-formed, unformed,
living in some like slash lib directory, right?
You've got your nucleus of business logic, and then you are maintaining the connections
between all of these different best in class resources, right?
So like, OK, well, here, what about this?
I need to queue.
I have a user that wants to send an email.
I'm going to queue this job with this user and these models and send this email later.
In Laravel, you can queue a job and you can send the models into the queue and the models
get dehydrated and then when the queue comes back alive, they get rehydrated out of the
database and you can just send the email directly with Laravel first party components because
everything is meant to work together.
And so you can have this system where it's like, all right, I need authentication.
These are all things that Laravel comes with out of the box.
I need authentication.
I need an ORM.
In my opinion, a world class ORM.
I need an ORM.
I need background jobs.
I need scheduling.
I need a sort of like PubSub, like a venting system so I can get to send data back and
forth between the front end if I want.
I need all of these things and I need them to all work together and that's where I think
Laravel really shines is it has everything.
So the term full stack framework has become a little muddied and so I think there's been
a shift.
I don't work at Laravel, but I think there's been a shift towards like batteries included
framework.
And so Laravel is in the same way that Rails is, Laravel is a batteries included framework.
So imagine you want to actually build an application like Restream.
You're going to need a bunch of stuff, right?
You're going to need all sorts of background work that is not like close to the web because
you're mucking about with video.
You've got to scale up, scale down.
You've got to do all this stuff.
Laravel has everything you would need to do that.
And so whenever I encounter, these are solved problems.
Background jobs are not new.
They've been around for 1000 years.
And so I don't want to have to like figure out, oh, how am I going to do a background
job?
I just want to know, all right, I can just say put this in the background and I know
that I've got a key worker that's running that is also managed by Laravel.
And I can say, hey, run this job, retry three times.
If it fails, send me an email at admin at my site.com.
And also write the output to this log and also raise this alert to Slack.
It's like, hey, that's pretty great.
Like there are a lot of things.
There are a lot of things when building an application, a back office, a SaaS, whatever,
there are a lot of things that you have to figure out.
But figuring out how to run a schedule, like run a command on a timer should not be one
of the things that you're having to figure out.
You should be figuring out what is my like unique value.
And beyond that, how am I going to make anybody care about it?
And so like we get so hung up on, well, Prisma versus Drizzle.
I'm like, what the hell are y'all talking about?
You're switching your whole ORM layer?
Like why?
And that's the thing where I'm just like, that's not my interest.
Some people I think, I think that is a hobby for some people and I am so happy for them.
That is not my hobby.
And my time is better spent trying to figure out what is this application going to do and
how am I going to make people care about it?
And not spent thinking, well, Prisma does joins on the client side.
And Drizzle pushes them to the database.
It's like, all right, I got stuff I got to do.
And so that's kind of like my view on the landscape of programming frameworks and why
I like Laravel.
Because I like the batteries that they have included.
And I like that it all works together.
And I am sensitive to the notion that some people come to something like that and they're
like, I want to choose my own batteries.
That's great.
I'm happy for you.
I don't want to do that.
And so I think that's something that gets lost a lot in these discussions online where
people want different things and are optimizing for different things and then talking to each
other as if they're optimizing and wanting the same things.
And so people are optimizing for control and flexibility.
And then they're talking to people who are optimizing for speed of deployment and joy
and stuff like that.
And they're like, why can't you understand what I'm saying?
And it's like, because we're not even pointed the same direction.
That's why.
And so that's where I think people just talk past each other.
And the question needs to be asked.
Like, what are you optimizing for?
And if you can have a discussion with someone who is optimizing for the same thing, the
discussion is going to be a lot more profitable in terms of coming to an agreement.
But if you're having a discussion with somebody who's optimizing for different things, that's
super great.
Just don't try to argue about who's right and who's wrong.
Because one of you is optimizing for, let's say, one of you is optimizing for making a
ton of money and one of you is optimizing for living in the woods.
Like of course you're not going to come to an agreement.
Those are totally different things.
Why would we do that?
And so I think that's where people go awry online.
Yeah.
Wow.
That was amazing, first off.
Amazing in regards to explaining Laravel and why you should choose to use it or not use
it.
But also amazing to how you sort of unveiled this way of looking at things.
Because you're right, right?
And I first constantly want to argue, which I tell my clients, I'm like, hit them in the
feelers.
I don't fit, mean physically.
I mean, get them having that argument, get them talking about that.
But you are so right about them being pointed in the right direction, right?
Because oftentimes it really is just a let me throw out my favorite tool.
And it's like us advocating for like our dogs or our kids, right?
I'm like, I have the cutest kid.
You know, like you're never going to win that argument with someone else who has another
kid.
It's just not going to happen.
No.
It's like trying to convince somebody why a certain TV show is objectively the best
in the world.
Exactly.
Right.
And some people might want to have a technical discussion about that.
And some people might just want to say, oh man, I like Seinfeld because it's funny.
Like it's friends.
Those are just, no, see, here we are.
Those are just, those are just different.
And it's like, let's have a fun, let's have a fun, like, you know, dinner time discussion
about their differences.
But let's not try to convince each other that like these two things are even able to be
compared.
And so I don't know, people, people seem to, people seem to miss that all the time online.
Yeah.
I think so for me, like, you know, coming, coming back into sort of the Laravel conversation
for me, what I have struggled with in the latter part of my career, because I've been
in developer relations and been in, you know, leadership.
And so I haven't necessarily been able to code and build things like I would have been
enjoyed building things.
And so I still struggle with generally like the frameworks because I'm a little bit of
like maybe an older dev.
Like I, I want to know my whole system, you know, like I want to understand Laravel from
the bottom all the way to the top.
How does all of that function?
How does everything connect together?
Because I don't like using frameworks and things that are already prebuilt because then if there
is something that is wrong, I'm like, I have no idea how to troubleshoot this.
So do you feel like that?
Like, how do you relate to that?
How does that resonate with you as you think about Laravel?
It's like, it doesn't matter because you don't experience those types of issues or have you
found yourself sort of over time understanding the actual system at which exists behind Laravel?
Yeah, I think I'm super sensitive to that point.
And I think this is another, another vote in favor of picking your thing and sticking
with it.
Like, I am able, I am able to.
Even I either just know what's going on.
If not, I'm able to deduce what's going on given all of my like years of context in Laravel.
And so I think those two things help a lot.
But also, I think I have, I think I, I think I potentially took the hard road to get here
and it is now continuing to serve me well.
And so like, everything that I've learned has been through sheer force of will.
And so I will watch, I will watch people or see people online or sometimes watch streams
and they're like, oh, this didn't work.
And I guess I'll just go like make a stack over from not anymore, but make a Stack Overflow
post about it or I'll go ask chat GPT about it or like, I'll, you know, complain on Twitter
that it's not working.
And that has literally never been my first gut reaction.
My gut reaction is to command click into like the method that I'm calling, which takes you
down into the source of Laravel and put like a poor man's debugging statement down there,
which is just like dump out this variable and then terminate program.
Just dump and die.
And then I look on the screen and be like, huh, that's not what I thought it was.
Let me go one level deeper.
And I just keep doing that until it's like, Oh, that's, that's as false.
I thought, given this point, I thought that would be true.
I wonder why that is.
And then we come back out and we figure out like where in the stack my understanding of
the, like my internal compiler is wrong and I'm looking at the code and I'm like, Oh,
okay.
Well, when that happens, then it switches it from true to false because this thing is
not available.
Oh, I mean, it's like, I'm going to make that thing available.
And so like in terms of not understanding what the framework is doing, that certainly
still happens, but it's happening few fewer times and further between.
And anytime it does happen, I update my internal reference by just like by source diving the
number of times that I've asked people like, well, did you go look like, did you go look
in the vendor directory, which is like our node modules?
Did you go look in the vendor directory?
Oh no, I don't go in there.
Why not?
That's where all the code is.
Go see what's happening.
And people will tweet at Taylor.
I just see it like fly by my timeline.
People will tweet at Taylor.
Hey man, like I'm doing this thing and this thing isn't working.
And I'm like, brother, you're lost.
You're never, you're never going to get there.
If this is your reaction to tweet at the creator of the framework, like why is this part not
working?
Dude, he has no idea.
Like go dive down there and figure it out yourself.
And then, then after you have done that, ask all the questions in the world.
But never in my, in my, in my opinion, never go ask a question without being able to say,
here's what I've tried.
So if you go to ask a question and you're here's what I've tried.
Array is totally empty.
You're not ready to ask the question yet.
You need to go ask the question and say, well, I dug in to this part.
I found this event fired, but it wasn't caught anywhere.
And I don't understand why.
That's great.
You do not have to figure everything out on your own, but like, God, you've got to try.
Like you've got to try something.
And then you can go out there with a richer set of contexts and ask better questions and
say like, I've tried X, Y and Z.
Don't offer me solutions there because I've tried that.
Given that information.
What are the things going on here?
And it's just like, it just goes way, way better.
Yeah.
Okay.
I love that so much.
Well, I think between my tweets and conversations, I'm, I'm definitely convinced that I need
to start with a layer of LMI in my actual build out.
So I'm so excited to dive into that.
I just need to like get back into code.
I feel so much imposter syndrome over like I'm a developer, but I'm not a developer.
And it's like, no, I am still a developer.
I still build things and create solutions with code.
And by therefore need to just continue to do getting a little spam in our chat today.
It's because of your, your big influence.
Oh, the best viewers are on smidgen.online.
Yeah.
I believe that's definitely true.
Probably true.
That's definitely true.
Okay.
So you shared the last question before we wrap up, cause we are like really actually
literally nearing the actual extended block of time that I have for the show.
Um, cause it's such a joy to chat with you, but how do you get unstuck?
You gave us a really good sort of clue into how you get unstuck in Lairville.
Awesome.
Loved it.
How do you generally get unstuck?
And so maybe you're thinking about more high level things, you know, decisions, process,
um, or maybe it's tool decision, right?
What do you use when it's outside or adding upon your beautiful Lairville stack?
Oh, um, I feel like, I feel like I get stuck a lot.
And, and so I don't, I don't know if anyone like this exists or if it's just a facade,
but it seems like some people just breeze from like success to success and when to when,
and I feel like I sit here in this studio often being like, what the hell am I doing?
This like, what am I going to do?
What am I doing?
Why am I doing any of this?
And so I am, I am no stranger to like that feeling and I have it quite often.
And so, um, I have, I have a few, like a few tactics, techniques, strategies.
One is, um, motion, motion begets motion and progress begets progress.
And so when I'm feeling very stuck and I wrote it, I wrote an article titled this, I do literally
anything like just do anything.
And once I have found, um, that motivation springs from action and not the other way
around, like I don't, I don't, um, I don't sit here and, uh, whip myself up into a lather
and be like, all right, now I am motivated and I'm ready to work.
No.
Usually I actually don't know if that has ever worked.
What has worked is I'm going to start working.
I'm going to start working.
I don't know exactly what I'm going to do, but I'm going to do something.
And once I get in motion, like the clouds start to part and I'm like, oh, okay.
Like, yeah, all right, let's do some stuff.
Let's let, I'm here.
Let's go.
Let's do it.
Um, when I don't know, when I don't know where to even begin, I, uh, I just write stuff
down on paper.
Like, um, I, I don't, I don't want to faff around with like second brain
systems.
I've got, I've got like stacks of legal yellow pads, Amazon basics, legal yellow pads and
a zebra pen.
And I just start writing down everything that is stressing me out.
Literally like, you need to replace the, need to replace the rails on the cab, the trash
cabinet at home.
Need to respond to this email that I've avoided for five days.
Like just write down everything that is stressing me out.
And that process of writing everything down makes me feel better.
Cause then I look at it and I'm like, those are just tasks.
Like what is wrong with you, man?
Then I look at all the tasks and I'm like, I don't want to do any of those.
But the one I want, the one, the one that I, I don't mind as much as the others is this
one.
I'm going to start with that one.
And then you're in the game.
Like then the wheels are turned in and the other stuff becomes a whole lot easier.
As you get over this, like the world is stressing me out.
I don't know why.
And so I'm going to look at Twitter that can go on for hours.
And so you have to break that cycle of like, all right, the world is stressing me out.
I don't know why.
I don't know if I'm going to do literally anything.
I literally don't know of anything to do.
So I'm going to sit down and I'm going to write out my hopes, dreams and fears on a
piece of paper.
And that will help.
That has always, that has always helped me every single time.
I love that so much.
I am a very much a pen and paper person, but I kept like losing notes and I'd be like,
I already thought through this.
Like I already had this brain, you know, escape.
And so I switched to the iPad with the Apple pencil.
So I can like start searching my like massive amounts of notes because I do the same thing.
I'm still not as diligent as I could be, but yeah, I love that approach.
Just getting it out.
I definitely don't write about my stresses and I, and I should, I think that would very
much help in my business.
Totally should.
Yeah.
I'm, I am going to try that literally after we get off this call, honestly.
Yes.
It's very helpful.
I think, yeah, back here, those are two or three or four or five Amazon basics, yellow
legal pads that are totally full page after page after page after page, totally full of
things.
Here's what I'm working on today slash here are my deepest darkest fears and why I'm a
failure and it's like, all right, next page.
And then we're on to the next day.
And then let's go back like three or four or five years and they're just, that's just
there.
And I don't like, I don't organize it.
I don't keep track of it.
What will come, will come, what will go, will go.
And if I ever need to look back, I can, you know, I date every single page is dated.
So if I have to look back, I could, but most of the time it's just the process.
That's the most helpful part.
Yeah.
I love that.
Honestly, like you probably will go back and look at that notebook over the last year from
your business because I feel like that's where I feel I've been the most reflective in my
life is like, is the last year, right?
Of like almost year of growing my business and being like, okay, what did I do last month?
Where is this different?
What have I learned?
And man, if I had all that in a notebook, I have some of my, my I guess go back and
just relive that life.
Hopefully, right?
And there's a future at which we are out of the emotional pains of starting a business
and, and can see it from a more beautiful light in the future.
That's the dream.
Love it.
Yeah.
All right.
Well, I don't want to keep you any longer.
It's already 11.
Thank you so much for your time.
I like love chatting with you and hanging out with you.
I know that you made a comment about people looking at you as an influencer versus an educator,
absolutely an educator, one of the best educators I've ever met.
But honestly, you are such a good human being that you are an influencer by extension and
the world needs it.
So as much as you, yeah, well, as much as you don't necessarily care for that term,
I personally appreciate that, that you do have the cloud that you do because you deserve
it and the world deserves to have more air and time.
That's incredibly kind.
Thank you so much.
Thanks for having me.
This was a lot of fun.
Yeah.
This was super fun.
Okay.
Well, I hope that everyone has a fabulous rest of their day.
See y'all tomorrow.
Bye, friends.
Bye.