Two seasoned salty programming veterans talk best practices based on years of working with Laravel SaaS teams.
Joel Clermont (00:00):
Welcome to No Compromises, a peek into the mind of two old web devs who have seen some things. This is Joel.
Aaron Saray (00:07):
And this is Aaron.
Joel Clermont (00:16):
Aaron, why do we even do this? Why do we have this podcast? Can you give me a short answer?
Aaron Saray (00:20):
I think it was to become rich and famous.
Joel Clermont (00:23):
Boy, that's not working out.
Joel Clermont (00:25):
That is not working out.
Joel Clermont (00:26):
It's a little bit of a joke because the topic I want to talk about today is sharing things that you learn. Whether it's experience you've learned over a long time or maybe when you're right in the middle of learning something. I know it's a habit you have, it's a habit I'm working on building, and this podcast is kind of one outlet for that. But what do you think about that? Do you think that's worth talking about today?
Aaron Saray (00:54):
Yeah, I think there's a couple of reasons why you might want to share what you've learned and I'll go through a couple that I found over my career that have been good. The first is since we work in open source, we get to see the code but sometimes looking at the code is hard, so understanding what that code can do or what the functionality is or what's available is partly the case of documentation. But raise your hand if everything you've used has great documentation. So that kind of gets filled with people on their own blogs, on Stack Overflow, all these different places, kind of sharing what they've learned about this piece of software so that you can use it more effectively and efficiently.
Joel Clermont (01:36):
Sure.
Aaron Saray (01:36):
So that's really the first, is to say, "Here's a piece of code," or, "here's a library and this is how I've found use in it."
Joel Clermont (01:46):
So if I were to boil that down it's sort of like sharing how to do something. Like, "Hey, you already know you want to do X, Y, Z, here's how you do it," right?
Aaron Saray (01:55):
Right.
Joel Clermont (01:55):
One that I like and maybe this was going to be one of your other points, but I also sharing. Like, "Why would you do this thing?" Because generally docs don't talk about that. They might, there might be a little aside or inset that says, "Have you considered this other thing?" But so often there's always more than one way to do something and just hearing somebody else talk through their thought process, like, "In this particular case, I like to use feature X instead of feature Y even though they both get the job done." I really reading those sorts of articles and I find it enjoyable to share that sort of information too. Not everyone will agree with you and some people may have actually an opposite opinion, but that's fine. You're not looking to convince somebody, you're just sharing your thought process.
Aaron Saray (02:43):
Yeah, I think we've talked about that before. Laravel gives you a number of ways to do something, like authorization and gates and things like that, and which one should you use? Should you use inline? Should you use at the routes level? Form request? The documentation may mention from time to time, "This might work better in cases of X, Y, and Z," but they don't necessarily always give that whole explanation, if that makes sense.
Joel Clermont (03:06):
Yeah. And sometimes it's even just stylistic things. Like, we like putting things together in this way because it's just the way our brains work. There's not even necessarily a technical argument as to why it's superior, but... I mean, I'll share this with the world, Aaron. That's one of the things I about working with you is a lot of times I'll notice you're doing something but when I ask why you usually have a pretty good explanation. I don't always agree but I like having a clear thought process behind it. And then sharing that with somebody kind of makes it even more official in your own mind. Like, yes, this is why I do this. And maybe you've done this, I've referred back to things I've written and shared with somebody that I learned or decided on, and it's actually a useful resource to me down the road.
Aaron Saray (03:53):
That's so weird because I've searched things years later in my blog entry about that thing popped up in the search yourself. I was like, "Oh, I've done this before."
Joel Clermont (04:00):
Exactly.
Aaron Saray (04:00):
So these are kind of good, maybe helping you out and giving back sort of ideas. But the second one I wanted to bring up is more of a, I'm not going to call it selfish because it's really not. It's about personal development and it's... the second reason is to kind of prove what you're talking about. We work in open source but that doesn't mean that most of the work we build we can share the source of.
Joel Clermont (04:31):
Yes, true.
Aaron Saray (04:31):
So if you work for a bunch of companies that keep the source to themselves, you don't work on the front end at all or in what has been my experience is, I work for a lot of startups that no longer exist. Not my fault, I promise you. But how do you kind of say, "Yeah, I do know what I'm talking about," versus all the other people. So if there's three people that equally have five years of experience, well one of the ways that you can kind of show that you know what you're talking about is to be explaining and showing that information through descriptions. And one of the things... Just a tiny little humble brag here. I wrote the book, Professional PHP Design Patterns.
Joel Clermont (05:12):
That's a great book.
Aaron Saray (05:12):
I wrote the book on PHP Design Patterns back in the day. And the reason the publisher was interested in my take on that is because at that point I had a couple hundred blog entries where I talked about PHP and all the different learning I was doing over. Now looking back I didn't know as much as I thought I did, but isn't that what we all think? Every couple of years you're like, "Wow, I didn't know much back then."
Joel Clermont (05:40):
Exactly.
Aaron Saray (05:40):
But it kind of helped me build my career. You know, I've got better jobs because people could search out the stuff I was writing and sharing with the world. And I got to write that book and learn from that. I would say I learned more from that book than probably most of the people who read it. But I think there's also that personal development reason that you can kind of do this.
Joel Clermont (06:02):
Yeah. And like you say, "It can open up opportunities," like we kind of joked at the beginning. Even this podcast it's not generating revenue. I mean, it introduces us to people, might generate a lead here and there, but the reason we're doing it isn't that. But it's a happy side effect when it happens, right? I think it would be very discouraging if you got into writing like, "I'm going to start a blog and I'm going to publish every week." And then there's going to be a long period where nobody finds it or nobody cares about it. And even when people are reading it, you're not going to immediately get that book offer like Aaron did. You kind of have to be in it for the reasons but then also recognize like, "Hey, one of the reasons I'm doing this is that it can have some unexpected long-term benefits, personal growth, more opportunities, things that."
So just kind of summarizing this, I guess our advice, to speak for Aaron here, is to not hold back, to feel free to share what you're learning or something you have learned. And to put yourself out there is a little scary, especially if you haven't done it but I'd encourage you to do it. It makes the community better even if you're not the world renowned expert on a topic. Even being new to something, you have a different opinion on it, you have a different outlook on it than maybe somebody with more experience has. So just share those things, don't expect to get rich and famous, but do you it for the reasons and you make the Laravel community a little better.
Aaron Saray (07:35):
So these last couple of nights I've been researching prebiotics, postbiotics, all that kind of stuff. I just want to get healthier. I look at supplements, vitamins, I'm not sure what I think about all that stuff. So I've just been kind of researching and whatnot. And then I started thinking about that United States is kind of a weird place when it comes to medicine and in other countries I don't think they have this. But we have ads on TV and the radio and stuff for prescriptions about things. And it's always like, "Oh, do you have the issue where your arm falls off and whatnot?"
Joel Clermont (08:17):
I missed that commercial.
Aaron Saray (08:17):
It shows people running around not having their arms fall off, or whatever is wrong with them, right?
Joel Clermont (08:22):
Mm-hmm (affirmative).
Aaron Saray (08:23):
And like, "Well, this medication can help." Then they're like in real small recording, in real fast, "May cause your head to fall off, may cause you to die," may all these different things, right? Okay, I won't scratch a little but I may die? All right. And then they always end with, "Ask your doctor if blah, blah, blah, blah, blah is right for you." Like, what's wrong here? I'm sure other countries are watching us too being like, "So instead of the doctor telling you what medications you're supposed to go to your doctor and be like, "You know what? I think I'd like to have this."" He's like, "What? No. I would've given that to you if that's what you were supposed to have."
Joel Clermont (09:02):
Yeah. It seems like something that would annoy doctors. I mean, I get what they're trying to do but it is kind of a weird dynamic there.
Aaron Saray (09:09):
I guess the only worst thing would be, "Well, Doc, I was on WebMD and..."
Joel Clermont (09:13):
The internet, my doctor gets mad if I bring up anything I saw on the internet. You mentioned supplements and it just made me think of a weird conversation I was having with a group of people. The one person was having trouble remembering something and this other person said, totally seriously, "You just need to eat more blueberries." And it was like this weird non-sequitur. Like, there's probably some mineral or something in blueberries that helps with memory, but then I'm like, "You'd have to remember to eat the blueberries to have a healthy memory."
Aaron Saray (09:47):
Yeah. I just take Rocky Balboa supplements or whatever.
Joel Clermont (09:52):
Okay, gets it done.
Aaron Saray (09:53):
No, Ginkgo Biloba, Sorry.
Joel Clermont (09:53):
I was wondering what you were trying to say there.
Aaron Saray (09:57):
One of the places where we share information is masteringlaravel.io.
Joel Clermont (10:03):
So check out that site. We have some tips, free eBooks, and even some stuff you can pay us for.