Podcasts about laracasts

  • 25PODCASTS
  • 218EPISODES
  • 24mAVG DURATION
  • 1MONTHLY NEW EPISODE
  • Apr 23, 2024LATEST

POPULARITY

20172018201920202021202220232024


Best podcasts about laracasts

Latest podcast episodes about laracasts

Mostly Technical
31: Fight or Win

Mostly Technical

Play Episode Listen Later Apr 23, 2024 72:23


Ian & Aaron discuss HelpSpot's future, Aaron reveals his next course, the secret to building courses, the "edge", spouse GPS tracking, the Doordash tax. Sponsored by Laracasts, Buttondown, LaraJobs, & Screencasting.com.Send questions or feedback to mostlytechnicalpodcast@gmail.com.HelpSpotTry Hard StudiosLocation sharing tweet

Mostly Technical
30: We're Gonna Make It

Mostly Technical

Play Episode Listen Later Apr 16, 2024 71:48


Ian & Aaron return after a few weeks off to check in on Aaron's new business, his studio, and yes, his healthcare woes.  Sponsored by Laracasts, Buttondown, LaraJobs, & Screencasting.com.Send questions or feedback to mostlytechnicalpodcast@gmail.com.(00:00) - Chilipad Fixes All (01:40) - Eclipse Update (04:29) - I'm The Top of the Funnel (16:55) - Healthcare Stuff (37:35) - Everybody Updates Their Apps Too Fast (46:26) - Aaron's Office Update (59:00) - Trading Places Links:Hackers Incorporated episode with Aaron FrancisLemon Squeeze's interview with Aaron FrancisAaron's video on Cloudflare Aaron's tweet about healthcareContinuation of Health Coverage (COBRA)JustworksGustoS corp vs. C corp vs. LLCStartup to Last podcastLess Annoying CRMLegUp Health

Mostly Technical
29: Super Epic Crazy with Adam Wathan

Mostly Technical

Play Episode Listen Later Mar 27, 2024 98:05


Ian and Aaron are joined by Adam Wathan (our first returning guest!) to talk about Aaron's future plans for courses & consulting, Adam's plans for hiring at Tailwind, & a lot more.Sponsored by Laracasts, LaraJobs, & Screencasting.com.Send questions or feedback to mostlytechnicalpodcast@gmail.com.(00:00) - The Interloper (01:49) - Hiring at Tailwind (09:00) - Extra Effort Matters (19:47) - Magic Company Money (23:02) - Jerry Seinfeld's Voice (27:45) - Nothing Sexier Than a Database (43:49) - Taste as a Service (54:34) - Courses vs. Consulting (01:07:56) - The Aaron Francis Experience (01:13:33) - The Master Plan (01:28:53) - Price of Admission (01:33:17) - En Route To Mars Links:Subscribe to Laracasts! Seriously.Adam's tweets announcing the Design Engineer & Staff Software Engineer jobs at TailwindAdam's tweet about 90% of applicants not following instructionsTest Driven LaravelSandwich VideoKevin Shen's Dream Studio Course on lightingJonathan Reinink on Twitter

Mostly Technical
28: Try Hard Studios

Mostly Technical

Play Episode Listen Later Mar 22, 2024 66:07


Ian & Aaron discuss Chilipad, the Aaron Francis Studio of Light and Sound, the week of calls, how to properly apply to a job, Shibboleth secret passwords, what's next for Aaron, the background on how Try Hard Studios came to be, and behind the scenes on the creation of their launch video.Sponsored by Laracasts, LaraJobs & Screencasting.com.Send questions or feedback to mostlytechnicalpodcast@gmail.com.Links:Subscribe to Laracasts! Seriously.ChilipadTry Hard StudiosAaron's what's next tweetTry Hard Studios launch video & YouTube channel

Over Engineered
Modular Laravel Apps w/ Mateus Guimarães

Over Engineered

Play Episode Listen Later Jan 17, 2024 91:59


When applications grow—in scope, sheer lines of code, or the number of team members—how you organize things starts to matter a whole lot more. In today's episode, we talk with Mateus Guimarães about modularization: breaking your application into smaller modules. We explore some of the topics in his new Laracasts course, and talk about the decisions that informed building the modular package at InterNACHI.

Mostly Technical
15: Farming, Threadbois, & Meme Lords with Jeffrey Way

Mostly Technical

Play Episode Listen Later Nov 14, 2023 113:40 Transcription Available


Ian & Aaron are joined by Jeffrey Way to discuss everything from the ethics of retweeting compliments to the pros & cons of hiring people to help you and a *lot* more.Sponsored by LaraJobs & Screencasting.com.Sent questions or feedback to mostlytechnicalpodcast@gmail.com (00:00) - Costco Country (13:17) - Acceptable Behavior on X/Twitter (29:25) - Playing The Game Poorly (36:01) - Pretending To Be Humbled (46:55) - The Newspaper Was Twitter (52:55) - Hit Us With Your DHH Take (59:43) - That's Ethically Murky To Me (01:08:56) - Finding the Right People (01:25:48) - The Word of the Day Is Manipulation (01:35:48) - Americans Don't Agree on Anything (01:39:02) - Everybody Has a Course (01:46:09) - Laracasts' Secret Sauce Links: Jeffrey's tweet about retweeting compliments Laracasts DHH's manifesto aka Once.com SquaredAway 'PHP literally has the worst dev tooling' tweet

The Laracasts Snippet
Business Impostor

The Laracasts Snippet

Play Episode Listen Later Oct 10, 2023 9:10


When it comes to business, I - like many developer-turned-small-business-owners, I'd imagine - am really quite green. Not just green, deep green. No MBA in sight. I'm not even sure what that stands for, to be honest. Master of Business Administration? Is that it? Yep, a master of business… yours truly is not. Can you relate?

Laravel News Podcast
Streaming jets, wrapping words, and ACID-compliant operations

Laravel News Podcast

Play Episode Listen Later Sep 6, 2023 55:59


Jake and Michael discuss all the latest Laravel releases, tutorials, and happenings in the community. (02:17) - Laravel 10.20 released (14:04) - Laravel 10.21 released (19:04) - Laravel 10.22 released (25:53) - Livewire v3 has been released (28:18) - Laravel Jetstream 4.0 with Livewire 3 support (29:28) - Laravel String Wordwrap (30:05) - Laracon EU 2024 - Save the date! (31:50) - Pest Driven Laravel course is now on Laracasts (32:58) - Mary UI: Laravel Blade components for Livewire 3 (34:42) - An introducton to Sharp for Laravel, an open source content management framework (36:36) - Generate Saloon SDKs from Postman or OpenAPI (39:56) - Boost your Eloquent models with Laravel Lift (46:09) - MJML to HTML using PHP (50:11) - Run GitHub Actions locally with Act (51:55) - Laravel API toolkit (53:01) - firstOrCreate() vs createOrFirst() (53:17) - Using AWS S3 for Laravel storage (53:33) - Using Language Servers in Sublime Text (54:09) - Installing Xdebug with Laravel Herd

Laravel India Podcast
011 Why contributing to Laracasts is important - Bobby Bouwmann

Laravel India Podcast

Play Episode Listen Later Mar 4, 2023 36:55


In this episode of the Laravel India Podcast, we're joined by guest Bobby Bouwmann. Bobby discusses the how he started contributing to @Laracastsofficial forum and become one of the top contributor. He also shares about his job as a Laravel Evangelist and what exactly this means. Additionally, he explains the importance of the book he has written called Laravel Secrets Follow Bobby at twitter - https://twitter.com/bobbybouwmann

North Meets South Web Podcast
Using SOAP with Luke Downing

North Meets South Web Podcast

Play Episode Listen Later Aug 30, 2022 43:00


Jake is joined by Luke Downing to discuss working with and testing SOAP interfaces with modern PHP.This episode is sponsored by Workvivo.Show links Luke Downing A Laravel SOAP client that provides a clean interface for handling requests and responses Pest from Scratch on Laracasts

The Laracasts Snippet
Steal From Other Hobbies

The Laracasts Snippet

Play Episode Listen Later Aug 26, 2022 17:37


In this episode, we'll talk about stealing techniques and approaches from other hobbies or industries. What have you learned from one hobby that might be useful for your programming career? I can think of a few.

The Laracasts Snippet
Laracasts Q&A: 2022 Edition

The Laracasts Snippet

Play Episode Listen Later Aug 15, 2022 29:58


It's hard to believe, but the last Q&A episode was published over two years ago. Let's fix that with a new 2022 edition. I'll answer a wide variety of questions, such as: how to initially plan a business, are lifetime accounts are worth offering, why aren't there dedicated Laracasts apps, how to avoid content creator burnout, and more. 

Abstract Development
#45 - Taking it slow. Exploring.

Abstract Development

Play Episode Listen Later May 16, 2022 7:50


Sublime Feed now has a login and registration page and stuff that goes around it. Although I wanted to make this a one week challenge I decided to take it slow and get it right. At the end of the day I just want something that works well. Then I explore why I'm favouring Laravel over Ruby on Rails... perhaps it's just me though. Recorded May 13th, 2022 Links Sublime FeedSublime Feed Dev Blog #1Ruby on RailsLaravelTaylor OtwellLaracastsGoRailsChris OliverTailwindCSS

Abstract Development
#45 - Taking it slow. Exploring.

Abstract Development

Play Episode Listen Later May 16, 2022 7:50


Sublime Feed now has a login and registration page and stuff that goes around it. Although I wanted to make this a one week challenge I decided to take it slow and get it right. At the end of the day I just want something that works well. Then I explore why I'm favouring Laravel over Ruby on Rails... perhaps it's just me though. Recorded May 13th, 2022 Links Sublime FeedSublime Feed Dev Blog #1Ruby on RailsLaravelTaylor OtwellLaracastsGoRailsChris OliverTailwindCSS

The Laracasts Snippet

I often hear about flat organizational structures and how they lead to more autonomy and better collaboration. That could be true! It sounds appealing. But my worry is: don't you lose the zoomed out perspective in the process? From my experiences, that multi-focus hierarchy is essential.

The Laracasts Snippet
Don't Participate

The Laracasts Snippet

Play Episode Listen Later Mar 28, 2022 8:05


For a number of years now, I've found myself quietly mumbling the words, "Don't participate," every time I feel the need to insert myself into events or conversations that have nothing to do with me. It works wonders. Nearly every time, I delete the draft and get back to work.

The Bootstrapped Experience Podcast
Episode 20: London calling!

The Bootstrapped Experience Podcast

Play Episode Listen Later Mar 10, 2022 31:07


London, co-working and personal assistants TranslateCI: https://translateci.com/ Sponsorship of Laracasts: https://laracasts.com/ App Bridge 2.0 upgrades finished for Order Printer Pro: https://apps.shopify.com/order-printer-pro Planning of Basecamp using Shape Up: https://basecamp.com/shapeup Marketing Campaigns New App Store experiments

The Laracasts Snippet
Programming Bullet Points I'd Send Back in Time

The Laracasts Snippet

Play Episode Listen Later Feb 4, 2022 20:14


In this episode, I take some time to ponder over which programming bullet points I wish had been drilled into me more in the early days of my learning. We'll discuss the psychology of learning, design patterns, SOLID, and, of course, the never-ending river of programming opinions.

The Laracasts Snippet
If It's Not Perfect, Ship It

The Laracasts Snippet

Play Episode Listen Later Jan 28, 2022 10:25


It's far too easy for developers to fall into a trap of never shipping new code to production. "It's not ready," we tell ourselves. "Just one more month to clean things up, and then we'll push it up." But if you're not careful, there will always be a reason why it's still not ready. In this episode, we discuss habit building and why it's necessary to not be a perfectionist. 

The Laracasts Snippet
Be the Tortoise

The Laracasts Snippet

Play Episode Listen Later Dec 1, 2021 5:50


If you've worked in programming spaces for any period of time, you will surely have heard the advice, "It's better to go slow than fast." We all instinctively knows this, and, yet, we're simultaneously obsessed with optimizing every facet of our workflow. 

The Laracasts Snippet
Three Shapes

The Laracasts Snippet

Play Episode Listen Later Oct 27, 2021 12:07


Whenever I ask a slightly controversial programming question, the responses often take one of three shapes. Let's talk about each of them in this episode, before taking a few moments to discuss why it's so important to play gracefully with ideas.

The Laracasts Snippet
Trust the Process

The Laracasts Snippet

Play Episode Listen Later Sep 15, 2021 7:22


Every time I learn something new, I have to re-remind to trust the process. I'm not sure why. That feeling of "I can't" never goes away. You would think we'd eventually make the connection that if you work on something a little bit today, and a little more tomorrow, you'll eventually become quite skilled. And, yet, why do I always begin the learning phase with a hesitation that says, "You'll never be able to do this."

Laravel News Podcast
Immutability, flexbox knights, and normalized packages

Laravel News Podcast

Play Episode Listen Later Aug 10, 2021 42:13


Jake and Michael discuss all the latest Laravel releases, tutorials, and happenings in the community.This episode is sponsored by Honeybadger - combining error monitoring, uptime monitoring and check-in monitoring into a single, easy to use platform and was streamed live.Show links Laravel 8.52 released Immutable date casting in Laravel 8.53 Laracon Online Summer 2021 Learn Flexbox interactively with Taliwind online Aimeos 2021.07 release Build Typescript interfaces for Laravel models Beginning TypeScript on Laracasts by Michael Timbs Composer normalizer package Flexible fields for Laravel Nova PHP pipe operator package Taylor's userland pipe implementation Community links Gzip compression with Laravel Vapor How to deploy MeiliSearch on Laravel Forge The Clean Coder's guide to Laravel Extending Laravel Spark to list Stripe plans from the database instead of configuration Generators over arrays

The Laracasts Snippet
The Best of Both Worlds

The Laracasts Snippet

Play Episode Listen Later Jun 21, 2021 10:17


In this episode, we discuss the three-month process of converting Laracasts to a single-page application with Inertia.js.

The Laracasts Snippet
If You Flip It, They Can Learn It

The Laracasts Snippet

Play Episode Listen Later Mar 26, 2021 8:19


It has occurred to me that I might have made some teaching mistakes in the past. Learning sticks when it can immediately be applied to a particular task or need you have. If you don't have an immediate use case, it might as well go in one ear, and out the other. It's not going to stick.

The Laracasts Snippet
About That Laravel 8 Controversy

The Laracasts Snippet

Play Episode Listen Later Mar 8, 2021 9:58


I keep seeing oddly similar threads around the web that relate to Laravel 8's "increased prerequisites." They all seem to share the view that, if you want to upgrade to Laravel 8, be prepared to also learn Livewire, Inertia, and Tailwind. Of course, I find it odd...because it's not even remotely true.

The Laracasts Snippet
Cool Kids Table

The Laracasts Snippet

Play Episode Listen Later Feb 23, 2021 9:47


Here's an uncomfortable truth about the programming world: we all want to sit at the cool kids table. It was true in high school, and it remains true today. It makes you wonder how this might be reflected in the tools we choose.

The Laracasts Snippet
One Thing I Love About Laravel

The Laracasts Snippet

Play Episode Listen Later Feb 8, 2021 8:00


One thing I love about Laravel is how, for any given project or feature, there's already a clearly defined pathway I can follow to complete it. For example, we take it for granted that a robust queue system with model serialization is always at your fingertips. We take it for granted that a powerful event dispatcher with automatic event registration is available for free. We even take it for granted that the decision of where to store your secret API keys has already been solved and documented.

The Laracasts Snippet
If Programmers Had a Superpower

The Laracasts Snippet

Play Episode Listen Later Jan 27, 2021 8:00


My wife recently paid me a compliment. "You're a good troubleshooter" - to which I replied, that's because it's all I do every day. Programmers are professional troubleshooters.

Bricolage
2020 Recap and 2021 Goals

Bricolage

Play Episode Listen Later Jan 6, 2021 10:01


I had a pretty great 2020, despite the pandemic. I got a new, amazing job and I got a series published on Laracasts. In 2021, I hope to do more podcasting and grow my new company. I am also rewriting my SaaS product and hoping to grow that business as well.

The Laravel Podcast
Mail and Notifications, with Wilbur Powery

The Laravel Podcast

Play Episode Listen Later Jan 5, 2021 60:47


Wilbur Powery's Twitter - https://twitter.com/wilburpoweryWilbur's Blog - https://wilburpowery.dev/Wilbur's GitHub - https://github.com/wilburpoweryLaravel Documents: Notifications - https://laravel.com/docs/8.x/notificationsWilbur Group - https://wilbergroup.com/Jake Bennett - https://twitter.com/JacobBennettLaravel Documents: Mail - https://laravel.com/docs/8.x/mailMailGun - https://www.mailgun.com/MailTrap - https://mailtrap.io/Hello Cloud - http://hellocloud.io/MailHog - https://github.com/mailhogTakeout - https://github.com/tighten/takeoutHelo Professional - https://usehelo.com/Marcel Pocoit Twitter - https://twitter.com/marcelpociotNexmo - https://developer.nexmo.com/Next - https://nextjs.org/Twilio - https://www.twilio.com/Laravel Documents: Queues - https://laravel.com/docs/8.x/queuesLaravel Echo - https://github.com/laravel/echoPusher - https://pusher.com/tutorials/web-notifications-laravel-pusher-channelsLaravel Documents: Broadcast -  https://laravel.com/docs/8.x/broadcastingLaravel: Up & Running - https://laravelupandrunning.com/Laracasts - https://laracasts.com/ Episode SponsorshipTranscription sponsored by LarajobsEditing sponsored by Tighten

Bricolage
The Power of Finishing

Bricolage

Play Episode Listen Later Oct 29, 2020 9:11


A while back I finished my Laracasts series "Multitenancy in Practice" and getting that checked off my to-do list was essential to maximizing my happiness in my down time. Here's my story and my recommendation to you that you knock that big thing off your list asap.

The Laracasts Snippet
How to be Ignored on GitHub

The Laracasts Snippet

Play Episode Listen Later Oct 9, 2020 11:59


After you've maintained a popular open source project for any length of time, you begin to notice a pattern. Certain issues and pull requests bubble up to the top of your todo list, and certain issues...are ignored or discarded. Let's talk about why that's often the case.

The Laracasts Snippet
The Goodbye Debacle

The Laracasts Snippet

Play Episode Listen Later Oct 1, 2020 6:18


We recently pushed a new "goodbye" landing page for the Laracasts website. In an effort to not succumb to the usual, boring "Goodbye, hope to see you again" copy, I opted for a different approach. Unfortunately, it didn't land for everyone the way I thought it might.

The Laravel Podcast
Mix, with Jordan Pittman

The Laravel Podcast

Play Episode Listen Later Sep 29, 2020 65:31


 Jordan Pittman Twitter - https://twitter.com/jordanpittmanJordan's Github Profile - https://github.com/thecrypticaceLaravel Mix - https://laravel-mix.com/Laravel Docs: Compiling Assets (Mix) https://laravel.com/docs/8.x/mixBabel - https://babeljs.io/Yarn Package Manager - https://yarnpkg.com/Yarn Package - https://github.com/yarnpkg/berryGist for multiple sites' Mix configuration in one file - https://gist.github.com/thecrypticace/52b5e54c74bd53077a058ba1cb958d9bFull Stack Radio Podcast: Episode 71 - https://fullstackradio.com/71Full Stack Radio Podcast: Episode 1 - https://fullstackradio.com/1Matt Eats a Banana and Mayonnaise Sandwich - https://www.youtube.com/watch?v=X19UPkqUAzQ&feature=youtu.be&ab_channel=LaravelPodcastDale Earnhart JR - https://www.youtube.com/watch?v=CPKYzeS0zN0&ab_channel=NBCSportsGQ: We Tried 5 Gross Sandwich Combinations People Actually Eat - https://www.gq.com/story/dale-earnhardt-jr-banana-mayonnaise-sandwich Episode SponsorshipTranscription sponsored by LarajobsEditing sponsored byTighten

The Laracasts Snippet
How We Work

The Laracasts Snippet

Play Episode Listen Later Jul 14, 2020 10:38


I recently hired a new instructor for Laracasts. Now that the team has grown to four people, including myself, I thought it might be interesting to discuss my personal hands-off approach to running a small and low-stress team.

The Laracasts Snippet
Four Words Can Derail Your Day

The Laracasts Snippet

Play Episode Listen Later Jul 7, 2020 5:33


Four words can derail any programmer's day. Those four words are "If I could just..." Ask yourself if you frequently fall into this trap. "If I could just configure my code editor properly, then I could get some work done." Or what about this one? "If I could just get my office the way I want it, then I could begin this new feature." Have no doubt; this is a form of procrastination that infects most of us.

The Laravel Podcast
Local Environment with Valet, Homestead, and Docker, with Chris Brown, Jose Soto, Joe Ferguson

The Laravel Podcast

Play Episode Listen Later Jun 23, 2020 75:52


Chris's Twitter: https://twitter.com/DrByteZCJoses' Twitter: https://twitter.com/josecanhelpJoe's Twitter: https://twitter.com/JoePFergusonValet: https://laravel.com/docs/7.x/valetHomestead: https://laravel.com/docs/7.x/homesteadDocker: https://www.docker.com/Laradock: https://laradock.io/Vessel: https://vessel.shippingdocker.com/Jose on Twenty Percent Time: https://twentypercenttime.simplecast.com/episodes/jose-soto-docker-for-local-development-P7pz7_EJJose on Laracasts: https://laracasts.com/series/guest-spotlight/episodes/2Jose's Docker Site: https://daytodaydocker.com/Valet Diagnoses Command: https://github.com/laravel/valet/issues/936HyperV: https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/about/VirtualBox: https://www.virtualbox.org/VMWare: https://www.vmware.com/ Episode SponsorshipTranscription sponsored by LarajobsEditing sponsored byTighten

The Laracasts Snippet
Meet Them Where They Are

The Laracasts Snippet

Play Episode Listen Later Jun 3, 2020 7:43


As parents or teachers, if you want to instill a joy for learning or reading, it's important that you meet them where they're currently at in life. The goal, as we've discussed in past episodes of The Laracasts Snippet, is to get them excited.

The Laravel Podcast
Learning & Keeping Up To Date, with Eric Barnes

The Laravel Podcast

Play Episode Listen Later Apr 28, 2020 45:08


Laravel News: https://laravel-news.com/Laracasts: https://laracasts.com/Laravel News Newsletter: https://laravel-news.com/newsletterEric Barnes' web site: https://ericlbarnes.com/Eric Barnes on Twitter: https://twitter.com/ericlbarnesUserScape: https://userscape.comLarajobs: https://larajobs.com/Laracon Online: https://laracon.net/Tumblr: https://tumblr.com/Popular YouTube Laravel teachersMatt's streams: https://youtube.com/mattstaufferCoder's Tape: https://www.youtube.com/channel/UCQI-Ym2rLZx52vEoqlPQMdgTraversy: https://www.youtube.com/channel/UC29ju8bIPH5as8OGnQzwJyAPopular Laravel blogsMatt Stauffer: https://mattstauffer.com/Tighten: https://tighten.co/blogLaravel Daily: https://laraveldaily.com/Freek: https://freek.dev/Adam Wathan's video coursesRefactoring to Collections: https://adamwathan.me/refactoring-to-collections/Test-Driven Laravel: https://course.testdrivenlaravel.com/News podcastsLaravel News Podcast: https://laravel-news.com/category/podcastLaravel Snippet: https://podcasts.apple.com/us/podcast/the-laravel-snippet/id1451072164Todo app tutorials in the Laravel docsLists of open source Laravel apps:https://github.com/chiraggudeawesome-laravel#codebases-for-referenceTighten open source SaaSesNovaPackages: https://github.com/tightenco/novapackagesOnramp: https://github.com/tightenco/onrampSymposium: https://github.com/tightenco/symposiumOzzie: https://github.com/tightenco/ozzieGistlog: https://github.com/tightenco/gistlogGiscus: https://github.com/tightenco/giscusLaravel: Up and Running: https://laravelupandrunning.com/Onramp: https://onramp.dev/Transcription Sponsored by LarajobsEditing Sponsored by Tighten

The Laravel Podcast
Interview: Freek Van der Herten, Lead Developer at Spatie

The Laravel Podcast

Play Episode Listen Later Jul 23, 2018 56:49


An interview with Freek Van der Herten, lead developer at Spatie. @freekmurze Spatie ColecoVision HyperCard BASIC Krautrock Antwerp Browsershot package Spatie Postcard Page Oh Dear! Transcription sponsored by Larajobs Editing sponsored by Tighten Matt Stauffer: Welcome back to the Laravel podcast, season three. Today we're going to be talking with Freek Van der Herten, (pronounced) something like that. He works with Spatie, and they make packages and do all sorts of great things. Stay tuned, you'll learn more. Matt Stauffer: All right, real quick note going into this episode. I just moved offices, and I only noticed after moving that the movers bumped the gain knob on my audio. So it's not going to sound great. I apologize ahead of time. But don't blame Michael, it's not his fault. It's my fault. Sort of the movers, but mainly just me. All right, let's get on with the episode. Matt Stauffer: All right, welcome back to the Laravel podcast, season three. This is a season where we learn about all sorts of amazing people. You may have heard of them before, you may not have heard of them before, but they're all absolutely incredible, and if their name is not English, then I also mangle it terribly and they fix it up for me. Matt Stauffer: Today we're talking to ... okay, Freek Van der Herten, (pronounced) something like that, who is one of the leads ... [crosstalk] Oh, no, you're going to do it for me in a second, and then you can grade me on how well I did. And you're also going to have to grade me on how well I do the name of your company, because I have been told that I say it wrong. So, Spatie, which apparently is close but not quite right. So that's a company. They make packages, they do open source Laravel stuff, all this kind of stuff. You've seen their open source packages, used those packages, you've seen his blog, you've seen him on Twitter, all that kind of stuff. Matt Stauffer: So the first thing that I'm going to ask him to do is first say his name and his company's name right. Second, grade my pronunciation and see if he can make me do it any better. And third, ask the first question we always ask, which is, when you meet people in the grocery store, how do you tell people what it is that you do? Freek Van der Herten: Okay. Let me pronounce it just right. My name is Freek Van der Herten. I work for a company called Spatie. And I would rate your pronunciation an 8 out of 10 or a 9 out of 10, so it's pretty good. You did it pretty well. Matt Stauffer: All right, for an American, that's a pretty good number, so I'll take it. Freek Van der Herten: So at the grocery store, if somebody asks what I do, I simply say that I make websites, I'm a programmer. So I try to make it really easy, because I am mostly on the back end stuff, and for people that are not into back end, that's all a little bit fuzzy. And with websites, they immediately know, oh yeah, he creates those. Yeah. Freek Van der Herten: And I always say, I'm not going to install printers. That's not my job. I program stuff. Matt Stauffer: That's perfect, because if you say I work with computers, that leaves that open. You might be a networking person or something like that. So I can hear in your pronunciation a little bit of the ways that I'm off. So I'll go back, listen to this 10,000 times, and see if I can get it right. But an 8 out of 10 or a 9 out of 10 for a Southern American, I'm going to take that as a win. Freek Van der Herten: It's pretty good, man. Matt Stauffer: Right. So I mentioned this real quick, but Spatie, Spatie, whatever it is, they have 10,000 packages. Some of our questions are going to be about all of the Laravel packages you have, a little bit about your tweeting and your sharing of content. But of course, if anybody doesn't know who he is, just check him out. So I also don't know ... I know that I asked you personally, and I know where your Twitter handle comes from, but not everybody else does, and I don't actually know how you pronounce it. So tell us your Twitter handle, where it comes from, and how you actually say it in your mind. Freek Van der Herten: Well, my Twitter handle is @freekmurze, and it's actually a very good question, where it comes from. Freek is just my first name, but I have actually three names, and that's not that uncommon in Belgium. Most people have multiple first names, and mine are Frederick, because Freek is just a nickname, actually. My second name is [inaudible 00:03:59]. And the third name, which is a very special name, I don't think anybody has it now, it's Murzephelus. And Murzephelus is a name given by my parents, and it's an emperor, it's a Byzantium emperor, because both my parents are lawyers, and when they had me, there was this law in Belgium that you had to pick the name of your child from this big list of names that were approved, and they wanted to see what the city clerk would do if they just picked a name out of history that is not on that list. So they picked Murzephelus- Matt Stauffer: Rebels. I love it. Freek Van der Herten: And the clerk didn't say anything, they just wrote it down. Matt Stauffer: Nice. Very cool. It's funny, because- Freek Van der Herten: And I've also passed it down to my kids. So they also have Byzantium emperor names. Matt Stauffer: I love it, that's awesome. It's funny, 'cause when I first looked it up, I was like, oh, Mur-zeph-el-us. But it sounds a lot more regal when you say Murz-e-phlus. Matt Stauffer: All right, so that's your Twitter handle. So go follow him on Twitter if you don't know, he's got a newsletter and a blog. And one of the things that Freek does a lot is collect together the best stuff from other people, and so Spatie creates an incredible number of packages. Quite a few of them are original content, but one of the things they also do is they take stuff that other people are doing and they package it up together in a normalized way. So if somebody says, here's a thing on Laracasts or here's an idea or something like that, they will often make a package around it. And Freek both writes his own articles, and the people at Spatie write their own articles, and then they also collect together links to articles from other people around the community. So they're both creators and curators, and that's something kind of they're known for. So if you haven't seen them, go check out that stuff that they're doing. Matt Stauffer: Okay, that's fun. Moving on, when did you first get access to a computer? In what context, and what was your interaction with that computer like? Freek Van der Herten: I started using computers at a very early age. It was actually, also, my dad had bought a ColecoVision. I don't know if you know that console. Matt Stauffer: I've never heard of it. Freek Van der Herten: It was very big in the '80s, I think around '82 or '83. So I must have been three or four when my dad had a console and he let me play on it, and that was the first time I interacted with this on a screen. Matt Stauffer: What kind of operating system was it on? Freek Van der Herten: I don't know, it's a game console, so it's only- Matt Stauffer: Oh, a gaming console. Freek Van der Herten: Yeah, yeah, it only had games on it, and that was the first time I interacted with something and saw something moving on a screen. Matt Stauffer: Got it. Freek Van der Herten: Now shortly after that, I think two years after, we got our first computer in the house, which was, I think ... It was definitely a Macintosh, and I think it was an SE model. It's one of the first models. So my dad was a little bit of a computer freak, and he wanted, he had to buy this new stuff. So I started out with a System 6, I think it was, on Mac OS. And, yeah, I started ... yeah, there was a program on there called, maybe some people know it, called HyperCard, which was- Matt Stauffer: I've heard of it. Freek Van der Herten: It's a very simple application, which makes it very great. It's just a stack of cards which you can programmatically do stuff with. You can say, if somebody clicks here, go to card number three. If somebody clicks here, go to card number five. So I started to ... And if you click here, play a sound or display this image. So I made my first ... I don't know if I can call it computer programs, but I made my first projects with that little ... little games like that. So that was- Matt Stauffer: That's funny how different Mac and PC are, because I know about HyperCard, I saw it in school, but I never worked with it. But my first one was BASIC, and it's probably around the same time period. I was six or something, so it was around late '80s, early '90s. Freek Van der Herten: Yeah. Matt Stauffer: And it was such a different experience. I was learning syntax and code and able to do almost nothing, whereas with the Mac, it's giving you this visual, interactive system, and it's such a difference even back then of what you're getting from each of them. Freek Van der Herten: Yeah, 'cause at the school, we had a Windows computer. Yeah, a Windows 3.1 computer. But the Windows subsystem, that was just a shell. You had also MS-DOS behind it, and when I saw that, I thought, what is this? I'm going back in time, we have something way better at home. We have this thing like a mouse on there. Matt Stauffer: Yeah. Yeah, that's interesting. Freek Van der Herten: So that was fun. So I've always been busy with computers and creating my own little things on it. Matt Stauffer: Did your interests keep up through school? Did you always think of yourself as a computer person? Freek Van der Herten: Yeah, I always knew I wanted to do something with computers. I studied IT as well, so I'm one of the lucky ones. At a very age, I knew I wanted to do this. But IT is very big, so I did a lot of things on my computer as well. At one point, I also did some sound technology, some songs, because that's another passion of mine. I'm also busy with music, I have my own band, and- Matt Stauffer: Okay, you're going to tell us more about that in a second. Freek Van der Herten: Yeah. So way before Laravel was there, when I still had time to do other stuff, I created music as well. But that helps a little bit with all the background, right, the background right now. Matt Stauffer: Okay. You know what, I actually am going to pause there. What musical instruments do you play, and it sounds like you were also recording. Were you doing mixing and mastering and production and everything? Freek Van der Herten: Just recording stuff, and a little bit of mastering, but then I'm not really good at it. Matt Stauffer: Yeah, yeah. Freek Van der Herten: My musical taste is a little bit lo-fi, so what I recorded was lo-fi as well. Matt Stauffer: Yeah, yeah. Freek Van der Herten: So I started ... My first instrument was, I think, the saxophone, when I was 10 years old. I had to do that for my parents. Yeah, you have to do musical school. Matt Stauffer: Yeah, yeah. Freek Van der Herten: But I didn't like it that much. I think the first two years were great but then I wasn't interested in the saxophone anymore. I tried to pick up the piano, and did a year of piano. And then I learned guitar myself, and that's an instrument where ... I stick a little bit by. So in all the bands that I- Matt Stauffer: Do you play acoustic or electric more? Sorry. Freek Van der Herten: It's more electric these days, 'cause, yeah, I play in a band and I have my electric guitar installed there. So I do that more. I do a little finger picking at home. I have the acoustic guitar here. But it's not as much as I used to. Matt Stauffer: What style of music do you play? Freek Van der Herten: It's a style called krautrock. I don't know if you know that. Matt Stauffer: I don't. You're going to have to send me the link later so I can put it in the show notes. Freek Van der Herten: Well, it's like this ... It's my favorite kind of music. It's like ... house music, like dance music. Very repetitive. But with guitars instead of electronic instruments. Matt Stauffer: Okay, all right. Freek Van der Herten: So there's some good bands that you should check out from the territory. It's very big in the '90s, there are bands like Can and Neu! And the ideas behind those bands revolve around ... with how, how do you say it in English, how can we keep things interesting with the least amount of notes? With three notes, what can we do. Just by repeating them, we'll make it interesting again. Matt Stauffer: Very interesting, yeah. Freek Van der Herten: And that's an aesthetic that I really like, just the simple things. The fertile things. Not too many whistles and bells with it, but just fertile, pure, straight to the point. Matt Stauffer: It's funny, 'cause when you said repetitive, the first thing I thought of was jam bands. And a lot of jam bands are a lot of noise. You've got 20 people on stage, but they're very repetitive and they're not interesting to me, because everybody's playing the same noisy notes over and over and over again, so it seems almost the opposite, at least in my very judgmental perspective, where you're trying to have very little noise, but actually keep it interesting. Freek Van der Herten: Yeah. I'll send you some interesting pieces to you. I have- Matt Stauffer: Yeah, I'll put it on the show notes, everybody. Freek Van der Herten: I've recently listened again to a few versions of a piece called In C. I don't know if you know it. It's a musical piece, I can't remember the author right now. It's probably going to go in my mind in a few seconds. And it's like 18 melodies of music, and it's 20 people playing them, and there are a few rules around it. When somebody plays the fourth tune, everybody still on the first tune should skip to the second. There can only be a gap of two. And then you go slowly to the end, and it lasts about an hour. And it's very simple melodies, but they interlock very, very well together. And it's not written on paper, how much times you have to repeat each melodic phrase. So every version is a little bit different. Matt Stauffer: Interesting, yeah. Freek Van der Herten: And that's interesting music to me. Matt Stauffer: So you could theoretically have one musician who's just really antsy to move on, and the whole thing would be done in 20 minutes? Freek Van der Herten: Yeah, yeah. Matt Stauffer: Oh, very interesting. Freek Van der Herten: That could be the case, yeah. Matt Stauffer: Everyone's glaring at that one guy. Freek Van der Herten: There are hundreds of versions of that, but they're all amazing. Matt Stauffer: Very interesting, okay. Like I said, I'm going to get him to write all this down for us. Links in the show notes later. Freek Van der Herten: Yeah, sure. Matt Stauffer: I'm super interested to learn about that. So you said you don't do as much music now, is that true? Freek Van der Herten: Yeah, that's true. Matt Stauffer: I hear you right? Freek Van der Herten: Yeah. So when I was a little bit younger, I think when I was around 20s, then I had a little studio in my own apartment, and I recorded lots of songs. That was my main hobby then. Nowadays, it's programming, but then it was every moment of free time that I had, I have to record stuff, I have to experiment with stuff, which is ... Yeah, sometimes I listen back to those recordings, like every five years or something, and I am still a little bit proud that there's something that I accomplished. Matt Stauffer: Yeah, yeah, definitely. Yeah, I spent that much time, I got that good, even if I couldn't do that right now, that's still something I did. Freek Van der Herten: Yeah, yeah. Absolutely. Matt Stauffer: All right, well, I want to ask you more questions about that, but I also want to get to the end as well. All right, so when you first got into that, you said you had access to those Windows computers in school. So what did your school education look like? At what point did you start getting more than just typing lessons? Freek Van der Herten: I think when I was 14 or 15, we had lessons in a thing called Isolab. I don't know if that is a well-known program or not, but it's something we teach at school, and it's basically this grid, and there's a car in it and there are certain obstacles, and you have to write an algorithm to let the car reach a special end spot. Matt Stauffer: I want to do that now. Freek Van der Herten: And it's something to exercise things like loops, like memory, like and or not kind of stuff. And that are the first things that I learned to do. We also had a little bit of Visual Basic if you were ... I went into higher education, so we programmed things in Access. Access is this Microsoft database, where we had to program the streams and special reports and stuff like that, and I only got into programming, into real programming with computer languages, in higher education, where I got to learn C++ and COBOL. Things like that. Yeah, I learned COBOL. Matt Stauffer: Now, were you doing IT? Was it IT then, or were you specializing more in computer science? Freek Van der Herten: It was ... I don't know how you say it, how you translate that thing that I said it in English, but it's focused on practical IT. But it was in 1989 that I studied higher education, and yeah, internet wasn't as big like it is now. And we didn't have any lessons on HTML or the web. It was all on this enterprisey kind of stuff that we had to learn, like Java, like C++. Things like that. Matt Stauffer: Yeah. Huh. So when you say secondary education, do you mean when you were 18 years old, or when you were 14 years old? Freek Van der Herten: Secondary education, that's from 12 years old to 18 years old. Matt Stauffer: Oh, got it. Okay. Freek Van der Herten: And when you're 18 years old, you go to higher education. Some people go to ... Most people. Matt Stauffer: So even in 12-18 years old, you were able to specialize, 'cause in the US, in 12-18, you just do whatever they tell you to do. There's no specialization like that. Freek Van der Herten: Yeah, there are. Matt Stauffer: So you were able to focus on a certain track. Freek Van der Herten: Yeah, yeah. From 12 years old, or I think from 13, you can really pick your direction if you want to ... a language kind of education, a mathematical based education, an IT kind of education. So you can make a choice there a little bit. Matt Stauffer: Okay. And also did you ... Oh, go ahead. Freek Van der Herten: And of course, when you're 18, then you have much more choices, so they get you basically anything that you want. Matt Stauffer: Okay. So where did you go after secondary education, then? Freek Van der Herten: So, I did my secondary education in my hometown, which is a small town in the northern part of Belgium. But I always knew that when I'm going to higher education, I don't want to live at home anymore. I want to live by myself. All my friends were in that mindset. We're 18, we're going to move, we're going to get away from our parents, even though we all love our parents, it's not [crosstalk]- Matt Stauffer: Yeah, yeah. Freek Van der Herten: We're now grownups. Matt Stauffer: Yeah, yeah. Exactly. Freek Van der Herten: So I moved to the biggest city in the vicinity of my hometown, which is a city called Antwerp. Matt Stauffer: Okay, yeah. Freek Van der Herten: Where I've lived for a long time, and Spatie is still based here. And I went to school there, and I left home. My student life in the city of Antwerp. Matt Stauffer: Okay. That's actually one of the only cities I know there, so that's a good win for me. I'm nodding, I actually heard of that before, that's good. Go me. Freek Van der Herten: You should come to Antwerp, it's a beautiful city. You would enjoy it. Matt Stauffer: Oh, I would love to. Yeah. Freek Van der Herten: It's not that far from Amsterdam. Matt Stauffer: I said in the last podcast, once you get Americans over to Europe, we don't want to leave, because it's so expensive to get over there, which is why it was so crazy. I was there for Laravel Live UK for five days and then came home. But the next ... I'm trying to get my kids to the age where I can take them over, because once I have the whole family over there, I'll just work from there. It doesn't matter. So I'm hoping someday in the next couple years, we'll get a whole month and just go see everybody in the whole Laravel world, and just stay in everybody's town for a couple days. So Antwerp's on the list. Freek Van der Herten: Well, you're certainly welcome here. So do that. Matt Stauffer: All right. I won't get booted out of town, that's good. Matt Stauffer: Okay, so you went out ... So what did you study? Was it continued practical IT, or was it something different when you went into higher education? Freek Van der Herten: Yeah, that was practical IT that I studied. So that was more enterprise stuff, things that I learned there. Things like C++, like some math was still there. Things like analysis, how do you cope with a big, big project. And looking back at it, I really like what I was taught there, but a lot of the things that I learned there, after the years, I thought, yeah, what they taught me was a little bit wrong. Matt Stauffer: I was going to ask how you reflected on your education. Is there more you can say about that? Is there broad strokes you can make about what was good and what was bad? Freek Van der Herten: Yeah, so something that has really stuck with me is in one of the first lessons, I was taught, and I did it for years ... It's a very practical thing. A function can only have one return statement. And that fucked my career up so bad. Matt Stauffer: Yeah, I believe it. Freek Van der Herten: Enlightenment came only 10 years after. Hey, it's actually better to have early returns. But things like object calisthenics, I don't know when those ideas came, but they certainly weren't taught in school. So I'm skipping ahead 10 years now, but there was a time that I thought, man, I really wish that there were a few teachers back then that knew about the stuff that I'm learning now, because there is much more than the stuff that they taught me. Freek Van der Herten: It's not all bad. It's not all bad. They taught some good stuff as well. With the things I learned there, I landed my first job, which was something I didn't expect. I was a COBOL programmer for seven years or something like that, and I still remember when I was at the job interview, and they asked me, "So, what do you want to do?" And I said, "Anything except COBOL." And they gave me COBOL, and I did it for seven years. Freek Van der Herten: But it was kind of fun to do it. It was ... I worked for a major bank, maybe you know it. It's called ING. I think you have- Matt Stauffer: Yeah, yeah. I have, I used to have, or maybe still do. I don't know. For sure. Freek Van der Herten: I think they're operating in America as well, and yeah, I programmed COBOL there for the mainframe. Matt Stauffer: Okay, wow. Freek Van der Herten: So we did the financial stuff. So it was kind of important, what we did there. And I still look back very fondly to that period, because I had very good colleagues there, and we could do amazing stuff. Even with an old language like COBOL, we could really do some ... We really could program some nice solutions. And sometimes I miss the scale a little bit of programming in that way, because it's like, one-fifth of the country has an account on ING. Matt Stauffer: Yeah. Freek Van der Herten: And that's kind of fun to work on. Matt Stauffer: I know we're getting ahead of ourselves just a bit, but I asked this of J.T. as well. Programming in COBOL, and the programmers who have been in COBOL for years, and the patterns and practices you have are a little different, I imagine, than working with Laravel. Freek Van der Herten: Yeah. Matt Stauffer: Is there something, one or two things, that you experienced or learned during your time there that you think a lot of us that haven't had that sort of experience could benefit from hearing about? Any practices or any maxims or any sayings, or testing patterns or anything that you experienced there that you wish more people knew about? Freek Van der Herten: Let me think. One of the things that I already did at the time is testing a lot, but it was in an old way, so I can't recommend that. I think what sticks with me most from the time is not a technical programming thing that we did, but the team we did it with. The client communication between the team, and we were ... within the firm, we were one of the first groups that wrote standards for ourselves. We were going to name variables like this, we are indenting our code a little bit like that. We're going to use prefixes for that. We're going to use suffixes for that, which was really beneficial. And that's something we do at our company, at Spatie now as well. And that's something I think a lot of people could learn a little bit from, just some guidelines and be very, how do you say that in English, I can't remember, just where everything is always the same- Matt Stauffer: Consistent. Freek Van der Herten: Consistence. Keep consistence. Things like a dash or an underscore or when you case things. They seem like, hey, it's not important, but it's actually very important when you work in a team. Matt Stauffer: Yeah, I totally agree. Freek Van der Herten: Yeah, and that's something I picked up with working in a good team at ING. Matt Stauffer: Very cool. All right, so you got a job at ING right out of higher education, right? Freek Van der Herten: Yeah, yeah. Matt Stauffer: Okay. So what made you move, and where'd you move to? Freek Van der Herten: Well, that's a good question. So when I was working at ING for a couple of years, there were plans to split up the branch I was working in. So I worked in the insurance branch, and ING sold it off to another company. So it became apparent that our team had to split and had to move to different cities, and at the time, I didn't want to move cities. So I went for another job in Antwerp, another company that also does COBOL. But I was a little bit shellshocked there, at ING, because I had worked there for so long. I had this network of people, and I could get things done. I didn't have to follow the rules. I could cut some red tape. But at the new company, I didn't have a network, and it was so, so very frustrating for me that I couldn't get any things done. Freek Van der Herten: Now, at the time, I also had a friend of mine called Willem, and Willem, he just started this little company called Spatie- Matt Stauffer: I was going to say, I've heard that name before. Freek Van der Herten: Yeah, and he was doing everything by himself, and everything by himself. He programmed a little, he designed a little, he did all the client work by himself. And I'm sure it came up at a band rehearsal that we have, I really hate my job now. And then he said, "Yeah, would you want to program for the web?" Because I felt that he couldn't do everything by his own anymore. He was good in design but he didn't like programming as much, so he looked for somebody that wanted to program a little bit. Freek Van der Herten: But I wasn't certain at the time. So I did a couple of stuff for Willem first. But there's no way to sugarcoat this, because I was so bored at my job, I started just creating websites at my job itself, because I had basically ... This is the honest truth. They didn't give me enough work. So they gave me an assignment. Yeah, this is your assignment for a week, and after two hours it was done. So I reported to management, give me more work. And they didn't give me more work. So I started programming for the web and learning stuff for the web. Freek Van der Herten: And after half a year or something, I said, yeah, this is silly. I'm just working for myself at this job, so I just quit. And then I started working for Spatie. Matt Stauffer: What's your official role there right now? Freek Van der Herten: I'm, I guess, the lead developer there, although I don't like the term a little bit. That's what we tell people that we meet. Freek is our lead developer. So I still do a lot of programming day to day myself, but I also help my colleagues getting things done. I don't like thinking about the lead, with the term lead programmer. The thing that I don't like is this is the one that makes all the decisions and does all the code stuff, but I don't see that as my role. I have to help the other people getting their job done, so that's an important factor of the things I do day to day. Freek Van der Herten: And there's also a little bit leading the company a little bit, because I'm a partner there, so there's a lot of corporate stuff I need to do there as well. But the best thing is- Matt Stauffer: How many people are- Freek Van der Herten: The best days are the days that I can program myself. Matt Stauffer: Yeah. I totally feel you. How many people are on your team? Freek Van der Herten: Right now, it's seven people. Matt Stauffer: Okay. So the two of you. Is that five programmers, or are there any non-programmers on the team? Freek Van der Herten: There are now two non-programmers. Actually, we're at eight. We had a new hire two weeks ago. We're at eight now. Matt Stauffer: Congrats. Freek Van der Herten: We're with five programmers, one designer, and there is a project manager. So they handle client stuff. Matt Stauffer: Right, right. Freek Van der Herten: But our focus is in programming bigger Laravel applications now. So we started with smaller CMS kind of sites. But we moved on a little bit to the bigger things. That's also a story in itself, really. Matt Stauffer: Cool, yeah. Yeah, I don't know if we're going to have time for it, but I'm actually very curious about that story. But I have to pause this one time. Is there a sound at the end of the name of your company or not? Is it purely just Spatie? Freek Van der Herten: Yeah. Matt Stauffer: Cause sometimes I hear a little T, and sometimes I don't. Freek Van der Herten: No, it's Spatie. It's like, your pronunciation for Spatie is 10 out of 10. It's perfect, it's good. Yeah. Just Spatie. Matt Stauffer: Okay. Yeah. Spatie, okay. See, I was saying Spat-zie for a while, with a T. So Spatie (Spa sea). Freek Van der Herten: Spatie. Matt Stauffer: That's it. Freek Van der Herten: Yeah, yeah. That's perfect. Matt Stauffer: Okay. Now it's 10 out of 10. I got an 8 out of 10 the first time, you didn't even notice. Okay. All right, so I do want to talk about your relationship with the company, what kind of stuff you're all doing, 'cause I think that there's a lot of companies that do Laravel, and there's not a lot of companies that have public presence that are creating a lot of content and stuff like that. Matt Stauffer: And so I think what I want to know is, let's not even talk about the company yet. Let's talk about you. When did you go from being a programmer to a programmer who had garnered a reputation as someone who created packages and taught stuff? How intentional was it, what did that transition look like? What was Freek being a programmer who did web stuff to being Freek being a well-known teacher? What'd the shift between those look like? Freek Van der Herten: Well, it certainly wasn't intentional. I think now, six or seven years ago, we were still ... This was the time before we did Laravel. We were creating sites with Zend Framework 1. CMS kind of sites. And I remember getting a little bit bored with it, because at the time, the B2B world was becoming a little bit stale, I thought. This was also free composer. There was another ecosystem that attracted my attention, and it's really no surprise. That's Ruby, Ruby on Rails. Matt Stauffer: Rails, yeah. Yeah. Freek Van der Herten: That's a story I share with a lot of people in our community, I think. So I created a few Rails sites, and I thought, yeah, we're ready to jump ship off PHP. PHP is done. But then Composer happened and Laravel happened. So we started doing Laravel sites, and in Zend Framework, we had this whole CMS, a homegrown CMS build up, and I wanted to have that in Laravel. Freek Van der Herten: Now, I wanted to do it a piece at a time, and at the time, there was this guy called Jeffrey Way. He started Laracasts. Matt Stauffer: This little site. Freek Van der Herten: Yeah, this little site. Very small. And he put out a video of how to use Travis and GitHub together. And my mind was a little bit blown that you could just run your tests and see in the interface of GitHub if your tests were passing or not. And the lesson of Jeffrey was also around package development, and I thought, yeah, I want to do that as well. So I'm going to try to write a package. Freek Van der Herten: And I think one of the first ones was ... I think the Geocoder one, which was a wrap around the Geocoder service of Google. Or it was a Browsershot, maybe, which was a package that used PhantomJS to create screenshots of a web page. And I put that out, and some people liked it, which was mind-blowing to me. There's somebody here that did a pull request to fix a typo? Wow. This is really awesome. Freek Van der Herten: So I thought, yeah. I have to write another package. And when I took a look again at the Zend Framework 1 CMS, I saw, yeah, there's MailChimp in here. There's Google Analytics. There's something called the media library to handle assets. And I thought, yeah, these are all packages. Maybe I should package them all up for Laravel, so it wasn't planned, but I spent the next two or three years just doing that, putting that out. Matt Stauffer: Just repackaging, yeah, yeah. Freek Van der Herten: Just repackaging the old Zend Framework in code, Zend Framework 1 code, to modern packages with all the stuff I learned on Laracast. Freek Van der Herten: Now, at the same time, I was still the only programmer at Spatie, so we were only a three-man company. And we had an internal platform, something Microsofty, I can't remember the name, where we put interesting links on. And I was discovering so much interesting good content on the internet, and I'd post it there. But my two colleagues, the project manager and the designer, would say, "We're not interested in the deep programming stuff that you're putting there. We're interested in the ideas, but not in the nitty gritty details." Freek Van der Herten: So then I thought, hey, I'll just start a blog and I'll just put those things publicly on there. This is the stuff that interests me, maybe other programmers are interested as well. And with that combination, with starting a blog and writing about those packages, I guess, yeah. It picked up a little bit from there. People just liked the contents that was there, both my own stuff as the links that I shared. And yeah, it totally grew from there. Freek Van der Herten: But it certainly wasn't planned, like we were going to be well-known with this, that was the plan from the get-go. Matt Stauffer: Yeah. I noticed this initial commit on Browsershot is May 2, 2014. Freek Van der Herten: Yeah. Matt Stauffer: So four short years ago. Freek Van der Herten: Yeah, yeah. So yeah, I did a lot in the past few years. Matt Stauffer: Yeah. I think that it really helps to have some kind of structure to work along. The structure you're saying is, hey, you know what, I'm going to take this list of packages and I'm just going to work through them. And those sorts of structures that just give you something to work on next means you're never stuck asking the question, "Oh no, what do I do next?" You've always got something, you've just gotta make the time and put the effort in. Freek Van der Herten: Yeah, sure. And nowadays, actually the couple of past years, the most packages get born in client projects. So if there's a client project that's API-heavy, that we create some packages to make API development a little bit more easy in Laravel. And I also want to mention, because I'm talking about me here a lot, but now it sounds like that I'm the only one creating packages, but my colleagues do a tremendous amount of work on that as well. I want to emphasize that the open source efforts are a team effort, so it's not me alone. Although I'm the most known one, my colleagues, Brent, Alex, Seb, and Willem, do also incredible stuff out there. Matt Stauffer: Yeah. And actually, that's one of the things I was going to ask, because we're always figuring things out at Tighten ... We give everybody 20% time, so quite a bit of the work that's done at Tighten is done on those Fridays, but not all of it. Sometimes people are doing stuff on their own personal time. And you and I have talked a little bit in the past about what that looks like for you all, especially because you put out just such a prolific number of packages as a company. Are you able to make that much time available, or are people doing work at night? Matt Stauffer: So you and I have talked about it, but again, let's imagine that we have not. What does it look like for you, and what does it look like for the other people on the team, and how much of this stuff are you doing during the day job, and how many hours are you and the other folks working in the evenings, or nights and weekends, I guess? Freek Van der Herten: Well, for the company, we always plan the stuff that we need to do on Monday. We sit together and we say, "Hey, you're doing this this week. You're doing that this week." And we only plan four days. So for the fifth day, you can do whatever you want, but that fifth day, that isn't a separate day. It's like, the time in between. It's when you're bored with this project, yeah, go do something open source, write a blog post or write a package or whatever. Freek Van der Herten: So we have one day a week for everybody that can work on this open source stuff. Now, that's the theory, but yeah, in practice, packages get made in project time a little as well, because they're made for the project. Matt Stauffer: Right. Freek Van der Herten: So it's a little bit hazy, where to draw the line, a little bit. Matt Stauffer: Sure, sure. Freek Van der Herten: And I know that I spend a lot of time also open sourcing a little bit after the hours, because I like it. And sometimes, colleagues, when they have this good idea or a good vibe, I notice that they too do stuff in the evening, even though that's really not required to do so, it's really because they personally like-- Matt Stauffer: Yeah, just kind of excited about it, yeah. Freek Van der Herten: --just like doing this. And I think we've made so many packages now, it's really not such a big effort for us now to work on a package, because we know what the good things, the basic guidelines are for a good package. We know that have to have tests, we know that we need to have good documentation, we know how things like a service provider works. We have empathy enough now to imagine how people are going to use our stuff. So because we've done it a lot, it gets a little bit easier for us as well to do too. So people sometimes ask, isn't that difficult to invest so much knowledge and time in that? But I think for a company, it's kind of easy, because it has grown a little bit in our DNA. Matt Stauffer: Yeah, yeah. Freek Van der Herten: And if in a project, a colleague of mine says, "Hey Freek, should I package this up?" My default answer is, yeah, if you can do it, just do it. Take a couple of hours. Or if it's a bigger package, a couple of days extra, and just do it, 'cause we will benefit from it anyways. Maybe not because we are going to attract clients with it, but the programmer who made the package will become a better programmer. For Spatie it's good, because we have something in our package tool developed a little bit more. I always, when somebody takes an effort of making the package, I make sure that I mention the principal author of that package, which is not always me, also, on things. So everybody benefits with this. Freek Van der Herten: And I wish more companies would do this, 'cause if you take some time to do this, it isn't hard anymore. It just becomes part of your workflow to do this. Matt Stauffer: It's interesting, because at Tighten, we have a little bit of an inverse culture. People say, "Oh, we should make a package out of that." I'm like, "Are you sure that you want to maintain that for the next four years, 'cause if you don't, then don't make a package out of it." And I've actually talked people out of making packages, because I know that they don't yet understand what the cost of being an open source author looks like. Matt Stauffer: And it's not that I'm ever going to tell anybody no, but I am going to tell them, make sure that you know the burden that comes on. The moment people have this package in there, in their three years out of date app, what kind of customer support you're asking. And so I'm actually talking people out of it frequently, and what I'm more likely doing is when somebody says something interesting, I'm like, "Have you written a blog post about it? Have you written a blog post about it?" And quite a few people are like, "Yeah, Matt, I just put it on the list of 40 blog posts you're telling me I'm supposed to write. You have to start giving me more than one day a week to do these things." Matt Stauffer: But, no, I love your attitude towards packages. And one of the things that we've talked about in the past is we need all kinds of types. And for example, the packages we have at Tighten, there's only a few of them, and we maintain them back to Laravel 5.1. And one of the things you mentioned, is you say, look, we keep up to the most modern versions. And if somebody else wants to fork it and make an older version, then they're welcome to do so. Matt Stauffer: And so each group, each company, each author, has different things to contribute and to offer. And so I love the more people that are willing to make those packages, the more of a broad spectrum we have of people who are willing to participate in some way, shape, or form. There might be some company or some person who comes along, and their goal in life is to maintain all of Spatie's packages back to Laravel 5.1 or something like that, who knows. So each person is contributing a different thing to the community. Freek Van der Herten: Yeah, sure. Yeah, the cost of being a maintainer, it's a high cost sometimes. Matt Stauffer: Yeah, yeah. Freek Van der Herten: It's good that you make people aware of that. For us, we carry the load as a team, so everybody does a little bit of maintenance, and we have the pleasure of having a lot of people in the community helping us out as well. For every package there are a lot of contributors there, so, yah, I'm pretty happy where we stand right now. And I've also learned to sometimes just let it go, you know? Two or three or years ago I wanted to have the issue count as low as possible, and now I've learned that that really isn't important, if there's some more stuff to do, just leave it open. I'm not obliged at all to do this kind of work unless I'm very happy to do it myself, you know? Matt Stauffer: Yeah, for sure. Freek Van der Herten: And this idea that you should be happy with this kind of work—that's also where that idea comes from, that we only do the latest Laravel version, that we do the latest PHP version. Because this is what we use on our own project, and these are the versions we like working with. Nobody on our team liked working with the older Laravel versions. I'm not saying the older Laravel versions are bad or something, but we take the most joy from working with the latest stuff. So it makes sense for us only to do support for the later stuff in our packages as well. Unless it's very easy to support older things, then we do that as well, but we're also not afraid to just abandon an old package if we just don't like it anymore. No? It's not like anyone is going to sue us. Matt Stauffer: Yeah it comes down to the question of what do you feel obligated to do? And I think there's often a perception, right or wrong, that once you put that code out there, you're obligated to maintain it. And interestingly I see both sides of the issue. On the one hand, I don't think that you could be forced to do anything. On the other hand, I could imagine somebody saying, "Well, I can't." Matt Stauffer: We have a lot of clients who can't upgrade to the latest Laravel or the latest PHP, because they're stuck on whatever Red Hat releases and they're several versions behind, and they're saying, "Man I'd really like to use that new Spatie package but I can't." But at the same time, what's the inverse? You have to do something? No, nobody can force you to do anything. I have bounced back and forth a lot of times. And I think where I've ended up is just saying, nobody can be forced to do anything. Matt Stauffer: Each person needs to be honest about what they're planning to do, and also the world needs to allow them to change what their plans are if they change what their plans are. And as long as your not manipulating or tricking people. Then you're an open source contributor, who's putting work out there in the world. People can consume it, and if they're not happy with it, they can take the responsibility to fix it up. If they're not willing to take that responsibility to fix it up then it's kind of like well, you're getting free stuff. Don't look a gift horse in the mouth, is an American saying. Matt Stauffer: So I'm very sad because I have to go home to take care of my kids, but I can't leave just on that note because as always I ask people in Tighten what questions they have for you. I can't ask all of them because of my timeline. But I am going to at least ask you a few of them. So especially the ones that are the most esoteric. Number one, how many post cards do you get per month? Freek Van der Herten: We should get more. It's about, between 15 or 35. Something like that. Matt Stauffer: Your packages are postcard-ware. Which means basically, what you ask people to do is, if they use the package, consider sending you a postcard from where ever they're from. Freek Van der Herten: Yeah. Matt Stauffer: I assume that most people don't feel the pressure to send you 5,000 postcards if they use your package, but you probably should at least get one postcard from each user. So listeners, if you've ever used a Spatie package somewhere, consider going and buying a postcard from your local and going sending it. They've got a thing on their website about it, I'll link it in the show notes. But it sounds like that number should be a little bit higher, so let's all go chip in there to thanks them. Freek Van der Herten: Thank, Matt. Matt Stauffer: The next random question, I don't even know how to pronounce this, so I'm just going to read the words in front of my face. Did Romelu Lukaku deserve the golden boot? Freek Van der Herten: Yeah. I think he does. Or even Hazard. Matt Stauffer: Okay. Freek Van der Herten: Those are two football players if you don't know. Matt Stauffer: I have no idea at all. There's a lot of people taking care about this but I don't, so. Freek Van der Herten: I'm not that big into football, but I did watch for the world cup. That's when I'm interested in the Belgium team. Looking at Belgium matches this time, was really amazed what our player Eden Hazard could do. Did some amazing stuff. So that's your answer. Matt Stauffer: Several people asked this, but I feel like you're not going to have this list ready. So if you don't have this list ready, just say, "I don't have this list ready." Some people asked, what packages have you made that have been adopted into the Laravel core. Freek Van der Herten: I think none. Matt Stauffer: Oh really. Okay well that's a no list. Freek Van der Herten: Wait, there are none in the dependencies but there are that few were totally- Matt Stauffer: Absorbed, yeah. Freek Van der Herten: Inter locked with I think migrate fresh is one of ours. That Dale picked up on because we made it. And I think there is another one, where if you, in Tinker, use a class name that it can fetch the fully qualified class name. We packaged that up. Matt Stauffer: Yeah that was Caleb right? Freek Van der Herten: That was from Caleb. Matt Stauffer: Very cool. Alright, I didn't realize that got pulled into the core. Freek Van der Herten: Yeah, and that's in the core now, if you open begin session, and do one of the classes there, then it will try to get the fully qualified class name. Matt Stauffer: I like that, it's a joint Tighten Spatie effort. Freek Van der Herten: Yeah, cool. Matt Stauffer: Jose asks, which Artisan commands do you use the most? Freek Van der Herten: I think Tinker all day. All day I use Tinker. Matt Stauffer: Interesting. Freek Van der Herten: I have this package called Laravel Tail which can tail a log file. Matt Stauffer: That's the one that was pulled out of the old from the old Laravel right? Freek Van der Herten: Yeah, it was pulled out of Laravel, I don't know why. Because it was such a help. And I used it all day long. Matt Stauffer: I love it. Freek Van der Herten: Tailing stuff. Various make commands as well. So nothing too special there. Matt Stauffer: Alright, one last one. Marje asks, what was your most interesting challenge as a new developer? Freek Van der Herten: I think, getting to know the best practices in communities. It's so easy to adjust, to program a little thing, like a little PHP script, but how to do it well and how to structure it really well, that was really hard as a newcomer. To find good sources of information. And for PHP I know my way around. I know where I can find good stuff. I know where the people are. But if I want to get the feeling again, I know I can try to do some Elixir stuff or maybe even some JavaScript stuff and it's like I'm a newcomer all over again. Matt Stauffer: It's the difference between knowing how to do the thing and the best way to do the thing, right? Freek Van der Herten: Yeah, exactly. And it's comforting that in PHP, I have the feeling that I can be happy with the stuff that I write. I'm always learning of course. But it's difficult to have to in another language, because you're so familiar and it feels so warm doing PHP. But I have to force myself to do some other stuff as well. Matt Stauffer: Yeah, I hear that. Well, as always, I can tell, I can talk for hours on several of our subjects, but is there anything you wanted to cover that we haven't gotten to today? Freek Van der Herten: If I can make a shameless plug? Matt Stauffer: Go ahead. Freek Van der Herten: I launched my first software service project, a half year ago. It's called Oh Dear. It's like the best uptime tool out there. It can also detect mixed content, when your certificates will expire. Things like broken things, you will get notifications from that. It's something, I'm really proud of and you should check it out. It's ohdear.app. Matt Stauffer: Yep. And we will link all this in the show notes. I will make sure that is all available there. The pricing of Oh Dear, it's based on the number or sites right? Freek Van der Herten: It's based on the number of sites and nothing else. Matt Stauffer: Yeah, so your site can be massive. It can have 10's of thousands of pages and you're not going to pay extra for it. So, definitely check it out. OhDear.app we'll put this on the show notes, we're always down for the shameless plugs. You took your time to talk to us so, we got to show you some love. Freek Van der Herten: Alright, thanks man. Matt Stauffer: Alright, so if someone wants to follow you, where's the best place for them to go to do that? Freek Van der Herten: I think it's twitter, is a good way. So by having this @freekmurze it will be in the show notes as well I presume. Matt Stauffer: Yep. Freek Van der Herten: Or by murze.be where I talk about the package developments that my team and I are doing. And where I link amazing articles of others as well. So my blog and my twitter account, that are the best ways. Matt Stauffer: Love it. Thank you so much for everything you do for our community. Thank you for your time, I'm sorry I'm cutting us short, we can keep going but, look forward to seeing you soon and thank you so much for joining us today. Freek Van der Herten: My pleasure Matt, thanks. Matt Stauffer: Thank you. Bye bye.

The Laravel Podcast
Interview: Nuno Maduro, creator of Collision and Laravel Zero

The Laravel Podcast

Play Episode Listen Later Jul 6, 2018 35:06


An interview with Nuno Maduro, creator of Collision and Laravel Zero. Nuno Maduro Laravel Zero Collision Leiria Laravel Code Analyze aka Larastan AlumnForce Pecan Pie Laracon EU PeersConf Transcription sponsored by Larajobs Editing sponsored by Tighten Matt Stauffer: Welcome back to the Laravel Podcast, season three. Today I am interviewing Nuno Maduro. So hard to say. Creator of Laravel Collision, Laravel Zero, and lots of other open source goodness. Stay tuned. Welcome back to season three of the Laravel Podcast. I have another wonderful member of the Laravel community with me. If you follow me on Twitter, you'll know that I went out on Twitter and said, "Hey, I want to make sure that I've got people from various communities represented, and I already have a long list of people who I want to interview." Nuno was actually already on that list originally, but somebody pointed out, "Well, he actually represents at least one of the communities that you're interested ..." Because what I said is, "I've gotten a lot of people from America, and there's a lot of certain areas where I've got a ton of people from. I want to make sure that the other geographic communities around the world are also represented." This guy came up, so I said, "You know what? Let's take him. He's already on the list. Let's put him up at the top of the list and have an interview." First thing I want to do is, first of all, you're gonna say who you are, what you're about. You're gonna pronounce your name way better than I've been pronouncing your name, and the first question that I want you to also answer is, when you meet somebody in the grocery store, how do you explain to them what it is that you do? Nuno Maduro: Yeah. My name is Nuno Maduro. If I actually say to someone that is not from computer science, I would say that I work with computers, okay? Matt Stauffer: Okay. Yeah. Nuno Maduro: But basically I'm a web developer. I work with Laravel daily, so yeah. That's it. Matt Stauffer: Where are you from originally, and where do you live now? Nuno Maduro: That is a great question, because originally I am from Portugal. That is a small country in Europe. Right now, I'm living in Paris, France. Basically I spent my whole childhood in Portugal, my study over there, and now I'm living in Paris with my girlfriend, and yeah. That's it. Matt Stauffer: Is Paris easy to live in? Nuno Maduro: Paris is a completely different place from Portugal. People in Portugal have some kind of a slower life. You know what I mean? Matt Stauffer: Uh-huh (affirmative). Nuno Maduro: In Paris, people have like speed every single day. The difference is actually amazing. In Paris, you also have lots of transports, so to go to work, you actually spend one hour in transports going to work, and after work, you spend another hour getting home. The difference is quite over there on transports. Of course, the salary aspect is also quite different. In Portugal, you don't have the same amount of money after a month, and yes. I think those are the main differences. I don't have family in Paris, so that is also not that great, I think. Matt Stauffer: Did you live in a smaller city? Obviously smaller than Paris, but was it a smaller city when you were in Portugal? Nuno Maduro: Yes. Portugal, basically it has two bigger cities, Lisbon and Porto. In Portugal, I was living in Leiria. That is a smaller city, and yeah. I was there. I spent my whole childhood in Leiria. That is a small town in Portugal. Quite different comparing to Paris. Yeah. Matt Stauffer: Yeah. I just looked it up, and Portugal has a population of 10 million people. Nuno Maduro: Exactly. Matt Stauffer: Paris has a population of 2.5 million people. Nuno Maduro: Yeah. Matt Stauffer: There's definitely a little bit of a shift there. I've lived in both big and small towns in the United States, and even just between them, I notice a lot of the shifts that you're talking about. The bigger the city, the faster people move, and the more time you spend in transportation a lot of times as well. Nuno Maduro: Exactly. The most difficult part that I had when I moved from Portugal to France was the fact that I didn't speak French at all. Matt Stauffer: Oh, yeah. Nuno Maduro: Yeah. Matt Stauffer: That was actually my next question. How fluent are you ... How well do you speak French now? Nuno Maduro: Now I speak French great. I think I speak better French than English right now. Matt Stauffer: Okay. All right. Nuno Maduro: But at the beginning, I was speaking English all the time, and in Paris, there is not that many people that speak English. It was difficult, but after three, six months, everything went fine, because I eventually got forced to learn French. Matt Stauffer: Nice. Nuno Maduro: Yeah. Matt Stauffer: I want to hear these stories more, but we should start off by ... You know, I always want to make sure that before we get in your story, people know, why is it that I'm talking to you? Of course you're a very nice guy- Nuno Maduro: Thanks. Matt Stauffer: ... so that's one thing, but there's other reasons. Can you tell me a real quick kind of intro to ... Now, I definitely know that Laravel Zero and Collision are two of the biggest ones that you're known for, but are there any others, and could you give me just a really quick pitch for each of those? Nuno Maduro: Yeah. Sure. Basically, I spend all my time ... After work, I consider myself an open source package creator, and obviously the most noted packages I have created is Laravel Zero and Collision. Laravel Zero is kind of a micro-framework for building console applications. You can imagine Laravel for building web applications, and you can imagine Lumen for building APIs, for example, and Laravel Zero is for building just console applications. It's a very customized version of Laravel that have that specific purpose of building console apps. Collision was a package that initially I've built just for Laravel Zero, but due to the fact that Collision basically shows you beautiful errors when you are interacting with your app on the comment line, Taylor actually liked that package, so it got included on Laravel itself, on the Framework itself. Matt Stauffer: Yeah. Nuno Maduro: I also have small other packages on my GitHub account. Most of them are related to the console environment. Right now I'm working with a package called Laravel Code Analyze, though I'll probably change the name, but whole point of it is actually analyze your code and searching for bugs, or mistakes on your code. People at the beginning said it is impossible to do that, do all the magic on that systems, on Laravel, but I think I'm gonna make it right and make it work with Laravel. Let's see. Matt Stauffer: Nice. I think I remember seeing, it's based on a static analysis package for PHP, right? Nuno Maduro: Exactly. Matt Stauffer: You're not inventing it all from scratch, so you're able to just customize that, just for Laravel. Nuno Maduro: Yeah. Basically, I am writing extensions to make it, that package, make it work with Laravel. Make it understand Laravel behind the scenes. Matt Stauffer: Very cool. I know that you're also involved in the Laravel Portugal Podcast. Are you a host, or what's your actual role there? Nuno Maduro: I am the host of Laravel Portugal, yes. Basically- Matt Stauffer: Okay. Sorry, not podcast, meetup. Nuno Maduro: Yeah. It is a live show, a podcast, whatever. Matt Stauffer: Yeah. Yeah. Nuno Maduro: But basically, every Friday I get into that podcast with my friends, and we talk about Laravel PHP, and sometimes we bring actually long-time members of the Laravel community. You already have been there, and Taylor as well. It's great. I have a great time over there. Matt Stauffer: That's cool. What's your day job? It's AlumnForce? Is that still where you work? Nuno Maduro: Exactly. Matt Stauffer: What kind of stuff are you doing there? Nuno Maduro: AlumnForce is a company that builds social networks for many of our cities. You can see it like a small Facebook for each university, so a private social network. I'm working there as a backend web developer, mainly with PHP, Laravel, and also Microservices. Yeah. I think that's it. Yeah. Matt Stauffer: Okay. Cool. All right. We have a basic understanding of what it is you do day to day, some of the things that you do that you're known for, so let's get into the story of who you are, where you come from. You were born and raised in Portugal. I think you said it was called Leiria. Nuno Maduro: Leiria. Yeah. Matt Stauffer: I've already acknowledged to everybody that I'm terrible at pronouncing everything, so I'll already own that. Tell me a little bit about growing up. What was your first interaction with computers? What was your first time, your first actual time using a computer, and maybe the first time that you really started realizing that that was something that was special for you? Nuno Maduro: Okay. I must warn you, I don't have the most beautiful story, like most of your guests, okay? Matt Stauffer: Everybody's story is interesting. Nuno Maduro: Not mine. Let's see. Basically, I got my first computer when I was five. Matt Stauffer: Oh, yeah? Nuno Maduro: Yeah. Matt Stauffer: Wow. Nuno Maduro: When I was five, I got my first computer, but I can say to you that I didn't use it for programming or for coding. It was just for gaming, actually. Matt Stauffer: Yeah. Nuno Maduro: All my childhood- Matt Stauffer: What kind of games were you playing at five and six years old? Nuno Maduro: Oh, those memories, man. I was playing like ... I can't remember early games, but I remember that when I was like 10 or 12, I was playing Age of Empires, FIFA a lot. You know FIFA, right? Matt Stauffer: That's soccer. Nuno Maduro: Yeah. Matt Stauffer: I've never played it, but I at least know the acronym. Nuno Maduro: Exactly. Age of Empires. I can't remember, man, but I was mainly playing games on that computer. It was the same computer for 10 years, I think. It was great0t81es. Matt Stauffer: Oh, nice. That's awesome. Nuno Maduro: Yeah. Matt Stauffer: I just realized I call it "soccer." I'm sorry. Football. Nuno Maduro: Yeah. In Europe we call it football. Matt Stauffer: Yeah. Okay. You played games. Was it a desktop, I assume? Nuno Maduro: Yeah. A desktop. Exactly. Matt Stauffer: Okay. Age of Empires, I've never played, but I'm trying to translate time periods. You played a lot of video games. Did you have computer education in school at all? Nuno Maduro: No. Not at all. Only on university. Matt Stauffer: Okay. I assume you learned how to type at least playing the games and using the computer, but when's your first actual experience doing programming? Even anything as simple as building HTML or CSS? Nuno Maduro: Yeah. I can tell you that, when I was 18, I wasn't actually sure about the study, what I wanted, but because I liked games, I pursued computer science. Matt Stauffer: Oh, okay. Nuno Maduro: I knew it was stupid, but at the time that was my thought. Matt Stauffer: You figured, "Hey, I like games, so why not make them?" Nuno Maduro: No. I didn't know what to do, actually. Matt Stauffer: Oh, really? Nuno Maduro: Yeah. I have to be honest, man. Matt Stauffer: Yeah. Yeah. Nuno Maduro: At the time, I went to computer science, and there, when I was 18-19, I started to work with HTML, PHP, and everything. But I must tell you that I wasn't the traditional geek or super talented developer. I liked computers, but I think I preferred football or be with friends. Matt Stauffer: Is that still true today? Nuno Maduro: Not today. No. Matt Stauffer: Okay. When did that shift happen? Nuno Maduro: That is a great question. While I was on university, I actually started my first job. I was doing my master at night, and have a full-time job on the day, you know? Matt Stauffer: Wow. Nuno Maduro: At that time, again, I was making money, and that is great, but I wasn't actually passionate for programming and for coding, and I remember that I was working on the local company, and I was working with Code Igniter, and PHP. Matt Stauffer: Oh, okay. Nuno Maduro: A friend of mine, because we went to start a new project, and I was saying, "Okay, another app with Code Igniter." And the friend of mine told me, "Why just don't you use Laravel?" I was like, "What is Laravel? Is it a new programming language?" Matt Stauffer: Right. Nuno Maduro: "Is it framework? I don't have any idea." I went home, I Google it, and I eventually got redirected to Laracasts. The big turnover was with Laracasts, because I wasn't passionate, like I told you, but with Laracasts I was actually consuming four, five hours a day. Matt Stauffer: Wow. Nuno Maduro: I was 24, 25, so I was consuming Laracasts like four, five hours a day, like a drug. Crazy. Matt Stauffer: Yeah. Yeah. Nuno Maduro: I was still in Portugal at that time, and yeah. I think I can say that Laracasts was my shift. Yeah. Matt Stauffer: Huh. That's really interesting. I'm glad. Jeffrey's gonna hear that, and he's gonna love that. Do you think you could say something about it that is what made the shift happen? Was it the style of teaching, or was it being able to ... Is there something about Laravel, or something? Could you name what aspect of it that was hooking you so much? Nuno Maduro: I think it was the fact that everything was difficult before, and when I started with Laracasts, I understood that words like "solid design principles," everything that was complicated turns out to be easy with Laracasts. Matt Stauffer: Yeah. Uh-huh (affirmative). Nuno Maduro: The knowledge that I was consuming in such a short period of time, it was crazy, honestly. I think with Laracasts, I found my way of learning. That was super important. It was a big turnover, honestly. Matt Stauffer: That makes sense. Nuno Maduro: Mm-hmm (affirmative). Matt Stauffer: This episode has been brought to you by Laracasts. Just kidding. This is not a sponsored episode. I promise. That's really cool to hear, that you were able to find your way of learning outside of the context of Laravel, or Jeffrey, or anything else like that. Just you found a way that makes sense for you to learn. I think that you mentioned it wasn't even necessarily ... You didn't say, "Oh, this aspect of Laravel was what got me most excited." What is it that motivates you? Is it code that motivates you? Is it products that motivates you? In 20 years, do you want to be writing code? In 20 years, do you want to be running a company? Do you want to be making products? What motivates you most about working in tech? Nuno Maduro: Right now, I really like the aspect of learning. Becoming better every single day, actually, I really like that aspect. To be really honest with you, I also like the fact that people are using my stuff. Matt Stauffer: Yeah. Nuno Maduro: That's also the main reason why I built Laravel Zero, because it's not a package. It's a framework, so people will build stuff on top of it. I really like the feeling of people using my tools, my packages. I like the feeling of people heard about me on public speaking, for example, and that I think is the real motivation why I work hard every single day. Matt Stauffer: What is your dream job? Nuno Maduro: I don't have an answer for that. I think right now, I'm really happy about my current job and my current situation, because right now I'm doing remote work. I'm still in Paris, but doing remote work, and I'm really about my current situation. I work eight hours a day. At night, I have time for my own things, my packages, to read. I also go a lot doing Crossfit. Do you know Crossfit? Matt Stauffer: Yeah. Yeah. Nuno Maduro: Yeah. I'm doing a lot of Crossfit at night as well. I think I'm really happy about my current state. Matt Stauffer: Awesome. Nuno Maduro: Of course I would like to be rich, but yeah. Matt Stauffer: Sure. Sure. But the day to day experience of working the type of job you have right now is something that you really enjoy? Nuno Maduro: Yeah, exactly. Matt Stauffer: That's very cool. All right. Let's go back to early days. You were five years old. You had a computer. You were playing video games. Your first exposure programming was primarily in university. Did you have any classes at all? Did you even learn typing in school, or was there literally no tech of any sort in school prior to university? Nuno Maduro: Prior to university, I didn't have any interaction with computers at school. Matt Stauffer: Wow. Okay. Nuno Maduro: Yeah, because I actually, on college, I was doing the mathematic course. You know what I mean? Matt Stauffer: Mm-hmm (affirmative). Nuno Maduro: We didn't have actually access to computers at my course. So the only computer I'd interact with was my home computer, and it was for gaming mainly. Matt Stauffer: Yeah. What age is ... Because I don't always know how every different country handles it. At what age were you in college, and what age did you enter in university? Nuno Maduro: 18. Matt Stauffer: 18 for college? Nuno Maduro: No, no, no, no. Basically, to college, I think it is 13, I think. Matt Stauffer: Okay. Nuno Maduro: And when you are 18, 19, you go to university. Matt Stauffer: Okay. I don't know if you're familiar with the American concept of high school, but if you are, is that similar to what college is for you, or no? Nuno Maduro: I think so. Yeah. Matt Stauffer: Okay. Got it. Makes sense. All right. When you were in college, you did specialize a little bit. You said you specialized, so you kind of picked a subject to focus on in college, or no? Nuno Maduro: I think, yeah. College for me, it's like high school for you, so at that time I was, yeah. It was mathematics, science, but I didn't like it at all, as well. Matt Stauffer: Yeah. Nuno Maduro: Like I told you, I wasn't the traditional geek, or something like that. I just preferred to be with friends, so I didn't specialize in something, something concrete. Matt Stauffer: Okay. Outside of computers, outside of ... Wait, do you still play video games? Nuno Maduro: Yeah, a little bit. Matt Stauffer: What are you into most right now? Nuno Maduro: League of Legends. Do you know? Matt Stauffer: I know it's about superheroes, right? Nuno Maduro: Exactly. It's really, really cool. I play a lot of League of Legends. Yeah. Matt Stauffer: I was into video games a lot until I moved away for ... Actually, I played some video games in college, or in university for me, but after that, I haven't played anything at all, so I hear about them through friends. I know I'm older than you. I don't know by how much, but when I was in college, we were playing Half Life 2- Nuno Maduro: Oh. Those times. Matt Stauffer: ... to give context to that. Nuno Maduro: Yeah. I also have played Half Life 2. Matt Stauffer: Nice. Nuno Maduro: I probably finished the game more than once. It was great. Matt Stauffer: Nice. Yeah. It's worth it. Nuno Maduro: I was actually, when I was in high school, I actually made a lot of sports, so if you type "Nuno Maduro football," you will find me, and I was actually doing a lot of sports at that time. I really like football. Matt Stauffer: Okay. That was actually my next question, where I'm going, is, outside of Crossfit, outside of computer programming, and outside of video games, what's the thing that you do that gives you the most joy in your life? What do you enjoy the most? Nuno Maduro: Oh, I don't want to be ... I think I really like to be with my girlfriend as well. The weekend, for example, I am always with my girlfriend. Like, the complete weekends. Matt Stauffer: Yeah. Nuno Maduro: Saturday and Sunday, I spend all the day with her. I go into the cinema, shopping, a lot of shopping. Yeah. Being with my girlfriend is probably one of the things that I really like to do. Matt Stauffer: Okay. What do you think that is the most underappreciated or under-known aspect of writing a good application in Laravel? What do you look at the Laravel community and say, "If only everybody else knew this, their lives would be so much better"? Nuno Maduro: I think the community aspect is probably one of the biggest points of Laravel. I believe that people underestimate the fact that Laravel have a great, great community. We actually helps a lot of each other. I can tell you, for example, Laravel Portugal Slack, we talk every single day about ... We ask for opinions for ... We have questions. On Laravel Portugal, for example, we talk about a lot of work. With the international community, for example, on Twitter, I use it a lot as well. I learn a lot with the Laravel community, and I think that is one of the strong points of Laravel, I believe. Matt Stauffer: All right. One of the things that I always do when I'm gonna interview somebody on the podcast, I ask people in the Titan Slack, "What are some questions you want me to ask?" And it's always funny, because some of the people know the person I'm gonna be talking to, and so they say, "Oh, I've always been interested in this thing." Some of the people don't, and so they just throw out random stuff. "If you had to choose, would you prefer cake or pie?" Nuno Maduro: Pie. Matt Stauffer: Pie? All right. Taking it further down the road, which pie? Nuno Maduro: Raspberry pie? I don't know. Matt Stauffer: What, you're not sure? All right, so raspberry pie. Nuno Maduro: Yeah. Matt Stauffer: Is that a programmer joke? Raspberry Pi? Nuno Maduro: Yeah. I think, yeah, it's a programmer joke. Matt Stauffer: Really, if you had every different pie that has ever existed in the history of the planet, right sitting in front of you, which one would you pick? He's totally Googling pies right now to find a picture of all the different options. Nuno Maduro: Yeah, honestly. I really like chocolate. I like chocolate. Matt Stauffer: Okay, so straight chocolate pie? Nuno Maduro: I would probably choose ... Yeah. Yeah. I would probably choose like a black chocolate pie. Matt Stauffer: Wait, black chocolate? Nuno Maduro: Yeah. Matt Stauffer: The only time I've ever heard black and chocolate in the same term is when they're talking about, like, German. Is that the type you're talking about? Nuno Maduro: I don't know. Actually, I don't know if it is in the States, I believe so, but there is different types of chocolate, so you have like the most- Matt Stauffer: Oh. Oh, oh. You mean like a less milk, more dark? Nuno Maduro: Exactly. Exactly. Matt Stauffer: Yeah. We call it "dark chocolate." Yeah. Yeah. Yeah. Nuno Maduro: Okay. Dark chocolate. Matt Stauffer: Got it. Okay. All right. A dark chocolate pie. Okay. Have you ever had pecan pie? I think it's probably a very American thing. Nuno Maduro: Never heard about it. Matt Stauffer: Do you know what a pecan is? Nuno Maduro: Nope. Matt Stauffer: It's a nut. P-E-C-A-N. Yeah. Go Google that. I'm from a place in America where they don't have those, and I moved for school to a place, the south, where they do have them, and I live very close to where they all are. They make this pie that is essentially just like sugar and some kind of gelatin, and then pecans, and then the crust. That's basically the whole thing. I don't even know if it's suspended in corn syrup or something like that. You're just basically eating, like, pecan-flavored sugar mush, and it is one of the greatest things I've ever had in my entire life. If you ever get a chance to try that, you should. Nuno Maduro: Yeah. I'm gonna save it, man, to show it to my girlfriend, maybe. Matt Stauffer: Very nice. All right. More questions for you. Next question for you is, "What advice do you wish you had gotten when you first got started programming, and what advice would you share with new developers today?" Kind of the same question. Nuno Maduro: Yeah. Yeah. It's a great question. I think the most important thing to new developers is definitely, "Find your way of learning." Because it was the turnover for me, and I think if I knew that earlier, in my early days, I will be even better right now. Another thing that I consider also super important is the fact that you should open your ... Expose yourself to criticism. I can give you an example of open source, for example. Due to the fact that you do open source, you are actually exposing implementations, exposing your way of coding, and you are actually receiving criticism for free, you know? Matt Stauffer: Right. Nuno Maduro: You are understanding what are your weakest points for free, and you can evolve really quickly doing open source. I think, yeah, finding your way of learning, and also expose yourself to criticism, is two key points of being a better developer. Matt Stauffer: That's good stuff. I like that. What prompted you to move to Paris? Nuno Maduro: Great question. At the time ... Actually, my girlfriend, she's French, okay? Matt Stauffer: Okay. Well, that can do it. Nuno Maduro: Yeah. She was in Portugal with me, but she always liked France, and when I was in Portugal, I had the feeling that I had to move to a bigger town, because I was a software developer, and after my first job, I had the need, actually, of moving to a big town. Since my girlfriend really liked Paris, and I had that need, we choosed Paris because of this reason. Matt Stauffer: Got it. Yeah. Nuno Maduro: Yeah. That was the big- Matt Stauffer: You wanted to be somewhere big, and she wanted to be back in France, and it was kind of a good spot for both. Nuno Maduro: Exactly. That, it's, exactly. Matt Stauffer: Yeah. Yeah. Nuno Maduro: I'm right in Paris for two years, three years now. Matt Stauffer: Okay. It's funny, because I know you live in Paris, and a lot of my questions are there, but I also am sort of interviewing you as a representative of Laraval Portugal, so I also got some questions there. Let's say ... At least for Americans. I don't think this is probably true for most Europeans. For a lot of Americans, we know about Portugal either because of soccer or football, or honestly because there's a lot of overlap between American and Brazilian cultures. There's a lot of Brazilians in the US, and our economies and cultures are often very similar. We learn about Brazilian Portuguese. Obviously, that's just a language. It's not even necessarily exactly the same language. Let's assume that people who are listening don't know much about Portugal, about the people, the culture, the food, the country. If someone were to visit Portugal, where should they go? What should they see? What should they experience? What would you want them to know? Prepare someone to go ... First of all, prepare them, and second of all, sell them. Why should someone come to Portugal? Tell me about it. Nuno Maduro: Yeah. I have to say that I really love Portugal. Every time I'm on vacations, I go to Portugal. Matt Stauffer: Yeah. Yeah. Nuno Maduro: Most of because of my family, of course, but basically because I really like the country itself. Starting things off by the food, the food is just crazy. Everything is like homemade, you know what I mean? Matt Stauffer: Yeah. Nuno Maduro: It's really, really good. Each small town in Portugal have his own way of doing food. You can basically pick your car and eat different stuff every single town. It is really great. Matt Stauffer: Okay. Nuno Maduro: Something that I really like as well is the beach. Portugal is near the ocean, and you have beach all the time. Matt Stauffer: Very nice. Nuno Maduro: Yeah. Very, very nice. The weather is also magical. Yeah. In summer, for example, I'm always on the south of Portugal. Everything is not expensive, and I really enjoy those moments, to be honest. Matt Stauffer: Huh. Nuno Maduro: Also, the people. The people have a ... Like I told you at the beginning, people have a slower life. I don't know if this represents what I am exactly trying to say, but people are not that depressed, for example, comparing to Paris. You know what I mean? Matt Stauffer: Mm-hmm (affirmative). Nuno Maduro: Not that stressed. That is also really good, because people are all the time smiling, for example. I don't have that in Paris. You know what I mean? Matt Stauffer: Yeah. Nuno Maduro: Yeah. Matt Stauffer: Do you get the sense that people in Europe understand that Portugal's a nice vacation destination? Nuno Maduro: Yes. More and more, to be honest. Matt Stauffer: Yeah. Nuno Maduro: People are actually trying to go to Portugal when vacations comes up. Just to go to the price of going to States, come from States to Portugal, I remember that I checked the prices to go to Laracon West, and the price of the tickets just for the plane itself, it was 2,000 Euros. Matt Stauffer: Yeah. Yeah. Nuno Maduro: It was super expensive, man. It was like, "I just can't afford this." Matt Stauffer: Yeah. Nuno Maduro: The conference ticket was the last ... It was the cheapest. Matt Stauffer: Yup. Yeah. Nuno Maduro: Being there, and the price of the tickets was the most expensive. Matt Stauffer: Yeah. I mean, for Americans, I know a lot of what we do is, you save up for a long time, and then you pay for that expensive ticket, and then you stay in Europe as long as you can, and just go see everything around there. Because once you pay to get over the ocean, you don't want to have to do that too often. Nuno Maduro: When was your last time on Laracon EU? Matt Stauffer: I wanted to go this year, and it overlaps with my son's birthday. I wanted to go last year, and I think it also overlapped with my son's birthday. Maybe the year ... This is 2018, so maybe 2016? But I'm not actually 100% sure. That's a really good question. It's been a while. Nuno Maduro: Anyway, did you enjoy it? Matt Stauffer: Oh, Laracon? Oh, it was amazing. Amsterdam is beautiful. Shawn knows how to throw ... Shawn and company, they know how to throw a really incredible conference, and I got to meet so many people that I'd known just over Twitter. Laracon EU was actually the first Laracon I ever spoke at, so my first conference I ever spoke at was PeersConf in the US, and then soon after that, Shawn gave me a spot being the opening talk at Laracon EU, even though I had never spoken at a Laracon before. Nuno Maduro: Oh, you are lucky. Matt Stauffer: I have a lot of love for Laracon EU, and every year that I miss it is a sad year for me. Nuno Maduro: Yeah. Amsterdam is beautiful. Matt Stauffer: Oh my gosh. Amsterdam is amazing. Nuno Maduro: Anyway, year. Laracon EU is moving next year. Matt Stauffer: Is it? Nuno Maduro: Yeah. Matt Stauffer: That makes me kind of sad, because I love Amsterdam, but I'm sure it's a good thing so that I can kind of try a new place. Have they said where yet? Nuno Maduro: Yes. It's a nice opportunity to visit another places in Europe. No. I think Shawn have made a poll on Twitter or something like that. Matt Stauffer: Oh, okay. Nuno Maduro: He is eventually deciding another place to go. Matt Stauffer: Very, very cool. Yeah. I have very little interaction on Twitter these days. I'm hoping that will change soon enough. All right. Since we're getting long on time, I want to see, are there any things that you wanted to have the opportunity to talk to people about, to share about, that you wanted to make sure we covered today? Nuno Maduro: Yeah. Basically, I'm working on the new package that I think I told in the beginning of the episode, called Larvel Code Analyze. That package, we're probably gonna have another name, but the whole point of it is actually to catch bugs and mistakes on your code, and I think it will be a really kicker for Larvel, because you can integrate that on your continuous integration, for example. It returns, like the exit code will be green or red if you have mistakes or not. I think the package will be really, really great, and I can't wait to realize it. Matt Stauffer: Yeah. I'm very excited. I saw you Tweeting about it a little bit, and I got excited. I mean, anything that allows us to have less problems in our code is great, but this almost seems like it comes for free. Nuno Maduro: Yeah. Matt Stauffer: Because it's not even like writing test. It's just static analysis, and so- Nuno Maduro: Exactly. Matt Stauffer: I'm very, very excited to see what you do with that, and I'll make sure to put show links. Nuno Maduro: Yeah. It goes even deeper than PHPStorm, for example. People used to compare that with PHPStorm, because PHPStorm itself have some static analysis, but it is not even compared. It will show up every single mistake on your code. It's just great. Matt Stauffer: Very cool. I'm very, very excited to see it. If people ... Oh, go ahead. Go ahead. Nuno Maduro: I have a suggestion, actually. I would like to ask you when you will be the guy on this side? Because I think- Matt Stauffer: Oh, when am I gonna get interviewed? Nuno Maduro: Yeah, because I think since the beginning of this season, or actually all seasons, you never got to have the opportunity of being interviewed, so we don't know as much of your backstory. I think it's a good suggestion, no? Matt Stauffer: Well, thank you. A few people have asked that. I think the biggest question is, I just gotta figure out who's willing to do it. I mean, I've said for a long time that I think that Adam is one of my favorite podcasters of all time. I might have to just kind of see if I can kind of twist his arm into doing that for me one day. Thank you for bringing it up. I will be in the hot seat one day. That's a good reminder. Is there anything else you want to talk about today, or do you feel like we covered most of what's on your brain right now? Nuno Maduro: Yeah. I think we covered the most. Matt Stauffer: This was a ton of fun. I really appreciate you spending some time to talk to me about your packages, and also about your story a little bit. You said you didn't have an interesting story, but I think that if everybody tells the same story, it would get boring, honestly. I mean, if I just interviewed 20 people and every single one of them said, "I got a computer at 13 that I, blah blah ..." Even Neil's story, which was one of the most interesting ones I've ever heard, if everybody said that same story, it would be boring. I love it. I love hearing different ways about people, and I mean, I don't know a lot of people who are programming today who had a computer at five. I think that's pretty fascinating. Nuno Maduro: Yeah. For gaming, anyway. Matt Stauffer: Thanks for sharing all that stuff. Yeah. Hey, it's a computer still. Nuno Maduro: Yeah. Matt Stauffer: Thank you for sharing all this. If people want to follow you, what's the best way to follow you? Nuno Maduro: On Twitter. Matt Stauffer: All right, and what's your Twitter handle? Just say it out loud. Nuno Maduro: Let me- Matt Stauffer: Gotta remember your own Twitter handle? Nuno Maduro: Yeah. Just type "Nuno Maduro" on search on Twitter. Matt Stauffer: It's @ENunoMaduro, right? Nuno Maduro: Exactly. Matt Stauffer: Yeah. Exactly. I like the way you say it a lot better, just because it kind of rolls off the tongue, like "Nuno Maduro." Nuno Maduro: Nuno Maduro. Matt Stauffer: All right, well Nuno, thank you so much for your time. It was a total pleasure talking to you. Nuno Maduro: Thanks for having me.

The Laravel Podcast
Interview: Samantha Geitz, Senior Developer at Tighten

The Laravel Podcast

Play Episode Listen Later May 22, 2018 45:05


Interview with Samantha Geitz, Senior Developer at Tighten Logo Samantha's React series on the Tighten blog React preset Doejo Wordpress VIP Automattic PackBack PackBack on Shark Tank Editing sponsored by Larajobs Transcription sponsored by Tighten Matt Stauffer: Welcome back to the Laravel Podcast, season three. This is the first time we'll be talking to a member of the Tighten team, senior developer Samantha Geitz. Stay tuned. Matt Stauffer: All right, welcome back to the Laravel Podcast, season three. Like I mentioned in the intro, for the first time ever, I have dipped into the local pool, because I think that the people who work at Tighten are great, because otherwise, they wouldn't work at Tighten. I think they're all fantastic, but I've been trying to avoid nepotism, and if you're not familiar with the concept of nepotism, it's when somebody basically makes their whole ... their family and friends in power, so basically Donald Trump personified. That's nepotism, so I've been trying to not be a nepotist, but at the same time, I mean, there's great people who deserve interviewing. Matt Stauffer: I figure we're going to start with Samantha Geitz, who is one of our two senior developers; Samantha and Keith are our senior developers, and you may have heard of Samantha before, but before I go into her backstory and who she is and what she's about, the first question I always ask everybody is, when you meet a random person in the store, how do you tell people what it is that you do? Samantha Geitz: There was a really long period of time where I said, "Well, I'm a software engineer," because it sounded really fancy and I kind of needed that validation. Matt Stauffer: Right. Samantha Geitz: I've gone back to "I'm a developer," and they ask what that means, and I say, "I build websites, and some of which you've probably used," and I list them off, and usually they kind of glaze over about halfway through, and/or say, "Oh, my company's hiring. Do you use .NET? You should come work for me." Matt Stauffer: Right. Samantha Geitz: I've steered away from software engineer, unless I'm talking to a real engineer, because they get really mad and it's hilarious. Like, "You haven't taken certification." Matt Stauffer: Basically whatever trolls the best. I tell people I make websites, which drives my wife nuts, because she's like, "You don't make websites, you run a company." I'm like, "I don't like telling people that when I first meet them, because then it sets certain expectations." The more that people underestimate me when they meet me, the happier I am. Samantha Geitz: I was going to say I guess it's true- Matt Stauffer: Oh, go ahead. Samantha Geitz: I actually don't make very many websites for Tighten anymore, I'm a PM/therapist/wrangler. I do a lot of hand-holding, talk about feelings a lot. It's a great job. Matt Stauffer: That is basically what we do at Tighten. We just use code as the excuse for that. Samantha Geitz: We talk about feelings a lot at Tighten. Matt Stauffer: Yeah, yeah. Okay, Samantha first came onto the scene, when I knew who she was, when she was speaking at Laracon US a couple years ago in Louisville. I don't even know what year it was, 2015 or 2016, 2015, something like that? Samantha Geitz: 2015. Matt Stauffer: And speaking about microservices. Samantha Geitz: It was the new hotness at the time. Taylor introduced it as the most anticipated talk at Laracon right before I walked on stage, and I was like, "Ooh. No pressure." Matt Stauffer: No pressure, and the funny thing is I don't think you've done any microservice work since you've started at Tighten, right? Or have you? Samantha Geitz: I have not. No, but you also hate microservices. I'm surprised you hired me after that. Matt Stauffer: I hate them a little bit, yeah. Samantha Geitz: Yes, we like this girl's ideas. Matt Stauffer: Yeah, well ... What we liked was the way that you think. That's not necessarily the microservice aspect. Not saying there's nothing good about microservices ever, but it's not ... they're overblown a little. But anyway, you gave that talk. Everyone said, "Wow, who's this Samantha Geitz, she's great." Soon after we open up a job posting, you apply. It was great. That's not the point of this story, but now you're a senior developer, like you mentioned. Day-by-day you write some code, you review some code, you write blog posts a lot. You wrote a three part React series, that has basically taken the internet by storm since it existed, which you keep updating and I'll put a link to that in the show notes. You are one of the lead React thinking people in the Laravel world. You're the one who contributed the React preset to Laravel. That's one area you're known a little bit. Matt Stauffer: If you haven't heard of Samantha before, go read a couple of her blog posts on the Tighten blog. Go check out the React preset. Go check out a React series. Even if you know React already, it's a really good broad level introduction. That stuffs all great, but that's not what this podcast is about. This podcast is about people. Matt Stauffer: The next question I always ask everybody is, when was the first time that you interacted with a computer, and tell me about it. Samantha Geitz: Well my dad had a computer science background. When I was really young, like five maybe, we were using Logo to build tic, tac, toe and obviously I was not writing much of the code at age five, but I sat with him when he did it and it sparked an interest, but as I grew up, I always thought computer science was A, for boys, B, involved a lot of math and even though I'm technically good at math, I did well on the GRE in math, I just thought I was bad at math and I can go into all the feminist reasons about that on Twitter if anyone's interested, we don't need to spend the whole podcast. I want to get on my platform and talk about it. Matt Stauffer: Right. Samantha Geitz: I didn't really take computer science seriously as a career. I had built some websites and stuff in high school in Joomla. I'm dating myself here, but my last semester of my English Literature degree, and fun fact, if people don't know, both Matt and Dan are also English majors, so Tighten's got a very strong liberal arts background. Matt Stauffer: It's true. Samantha Geitz: I took a computer science course as an elective because it was literally the only thing that fit into my schedule and I was the only woman in the class and walked in. I immediately got picked out by this professor, who was a very nice man, but also this old Eastern European man. Caught me after the first day and said, "Oh, if you need extra help let me know." And within three weeks I was tutoring a quarter of the class. Samantha Geitz: Well I had realized by that point, because my background was in English Literature but I wanted to be an English teacher and got through all of my English Literature course work and then started the education component and said, "Oh, no. I hate teenagers. This is going to be awful." Yeah, when I took that computer science course, I said, "Oh, cool. So this is what I want to do when I grow up." Went back to grad school and got a masters in information science and I guess the rest we will probably cover in future questions here. Matt Stauffer: We will, but I have so many questions. I have so many questions. Your dad, computer science. You're five years old, making tick tac toe in what? Samantha Geitz: Logo. It's a programming language where you move a turtle around the screen. Matt Stauffer: Logo. Samantha Geitz: I think it's like Scratch. This was almost 25 years ago. Matt Stauffer: Oh okay. Samantha Geitz: I couldn't tell you a lot of the specifics. Matt Stauffer: Yeah. It's just funny. This is the first time anybody's ever mentioned something I've never even heard of before, programming language wise. Okay, but it was focused on kids learning? Samantha Geitz: I think so yeah. I know my dad had probably C and basic and I don't even know what. He's now trying to learn Laravel. I have two brothers who are Laravel developers and my dad has decided he wants to get into that life too. We have a Slack channel where he posts questions and it's fun. Matt Stauffer: That's awesome. Tell me that he has a copy of my book, please? Samantha Geitz: He does not ... No, he does. Matt Stauffer: I will mail him one. Samantha Geitz: It's in a PDF. I sent him a PDF. Matt Stauffer: Okay I was going to say, I will mail him one. Samantha Geitz: Sign it. Matt Stauffer: Jeez. Okay. Yeah, definitely. Okay, you did Logo. Was there much computing? Were you on Instant Messenger and stuff like that in between that time and when you were in college? Or were you not a computer person during that time? Samantha Geitz: Oh, I was PC gaming master race from a very, very young age. Matt Stauffer: Okay, so you've been sitting on ... Yeah, you totally skipped that part of it. Let's talk about that. Samantha Geitz: That's how I win typing challenges. Yeah, no. I had a computer in my room from the time I was in eighth grade. Yeah. Oh, I got into all sorts of shenanigans in Instant Messenger and stuff. I was 10, cat fishing people. Matt Stauffer: Oh my goodness. I didn't even know what that word meant until college. Samantha Geitz: ASL, 18 female California and I'm 10 years old. Matt Stauffer: Oh my God. Samantha Geitz: This is a family friendly podcast so we don't need to get into that. Matt Stauffer: There you go, we'll just keep it there. Cat fishing. Go Google it, it's a type of fish and it is a ... nevermind, I'm not even going to go there. Matt Stauffer: Playing video games, did you build your rigs? Computers? Samantha Geitz: Oh yeah. Still do. Matt Stauffer: Still do? I didn't know that. Samantha Geitz: Have you not seen this. Matt Stauffer: I have not seen this. Samantha Geitz: I'm turning my camera so Matt can see my rig. Look at that bad boy with a cat on it. Matt Stauffer: You should take a picture of it without a cat hanging ... or with the cat hanging over it so we can put a link in the podcast. In the show notes. Samantha Geitz: I've got the clear panel on the side so you can see ... Yeah, I've got some good hardware in there too. I've had a $900 graphics card in there. Matt Stauffer: Geez. Okay, you learned that stuff from your dad. Computer science. You cat fished people when you're 10 years old. You built your own PC's and you're playing video games. Was there anything formal before you went into college? Was there anything outside of you doing it on your own, or was this more like you had the interest and you did all the stuff? Obviously you said at age 10 you had interest access, or was this bulletin board services? Samantha Geitz: I did have internet access and yeah, I would be on various forums and stuff, but when I was 15 I think, I also, English background, dabble in writing, surprise, surprise. I ran a writing community website that I built on Joomla, I don't wonder what form software I used. Simple core maybe. Matt Stauffer: Okay. Samantha Geitz: It was completely hacked together. There was a little bit of PHP, but it was a lot of just customizing templates and stuff, which for me was a very different thing than, "I'm going to go get a computer science degree and do the calculus I guess, because that's what computer science is." Right? Matt Stauffer: Right. Well and that was my next question actually, is at what point did you actually write a line of web based codes? You mentioned you did Logo, so you had coding from age five, but when do you actually write web code? Samantha Geitz: That would have been high school. Matt Stauffer: Okay. Samantha Geitz: It was probably undergrad years. Matt Stauffer: There's no classes for it. You were just view sourcing around on the internet and figuring it out as you went? Samantha Geitz: Yeah, it was a lot of, "I'm done loading this template and making it look the way I want it to look and I don't really know what I'm doing." I was not doing anything too complex. Matt Stauffer: Right, just FTPing it up to some kind of general shared host? Samantha Geitz: Yeah, it was all FTP. Matt Stauffer: Okay, all right. Samantha Geitz: Very much hacking my around. I did not have a solid grasp on it where if someone could have probably paid me and gotten good work out of it. At our peak we had about, for the writing website, maybe 250 active members. Matt Stauffer: Nice. Samantha Geitz: It wasn't too small time for someone who was 15. Matt Stauffer: Yeah, speaking of people paying you. What was the first dollar you made making websites, or making any code actually for that matter? Samantha Geitz: That would have been in grad school. I did some freelance work because I very quickly realized that my grad program, we did some programming stuff but it was Flash in 2012. Matt Stauffer: Right. Samantha Geitz: I very quickly figured out that I was not going to be learning the sort of things I could go get a web development job for. I was working when I started grad school in admissions at the University of Missouri Graduate School and trying to do that and full time masters program, and self-teach was just too much. I took a risk and quit my job and just made a living for the rest of grad school freelancing. That would have been ... I think my first client paid me three grand for a pretty complex WordPress site. Matt Stauffer: Yeah, I was going to ask was tech stack were you doing most of that freelancing in? Mainly WordPress? Samantha Geitz: It was pretty much all WordPress in the freelancing and then I was self-teaching Ruby on Rails. Matt Stauffer: Did you do the front ends of those or did you use templates mainly? Samantha Geitz: I did a lot of child themes so I used Genesis or something and then build themes based off of that. Matt Stauffer: Yeah, okay. You had at least front end capability. You probably knew CSS and jQuery, JavaScript all that stuff by that point? Samantha Geitz: Yup. Matt Stauffer: Okay. Then Ruby on Rails. Tell us that journey. Samantha Geitz: Laravel, if it existed at the time was not well known. I mean this would have probably been Laravel 2. Matt Stauffer: Yeah. Samantha Geitz: Basically I was just looking into, okay, I wanted to build web applications. I very quickly figured out the limits of WordPress and I don't know. Ruby on Rails was hotness then, so I built myself a personal blog site just to learn it. I don't think anyone has ever paid me to write Ruby on Rails code. Matt Stauffer: Okay. Samantha Geitz: But it gave me decent MVC background and my first job, I was at ... I was just about to finish grad school and I was at the University of Missouri and I was back up at Chicago at a Ruby meetup and there was an open bar that was sponsored by, gosh I don't even remember. One of the API companies, so I met this guy who said, "Oh yeah, My company's hiring and we do Rails." And I was like, "Okay, cool." Samantha Geitz: He got me this interview and got the job and then they told me I would be doing WordPress. It's like, "Oh okay. That's fine. It's not really what I want to be doing." But they said eventually they'll move me over to a more of a MVC stack and I proceeded to do WordPress for the next year and a half. Matt Stauffer: Yeah. Samantha Geitz: But we landed a client who was going to not be great for WordPress so I was looking into Laravel at the time, because I had a really strong PHP background. Hadn't done Rails in a while, and that was right ... That was Laravel 3, because Laravel 4 was released somewhere in the middle of that project and we upgraded. Yeah, that was how I got into Laravel. Was just wishing I could do Ruby on Rails and I've got this WordPress background so I know PHP, so I guess this is what we're doing now. Matt Stauffer: Right. Was the clients, I don't know if you remember, it's been a while, but was the client's tech stack such where if you had been a super accomplished Ruby developer they would have signed on, or would they prefer PHP as well at that point? Samantha Geitz: Are you talking about at the last agency that I worked at? Matt Stauffer: That one company where you discovered Laravel 3. Samantha Geitz: They had been ... Matt Stauffer: Do you remember? Samantha Geitz: They had been pitched on a WordPress site, because ... The company I worked at, which I don't think technically even exists anymore, it's called Dojo. They were a very small number of ... It's called WordPress VIP agency. WordPress VIP definitely still exists. It's actually a fantastic service, but it's basically automatic. Who's the company who does WordPress. It's their premium hosting and support solution. I think it starts ... Then it was $3,500 a month. Samantha Geitz: You had sites like Pandora with their entire advertising platform was built on it. I think Time Magazine. We did a lot of work for Tribune. I actually got a lot of enterprise WordPress experience, just because they wanted ... There's only 10 shops in the world who did it. Matt Stauffer: That actually do that kind of work. Samantha Geitz: The problem was we just pitched WordPress for everything and when it's something that doesn't really fit into that posts and pages paradigm, and they wanted all sorts of crazy relationships between entities and stuff, so I steered them away from that and I had a lot of flexibility in the stack I could use, so I had been looking to Laravel a little bit, and said, "I'm going to learn it." And I used that project to learn it. Matt Stauffer: Yeah, yeah, yeah. Samantha Geitz: It was pre Laracasts too. I think. Matt Stauffer: I could be wrong, but I believe that Laracasts came out during 4, but I could be wrong. I've got to go look that up later. Samantha Geitz: I used Dayle Rees' book to learn it. Matt Stauffer: Yeah, there you go. Samantha Geitz: It was called Code Bright I think. Matt Stauffer: Code something. Samantha Geitz: Whatever the Laravel 3 one. Matt Stauffer: Yeah exactly. Samantha Geitz: That was how I learned Laravel. Matt Stauffer: Nice. Yeah, that's how I learned it too, and then eventually Jeffrey. All right at that point ... I was trying to think. There was a couple of questions rolling around. I had rolling around about prior to that. I'm trying to think about your background. Matt Stauffer: You had got ... did you finish your undergrad degree in English before you went to do the CS? Okay. I'm sorry, she nodded. Samantha Geitz: Yeah, it was just an elective. I had some elective I had to take to graduate. I was working full time at Best Buy and just was the only thing that slotted into my schedule. Matt Stauffer: Yeah. Samantha Geitz: I was like, "Okay. I'm not sure how this is going to go because I haven't taken math in five years." Matt Stauffer: Yeah, turns out. Samantha Geitz: Clearly it worked out. Matt Stauffer: Turns out. Okay you worked, you're doing WordPress. You did a little bit of Laravel 3, what was the next transition from there. Samantha Geitz: Okay, I don't want to do WordPress anymore, I know Laravel know, so I got a job at this start up called PackBack. Who are still around. They are a Shark Tank funded start-up in Chicago. Mark Cuban's on their board. Matt Stauffer: Aye-oh. Samantha Geitz: Yeah. Matt Stauffer: You can see them on YouTube right? I feel like I saw that at some point. Samantha Geitz: Probably. Matt Stauffer: Their episode. Samantha Geitz: Yeah, I got a job working there and pretty specifically as a back end developer, because their front end stack was Angular and the big Laravel project I'd done for the previous agency, we had a ton of ... it ended up being a very complicated Angular set up and people hear me talk about Angular PTSD and that's why. It was just a single page application that should not have been a single page application. It was just a lot of Angular. Samantha Geitz: Yeah, I pretty much did strictly API development for the next year and a half after that. It was all Laravel and it was microservices, and that's how I got really pumped about that idea, which also meant my front end chops took a nose dive, which is a big part of the reason I ended up learning React. It's like, all right, I need to get back into this world. Matt Stauffer: Get back into it. Yeah. Samantha Geitz: We don't have API developers at Tighten. Matt Stauffer: Yeah. No, everybody does everything. Let's talk about your work there a little bit. I think everyone has a pretty good sense of the value of single page apps in API first. Just to recap real quick for anybody who hasn't heard these pitches. API first basically means build the API, then build a JavaScript single page app that consumes that API. Then when you need to build a mobile app it'll magically be fast and easy and quick, because you already have an API that works. There's definitely some true promise there. Matt Stauffer: One of the things we've talked about a lot lately at Tighten, over the last year is as someone ... I'm a little bit of an old head developer where I'm just like, "Hey, you know what? This is the way I've been doing it for x number of years. I want to keep doing it." But I wanted to leave space for us to try those things. The SPA's and the API first stuff like that. We've definitely seen some of the pain points of microservices. Some of the pain points of SPAs and stuff like that. Matt Stauffer: I would say the bigger your team, the bigger the company, the bigger your needs, the more likely the mobile needs, the more likely that you will find the API first and the SPAs to be worth the costs they introduce. I would assume that where you were, would have been one of the places where that's just a clear win. I don't want to dig too much into their intellectual property or anything like that, but you mentioned that an SPA may end up being a little tough in some context. Without revealing any of their secrets or anything like that, is there anything you can talk about that helps you understand when you think an SPA is or is not the right fit? Are there any signs? Anything like that that helps you really think through that? Samantha Geitz: I feel like where I've gone on it is, yeah, if you know you're going to have a lot ... I say you know, and one of the things about working with a start-up is you hope. You hope you're going to grow, you hope you're going to be handling a lot of traffic and stuff, and I think a lot of companies end up doing a lot of premature optimization based on that. Samantha Geitz: Compared to a situation in which you're refactoring a monolith and it makes sense to break off some asynchronous tasks into a microservice. That's a place I would definitely reach for it now. Samantha Geitz: Single page applications that have a lot of views and very complicated authentication and authorization requirements, my preferred way now is to have a Laravel app with Vue or React components where you're utilizing a lot of server side stuff, and a lot of out of the box authentication things and then just the really interactive UI things that makes sense to have JavaScript that's where you have ... I have found that to be easiest personally. I think a single page application, if it's really a single page can be great. Samantha Geitz: I think a single page application where you're trying to have some very complicated web application with multiple pages, gets complicated. There are routers and stuff that can help you handle it and I can see the argument for using it, but I have always found that the overhead is a lot more than using something like Laravel or Rails with server side stuff. Matt Stauffer: Yeah, it's interesting. Samantha Geitz: You don't have to worry about someone going into a console and messing around and seeing encrypted things. I don't know. Matt Stauffer: Yeah, it's interesting you mentioned the single page because single page app ... Theoretically the single page is referring to the fact that it's a single page that doesn't get navigated away from, but like you mentioned, single page apps are a lot less complicated when they don't have to handle I guess what you'd say like theoretical multiple pages that are served by that one page. You could say how many URLs does it serve? If that single pages serves a single URL your complexities going to a lot lower than if that single page serves multiple URLs using a router. Samantha Geitz: Yeah, not to say that you should never have multiple views in a single page application, because of course that's silly, but if you have a Laravel app with 30 controllers that all have all these routes and stuff, and you're trying to do that in the context of a single page application, can you do it? Sure. Is it going to be a lot more code and overhead than if you did it service side? Yes. Absolutely. Matt Stauffer: The question is do the pros outweigh the cons in that context? Sometimes the assumption can be well it's the new thing and eventually we can use it therefore yes, but you've got to realize the cons. Caleb's been talking about it a lot this recently because he lived in microservice land for a while, so he was becoming a little bit of the captain of the cons of microservices. I'll have to ask him about that another time. I think that you are ... obviously you know microservices, but you also know full stack routing JavaScript, all this stuff, super, super, super well. Matt Stauffer: You gave a talk about microservices. It's funny, Chris Fidao gave a talk about hexagonal architecture and as far as I know doesn't do it at all right now. You gave a talk about microservices and obviously I haven't assigned you to any projects in the microservices sense, but I know that you do side stuff. If you were doing a side project, do you default monolith right now, and if so, can you tell me one or two really clear signs that tells you to ... Regardless of SPA versus anything else. One or two clear signs that makes you want to pole servers out. Samantha Geitz: Yeah, I can actually give a concrete example from the last six months. A friend and I were working on basically ... Call it LinkedIn for professional gamers. We realized specifically for this game Overwatch which more recently has ... It's called Overwatch League which almost is like a professional sports franchise model and these were selling for 15 million dollars. Where it's like the Houston Outlaws. Matt Stauffer: That's a crazy number. Samantha Geitz: Yeah, I mean there was a lot of money floating around the scene and these professional players, there was a discord chat room in which these coaches and owners for these 15 million dollar teams would be scrolling through players looking for teams. So we're like oh, there's an opportunity here. Matt Stauffer: Yeah. Samantha Geitz: We basically built an app to hook professional players up with teams and one of the things we wanted to do to keep people coming back was to integrate their Twitter and Twitch stuff and Twitch specifically doesn't have any web hooks or anything where it's like, "Oh, this new thing is on Twitch, we hit your app." We had to pole it. Matt Stauffer: Yeah. Samantha Geitz: It was just this process I was constantly running in the background and basically I built some logic into the main app to figure out who needed to be refreshed, because obviously if someone is streaming, you want to refresh them more often, so when they're offline they're no longer showing. Matt Stauffer: Yeah, yeah. Samantha Geitz: The actual thing that was hitting the Twitch API was a totally separate microservice just because it was this process that was constantly running and I didn't want that load on my regular server. Matt Stauffer: It's funny. That's my exact same use case is that when I'm finding myself in a place where I'm interacting with a third party server that doesn't present the data I want or in the timeline that I want or takes too much load, that's the first thing I want to do, is I build the API I want, and then I make that API do all the work of getting the data into that shape or whatever. I like that. Samantha Geitz: Yeah, anything that you would have to run asynchronously and could put a lot of strain on your server and you want to make sure that ... I would reach for a microservice before I'd start getting into crazy load balancing stuff for infrastructure because I think it's pretty easy to just build something that does a thing. You can swap it out easily if you need to. Matt Stauffer: Yeah. Samantha Geitz: But would I build a separate microservice for users? Probably not. Just to have it different. Matt Stauffer: Okay. Your day job is at Tighten. We talk about what you do there. You also speak at conferences and you also blog. Even though you don't love teenagers you did end up teaching. Tell me, who is your most common audience that you're thinking about when you're giving a talk, and what are your most and least favorite things about giving conference talks? Samantha Geitz: I gave a talk a couple of weeks ago at Erie Day of Code and I literally had a slide where I made assumptions about the audience and one of them was that they're white males. It was a feelings talk about actually design patterns and microservices and crazy architecture. Looking into the reasons that people use that. Matt Stauffer: Interesting. Samantha Geitz: I feel like a lot of it is imposter syndrome where you feel like people on Twitter get very opinionated about software and say things like, "Why are you putting models in your controllers? You should have a repository for this." Just get really dogmatic about it. You get to the point where you can build anything, even if that's just in a way where you just have very basic MVC and you start learning more about design patterns and you just want to apply them to everything because you have this knowledge that's so exciting, and also are you going to be judged if you don't. Samantha Geitz: I would like to start speaking at more women in tech spaces, but I'm very aware whenever I'm in front of an audience that it's mostly white guys in the 25 to 35 age range. Matt Stauffer: Yeah. Samantha Geitz: I mean that's generally the audience I'm aware of. I do hate public speaking through. I'm very introverted despite my personality on Twitter and getting up in front of a crowd and speaking is very, very overwhelming for me sometimes. Matt Stauffer: What's your best trick for when you're preparing to give a talk to help either reduce your nerves or prepare in a way that would make you feel more confident or something like that? Samantha Geitz: I just don't over prepare and I get up there and just almost treat it like a conversation. I've been told I'm a very conversational speaker. I feel like if I over rehearse I will get very stilted. I also give myself permission to use a little profanity if that's ... Matt Stauffer: Yeah. Samantha Geitz: Or make jokes if those are there. Sooner or later I'm going to make a very off color joke in a very public place and it's going to get me into trouble, but it hasn't really happened yet. Matt Stauffer: So far, so good. Samantha Geitz: So far, so good. It's one of those things I just muscle through and it's gotten better over the course of my career. I told Matt at my last review in November I think, that that was my goal for 2018 was to get back out there and give a bunch of talks and not let my stagefright overwhelm me and I'm two in and Laracon coming up in July, so when you give me my review next week Matt ... Matt Stauffer: Hopefully we'll look positively on that. You told me the thing that you like the least which is public speaking. What do you like the most about giving conference talks? Samantha Geitz: Clearly the Twitter fame. When you see that follower count tick up. It is the Twitter fame. I'm trying to think of another ... it's like, no. Matt Stauffer: That's true. That's okay. Samantha Geitz: It's fun getting up there and doing a good job and knowing that I conquered my fear of public speaking and didn't ruin my career. Matt Stauffer: Yeah. Samantha Geitz: I just gave a React workshop at PeersConf and it was pretty small. I think it was maybe 15, 20 people and so I had a lot of space to go around and work with people one-on-one and get people excited about this technology that I'm really excited about and that was cool too. Just getting that really face-to-face time, compared to being on stage and talking at 800 people, most of whom are probably just screwing around on their laptops anyway. Matt Stauffer: Yeah. Samantha Geitz: I had a lot of people come up to me after my white boy feelings talk at Eerie Day of Code too and say, "Oh actually that really resonated with me. That yes, I was there in my career too and I understand that impostor syndrome is a thing for men that isn't talked about." Matt Stauffer: Yeah. Giving people permission to experience the things they're experiencing and language for understanding what it is. Samantha Geitz: Something we talk a lot about a Tighten and it's something that's talked a lot about in various women in tech circles, but I feel like tech as a whole, we don't talk a lot about mental health issues, we don't talk a lot about impostor syndrome and the fact that everyone experiences and if you don't you probably have horrible Dunning-Kruger and you're a lost cause. Samantha Geitz: One of the things I had in my slide that I'm going to assume about you is A, anyone at that conference is very smart and cares about writing good code. Matt Stauffer: Right. Samantha Geitz: Because you're not going to conferences if you don't care, but also that you're aware of that fact for everybody else in the room. You know that everyone else in tech is smart and is trying to do a good job and you compare yourself to that bar and that's a very intimidating thing. I think women feel it more acutely or people of colors, people who are more outside of the mainstream, but white guys feel it too and it's something that's just not discussed. I think to the determent of all of us. Matt Stauffer: I think that's really helpful. Especially a lot of conversations that certain around understanding the diversity of experiences, especially a sentence that says, "Women and people of color experience this more." I think a lot of people instantly hear that you're going to be telling white guys that, "Oh well, we have it really easy." I think it's really helpful to hear, I think for everybody to hear someone say, "Women and people of color have it especially tough, but white guys, nobody's talking about the fact that you experience this thing as well." And it's not just white guys. It's men that aren't white, or white people that aren't men, but the more ... Samantha Geitz: Yeah, non binary, trans. Matt Stauffer: But by that I mean the more normative. My white male, heterosexual, Christian, blah, blah, blah American. The less likely you tend to feel in these kind of conversations that there's a space where you actually have valid experiences, valid pains, valid difficulties, and there's a lot we can say about that that this is not the podcast for, but I think one of the things I really appreciate is that in a context where you are explicitly saying, "Hey, it can be harder in these contexts to be a woman or a person of color, or whoever else, that does not mean that other people aren't having this experience. That does not mean that people with privilege or however you want to talk about it, are not also having impostor syndrome issues, and sometimes it's actually less approved for white guys to talk about these things. Matt Stauffer: I think I'm really grateful that you as not a white guy are giving people that permission to feel that, the language for that and everything. That's super cool. Samantha Geitz: I mean ultimately the main takeaway of the talk about reading other people's code, good code or bad code is, you don't know the space they were in when they were writing it. You don't know their motivations for writing it, but it was never that they were trying to make your life miserable. Matt Stauffer: Right. Samantha Geitz: No one wrote code like, "I want the person who maintains this after me to struggle." Treat people with kindness even if you will never see them because you inherited it. You have to give them the benefit of the doubt sometimes because everyone does have those struggles in this industry. It's really tough. Matt Stauffer: That's a great point. I mean honestly, imagine the worst pressure you've ever been under during a coding session where the client was pushing you. They're rushing you and your dog just died the day before and you want to do really great work, but the client needs something tomorrow and then they cut off the contract after that, and you did your best but you aren't proud of that. Every time you interact with somebody else's code, imagine that they were in that circumstance and it's like the, "Oh okay, maybe they're not a total bumbling idiot." But maybe they weren't in ... It's like people often say, you compare other people's worst code against your best code, or whatever. The code you think you write even in your head even though it's not actually the code you write. Samantha Geitz: Exactly. Sometimes that code that you're looking at that's the bad code is your own code and you need to be able to forgive yourself for writing bad code six months ago, because you didn't know better. I mean I feel like if you're not looking at code from six months ago and saying, "WFT was I thinking?" Matt Stauffer: Yeah, yeah, you're not growing. Samantha Geitz: That means you're not improving. That's not a good thing. Matt Stauffer: Yeah. Samantha Geitz: That was a cool talk and a lot of people came up to me after and said that they enjoyed it and it resonated with them. I'm sure a lot of people were sitting there like, "This is stupid." Matt Stauffer: She's terrible. Samantha Geitz: "I am the smartest person in this room." Matt Stauffer: Right yeah. They have other problems. Samantha Geitz: They weren't picking fights with me so that's fine. Matt Stauffer: Well and that's the Twitter fame part right? If you ... not to say that we never get any benefit out of giving these talks. Sometimes you get paid, sometimes you have certain experiences, but when we're speaking at the type of conferences we're speaking at, we're not making life changing money. We're not making even pay you back for your time kind of money. We're making, "Hey, I'm going to try and minimize the cost when you just took off work for five days kind of money." Or whatever else. Samantha Geitz: Right. Matt Stauffer: There's at least an element, and I think usually a pretty large element of doing it because you want to help people, and you want people to learn and you want people to grow. In terms of the joke that you made about, "I do it for the Twitter fame." I mean what I hear there and I'm pretty sure this is what you meant was hearing the feedback from people that the work that you just put into trying to help them helped them is one of the most affirming things that you can get after a talk. You're like, "Oh, I overcame impostor syndrome and I overcame public speaking anxiety and I spent all that time preparing it and it's making the impact I wanted to make." And that makes you want to go do the thing again. Did I just read you right on that? Samantha Geitz: It is. You did. It's a very affirming experience and I do think it's very important. Whether or not you do public speaking or blogging or tech overflow or just making it publicly known on Twitter that you're available for mentorship, I think it is really important in this industry to give back and to talk about your failures and successes and to pass it along to the next generation of developers. I mean that does have normalize it I think. It helps normalize the shared experience where you see people's victories on social media and not their struggles. I'm not going to go on Twitter and say, "I had a really bad day where I was struggling with this thing and just didn't get it and I feel awful about myself right now." Or. "I dealt with this exact issue six months ago and screwed it up and it was a big deal, but I survived and here was my takeaway." Matt Stauffer: I survived. Samantha Geitz: One of the things that I've realized over my career and then working with more junior people is, sometimes I get tasked something and I have no idea how to do it, but I have the experience now to know that I've managed to figure it out every other time. Matt Stauffer: Right. Samantha Geitz: And every single other time it's been okay and a lot of my job now is just talking to our more junior developers and saying, "It'll be okay. You will figure it out. You have the team behind you. No ones going to judge you if you don't get it right on the first time. That's what code review is for and also, I did it and screwed it up this one time so if you have this bad day where you got a bad code review, it's fine." Everyone's the hardest on themselves generally I think. Matt Stauffer: Yeah, that's a good point. We're short on time, but this serves as one more question I want to ask and then we'll start rolling down a little bit. Samantha Geitz: Yeah. Matt Stauffer: You have worked for consultancies and product companies. This may be a hard question to answer, but if it's not, now that you work at a consultancy, what is the best and worst aspect of working at a consultancy relative to working at in a product company? Samantha Geitz: When I joined PackBack, they were still fairly young. They were migrating from this really gross Magneto thing to a Greenfield thing. I got the Greenfield fun, new shiny experience, but then we got to the point where we're launched and maintaining. Working at a consultancy gives you the opportunity to work with a very, very large array of projects and some of them are going to be Greenfield new and shiny and you learn new things, some of them are going to be, oh God, there's this awful legacy app and then you'll learn new things. Matt Stauffer: Right, right. Samantha Geitz: I think it's really, really easy to get a very wide diversity of experiences and that is going to make you an awesome developer and you'll be able to tackle a lot of things that come your way and see pitfalls that you wouldn't if you were just working on one platform consistently. I do love product, that's why I'll always have separate side hustles going. Especially now that I'm not day-to-day on code as much at Tighten, just so I can stay on top of the new shiny and I've never worked for a Google, or in Chicago like Groupon or Grub Hub or some of the bigger ones. I've never had that experience. All my enterprise-y stuff has been I'm developing this large WordPress site or something, or working on ... I'm one developer working on this small piece for this other company, not I'm part of this very large team in a very medium sized fish in a huge, huge, huge pond. Samantha Geitz: That's one thing I've lacked in my career and now that I work at Tighten have no desire to go seek at all. Not to say I don't have that opportunity but nah, I'm good. Matt Stauffer: All right so you just said very nice things about consultancy's. Was the worst thing snuck in there about, "Oh, I like to do product stuff?" Or is there a worse thing about working for consultancy that you can share? Samantha Geitz: I feel like if you work for a good consultancy who helps ... one of the problems with client works is they're stress tends to trickle in and become your stress or sometimes becomes a deluge and it's your stress. I mean agencies and consultancies have a very bad reputation for burning people out and working them crazy hours and crunch time and deadlines and let's plan things six months out and make this promise and then oh God, we're not going to be able to deliver. I've had both. Matt Stauffer: Yeah. Samantha Geitz: I've not so much had the latter at Tighten, but I would be very ... If Tighten shut its doors tomorrow I would probably go to a product company over another consultancy unless I really knew that stress was not going to become my stress because I just ... at this point in my life, don't want to deal with it anymore. I'm not working 60 to 80 hour weeks. I'm just not. Matt Stauffer: Yeah, I think you have to be super intentional in any company to create good working environment and the product company, when you create a good working environment it stays relatively stable, whereas with a consultancy it's your working environment plus you're working environment protecting you against any potentially problematic client working environments. There's two vectors of attack. Samantha Geitz: Right. Yeah and the clients are constantly changing and rotating probably and a lot of times they're coming to you because, "Oh, we have this massive deadline and we don't have the manpower to meet it." Or, "Our stuff is so broken and it's ... We need help." We've had a lot of people come to us, "All of our tests are failing and we just don't have the space to fix it. Please come help us." Projects like that can be really, really fun, but it's always an opportunity for stress. Matt Stauffer: Yeah, stress to sneak in. Samantha Geitz: Matt and I have a lot of conversations like, "Okay, how do we keep stress from trickling down to the developers?" Matt Stauffer: Yeah. Samantha Geitz: That's a lot of my job is just to be a shield against that. Matt Stauffer: Very cool. I will make it through a podcast one day without saying I could talk for hours. Today's not that day. I could talk for hours, but we're out of time. Is there anything that you wanted to cover that we haven't gotten a chance to talk about yet? Samantha Geitz: Oh man, I don't know. Should we plug the dev battle? When's this podcast being released? Matt Stauffer: This will be released within the next week. I've heard that some company, I don't know. Some company you might work at will deal with it, but I'm trying not to nepotize that, but if that's what you want to plug to your guests then go ahead. Samantha Geitz: Oh no. This is the Laravel podcast nepotism and feelings version for sure. Back on the React track, if you are interested in learning more about React Native specifically and/or Native tools if you care about Vue. No one listening to this podcast cares about Vue though clearly. It's Keith Damiani, who's the other senior developer and I had a dev battle about a year ago and I still think the results were bananas, but Vue was declared the winner, so we're doing a round two. Or I guess a part two with three rounds and it's the React Native versus Native Tools battle. It is called Native Tools ... Matt Stauffer: I think it's Native Script right? Samantha Geitz: Is it Native? No you're right, it's Native Script. See you can tell how much I know about this. I just literally wrote a blog post about it too. Native Script. Part one is going to be we basically just build a super basic card app. We're either going to just save it to whatever local storage or I have an API set up with predefined user authentication tokens. Samantha Geitz: Round two is authentication authorization, so trying to figure all that out and round three, because a question. We've not done a React Native project yet as a company and one of the questions Matt and Dan are always asking me is how much code reuse is possible, so if we want to build a web app can we use React Native code? Matt Stauffer: Right. Samantha Geitz: Round three is us taking those apps and then basically building a web app also and seeing how we can reuse code. We also have Caleb Porzio joining Team Vue and Daniel Coulbourne joining Team React. We've pulled the 20% time ... Matt Stauffer: 20% FM. Samantha Geitz: Yup. Pulled those guys in. Oh and the one thing I didn't mention is we don't really know these tools that well, so we're just figuring it out on the fly. Paring and ... Matt Stauffer: It's very different ... Last time it was a React developer and a Vue developer with an unknown task. Now it is you know the task but you don't know the code. It's going to be a total flip of what it was last time. Samantha Geitz: Right, we have mock ups, we have the API. Everyone knows what we're building, which oddly, even though I don't know this and once again, the internet might look at me and be like, "Oh, what is this girl doing?" It's so much less pressure. I'm okay with live coding with the expectation like, "I don't know what I'm doing. I'm figuring it out." Matt Stauffer: Right. Samantha Geitz: "If I don't figure it out, okay, you try to figure out React Native in four hours bozo." Matt Stauffer: Versus trying to pretend to be the expert and then people can criti ... yeah yeah. Samantha Geitz: Exactly, exactly. The pressure of live coding for any of y'all who haven't done it, especially in a timed battle context. Matt Stauffer: It's extreme. Samantha Geitz: Things that I do every day, I was like, "How do I do this? I need to look it up." It's hard and I'm not even sweating this one, but it is ... if it's coming out next week, it'll be this Friday, May 25th. It's battle.tighten.co we have all the info and there's a blog post coming out too. Matt Stauffer: If you listen to this after the fact, the recording will be there as well. Whether you listen to this before or after the battle still go to that same site. Samantha Geitz: Well there's going to be three rounds, so even if you miss the first round you can come and ... It's going to be on Twitch. You can smack talk. You can help us if you know anything at all about React Native or Native Script. I wanted to call it Native Tools again. Samantha Geitz: Yes, it will be a very fun time. Spicy meatball of a time. You should tune in. Matt Stauffer: I feel better about this being less nepotistic because they planned this entire thing without me even knowing it was happening, and they literally planned the first one during my son's pre-school graduation so I won't even be there. I'm going to tune in after the fact and hear how it went. I actually am disconnected from this, I promise. Samantha Geitz: You making it sound like we did it on purpose. We didn't want Matt there so we planned it during Ky's preschool. Matt Stauffer: It's not my thing that I'm pretending to not be ... I actually wasn't there for the planning so it's just going to be a nice surprise for me as well. Samantha Geitz: It'll be a nice surprise for all of us. It's going to be ... We're winging it y'all don't judge us too harshly, unless it goes well in which case, yeah, you can ... Matt Stauffer: We totally knew what we were doing. Right? Okay, anything else you want to plug or talk about or share? Samantha Geitz: Nope not really. Follow me on Twitter. Matt Stauffer: If people want to follow you, yeah, how do they follow you? Samantha Geitz: Yes, Twitter fame, I told you. It's @samanthageitz which G-E-I-T-Z I'm assuming also you probably will see my name in your little ... Matt Stauffer: Put it in the show notes, yeah. Samantha Geitz: Podcast thing. It's a lot of ... can I say, shit posting. Can you beep it out? Matt Stauffer: You can say shit posting. Samantha Geitz: Shit posting. I'm like people listen to this- Matt Stauffer: That's our cuss for the episode. Samantha Geitz: I haven't. Have you noticed I didn't Matt? I was trying really hard not to swear on the Laravel podcast. Matt Stauffer: I know I was really proud of it. Samantha Geitz: Yes. I have the filthiest mouth at Tighten. I haven't been reprimanded and I still feel like it's a thing. I also was told that I'm the bro-iest brogrammer at Tighten which is now part of my Twitter. Matt Stauffer: That is most certainly true. Samantha Geitz: Bro I would crush some code. Matt Stauffer: Right, our single cuss down at the end of the podcast. I think I'll probably let this one slip through. Samantha Geitz: Yes. Matt Stauffer: All right Samantha, this was a ton of fun as always. I loved it. Thank you so much for giving us some of your time and your story and we will all see you at the Battle for React and Vue and whatever all that stuff. Samantha Geitz: Well thank you so much for having me. Matt Stauffer: Yeah, see you later. Samantha Geitz: Bye.

The Laravel Podcast
OG Reunion #1

The Laravel Podcast

Play Episode Listen Later Apr 6, 2018 48:31


The Season 2 crew reunites. Laracon Venue: The Museum of Science and Industry Evan You Ryan Holiday / Conspiracy Jocelyn K. Glei / Hurry Slowly / Unsubscribe Marvel.app Zeplin.io Laravel: Up and Running A Brief Introduction to Progressive Web Apps, or PWAs Marcus Aurelius book - Meditations The Daily Stoic AWS Lambda Esther Perel - sample TED talk: The secret to desire in a long-term relationship The Imposter's Handbook The Millionaire Next Door The Simple Path to Wealth Editing sponsored by Larajobs Transcription sponsored by GoTranscript.com [music] Matt Stauffer: Welcome back to a special edition of the Laravel Podcast season three. It's season three but it feels like season two. Stay tuned. [music] Matt Stauffer: Welcome back to a special edition of the Laravel Podcast. This is season three but I wouldn't hold it against you if you got surprised because I have two guests with me. Not only do I have two guests but I have the OG two guests. Can you guys say hello to the people? Jeffrey Way: Hey, everybody. I'm Jeffrey Way. Good to be back. Taylor Otwell: I'm Taylor Otwell. Matt Stauffer: You may have heard of Taylor. We got Jeffrey Way, the creator of Laracasts and bringer of many of us to Laravel and then Taylor Otwell, OG Laravel Podcast, OG Laravel. We figured it's time for a little bit of a breather in season three with all these episodes and just catch up and see how the crew is doing and catch up on things. Stuff we've got on our plate for today is definitely talking about how Laracon is looking for this year, what's going on with the development of Laravel and Laracasts and everything like that. I figure the easiest and most concrete thing for us to talk about is Laracon. What is going on? How is ticket sales? How is speaker lineups? How's the venue looking? How's Chicago looking? How's everything going for Laracon right now. Taylor Otwell: I think it's going pretty well. The venue is the Museum of Science and Industry in Chicago which is a really large museum. On the South side of Chicago. We'll be in their auditorium and the ticket sales are going really good. We already sold out. That's about 850 attendees, about 50 of those attendees are going to be speakers and sponsors and then around 800 of them are going to be actual ticket purchasers from the community. This will definitely be the biggest US Laracon. It'll probably be the biggest Laracon yet so far. Although Laracon EU is usually a little bigger, so I wouldn't be surprised if they sold more tickets this year. I'm pretty excited about it. All the speakers are pretty much lined up. Some of the big name speakers that people may have heard of so far. Of course, I'll be there. Creator of Laravel, Evan You creator of Vue will be there. Uncle Bob Martin who's famous for writing some very popular programming books and just being a programming teacher will be there. Ryan Holiday, the author of several books that people may have heard of. His latest book is called Conspiracy but he also wrote The Daily Stoic, Perennial Seller, Obstacle is the Way, Ego is the Enemy. Some pretty popular books actually. Who else? Adam Wathan will be there. Several other community members will be there. I'm really looking forward to it. I think it's going to be a great talk. Right now, what I'm working on is just ironing out food, drinks, all those extra things you have to do for a conference. T-shirts, about to order those probably. Sponsors, we'll have 11 sponsor tables at the venue. We have quite a few sponsors again this year. It's going to be a packed house. Jeffrey Way: I always wonder how you keep track of everything. Matt Stauffer: Yes, me too. Jeffrey Way: Do you ever get close to the conference and think, "Oh, my god. I didn't even do that yet?" Taylor Otwell: One way I-- Matt Stauffer: Do you have a checklist? Taylor Otwell: One way I keep track is I have a spreadsheet from last year with every expense. That actually serves as a checklist. Like, "Hey, badges are on here as an expense. I should probably order those for this year." I just duplicate that every year and then I type in the new expenses and it also serves as a projection for profit and loss on the whole conference. It serves a dual purpose as a checklist and as a profit estimator for how the conference is looking to make sure I'm not way overspending. Especially, on speakers this year. We've spent probably $50,000 on speakers this year just because we several speakers that have a speaking fee and then we try to pay every speaker at least a few thousand dollars to make sure they're not just losing money coming to the conference which can happen. I don't know if you've spoken at conferences. As a listener, you may know that often it's a breakeven or maybe even a losing affair. Trying to make it somewhat worthwhile. Jeffrey Way: I've been to some where you don't get anything and that's just how it is. Look, you can come and speak but we're not giving you a penny. Taylor Otwell: [chuckles] I feel like I usually lose money. Matt Stauffer: That's most of them. Jeffrey Way: I used to go to a lot of WordPress conferences. What were they called back then? WordCamp? Taylor Otwell: Yes, WordCamp. Jeffrey Way: Maybe. With them is like they just don't have the money. They don't have the budget. You're doing that all on your own dime, if you want to go. Matt Stauffer: I'm looking through this list of speakers. There's quite a few people who I don't know of, but I've heard you guys talk about them. Jocelyn Glei, maybe? Ryan Holiday, you've mentioned him being an author. Then, there's one other person who I didn't know. Who do I not know? I guess it's just them. I think everyone else here is either, Jason Freed or Bob Martin or Evan Yu or people who are pretty reputable members of the Laravel community. Although we do have a few first-time speakers, TJ Miller, Caleb Porzio, Colin DiCarlo are all speakers-- Taylor Otwell: Collin DiCarlo is not. Matt Stauffer: He's not-- Geez, I thought he was-- Taylor Otwell: No. I think he's a 2016 Louisville speaker. Matt Stauffer: That was the year I was at home with the baby, so my bad. Caleb and TJ. Jocelyn, you mentioned Ryan. He's written a couple books. I need to go check those out. Can you tell us a little bit about Jocelyn? Taylor Otwell: Jocelyn runs a podcast called Hurry Slowly where she talks about work, productivity, burn-out, stuff like that. She's actually interviewed Jason Freed on the podcast. She also wrote a book called Unsubscribe which is on Amazon. You can check out. It's just about the overabundance of notifications and busy-ness that's prevalent in our tech world especially. I think she's going to talk about similar topics at the conference. I entirely forgot Jason Freed would be there. That's kind of a big deal. [laughter] I've been so busy with other stuff. Matt Stauffer: Let me ask you. Do you guys feel overwhelmed sometimes by all of the work you have to do? Do you feel that you can manage it fairly well day-to-day? [crosstalk] Jeffrey Way: I'm often overwhelmed by the work on my plate. My life is a constant battle of trying to figure out whether I'm overwhelmed because I don't have everything settled on my side or whether it's because we need to readjust the company a little bit. There's always a the, "Oh, Dave quit and he used to do all this high-level administration stuff so I took on all of his jobs for a while. We need to hire a new Dave." That was the thing for the longest time. "Oh, we've got four more developers than we did a year ago so there's a lot more management" or "This one client is requiring all these needs." Sometimes, it's process stuff. Sometimes, it's just I need to stop screwing around in my free time and actually, work through my email backlog, or I need to figure out how to handle my tasks better. Right now, I'm actually doing really good. It's because I've spent the last couple of weeks really putting in a concerted effort. We also have hired someone who is not joining us until mid-May, who's going to take probably a third of my job off my plate. It's funny because I was actually-- That whole thing, there was this guy, Dave, who managed all this. A lot of those responsibilities are going to be back off my plate soon, so I'm getting to that point. I usually can tell, "Do I finish my day with an empty email inbox and a task list with a couple items left on it and a clean desk? Do I finish my day with 70 emails still in my inbox, 20 things in my task list, a big pile of paper on my desk." Usually, those are the signs for me of, "Am I struggling to keep up, or am I actually on top of my life?" Matt Stauffer: What about you, Taylor? Taylor Otwell: I was just thinking I feel less overwhelmed by the work, and more overwhelmed by the expectations of everything. Because I don't really have that much I have to work on every single day, like Forge is going to run so I just have to answer the emails. It's a little different, I guess, because you probably want to crank out videos. I don't know what your schedule is and then, Matt probably has his daily tasks. For me, it's this expectation of somewhere out in the future, I have to do something impressive again. Matt Stauffer: Do something amazing. Taylor Otwell: I have to get up on stage and speak about it and it has to not fail. That's the pressure I feel really-- weighs on me every day, basically, because at Laracon, there has to be something cool to unveil, which, nobody panic, we are working on something but things can come up, or problems can arise. It could be buggy, it may not be finished in time, and that stuff's really overwhelming, more so than just the daily routine. Like Laracon itself could-- There's expectations there for it not to suck, for people to have a good time, for the food not to be terrible, for the speakers to do well, all that stuff is high expectation, too. Matt Stauffer: Had you guys seen the grid of urgent versus important? I'm trying to remember who it is, but somebody from a long time ago, basically, drew a grid and any given thing that's on your plate as a pressure should be doing can be urgent or not urgent, and important or not important. The really interesting thing is that you can put all the things that are pressing on you into that grid and figure out which of the quadrants they find themselves in. The things we're mostly like to do that are most wasteful is the urgent and not important. The things we're least likely to do that sounds like, really, what's on your plate a lot, Taylor, is the important and not urgent. It's the things that don't have that immediate time pressure but are the most important. It sounds like a lot of your life is important but not urgent which I know those are the hardest things to have the discipline, the focus on. Is that something where you have developed practices to make sure you're not just letting that stuff slip? Taylor Otwell: Past couple of years it's been trying to start really early on stuff like Horizon and then the thing I'm working on for this year's Laracon. I don't know. I do agree because Mohammad's going to take care of a lot of Forge stuff for me. I don't really spend a lot of time working on those features lately. I would say yes, you're right, it is important but not urgent. That is a challenging spot to be in. Jeffrey Way: Plus you have so many products. I wonder does it ever get to the point where you think "Well, I'd love to do another one but I just don't have the capacity to maintain yet another project" Taylor Otwell: Yes. There is a sense of when do you say "I did what I set out to do." This is what success is, basically. I should just maintain what I have and be happy that it got this far and not really try to overwhelm myself with a new impressive thing year after year because-- Most people will never reach the popularity of something like Laravel ever. I should just enjoy that maybe and not really try to stress out about creating the next big thing all over again, every single year. Which I think there's some merit to that as well but people don't really like that I guess [laughs]. Matt Stauffer: It's a little bit of the Apple thing, right? Is a WWDC where they don't completely blow your mind an acceptable WWDC? I would say "Yes man, I'm happy with what I've got. Just don't break it". Taylor Otwell: Yes. I remember Steve Jobs saying not to compare Laravel to Apple in any way really but he said something like most companies are lucky to ever invent one amazing product, They had invented the iPhone, the mac itself was amazing and then iPhone and iPod and all the stuff that came with it. I don't know. At some point, there's only so much you can do. I'm going to keep trying this year we'll see. Matt Stauffer: Jeffrey, what about you? Jeffrey Way: I'm okay right now but it's more of the anticipatory type of thing because my wife's pregnant so we're going to having a second child. We're not going to be having two children. Matt, I know you have more experience with that than me but it's stressing me out a little bit. Then, also this is the first year I've been working with a UI guy. I don't know what you call him, a designer or UX, I don't know what the terminology is anymore but he's doing really great work but every time he cranks out something new it ads to the backlog of stuff I have to implement, which I'm very thankful for but I'm kind of anticipating an insane amount of work in the next five months. I was just curious how you guys handle it. Then, there's also that thing where I worry sometimes when you feel stress and anxiety it's like to some extent you're creating it yourself and it's hard to determine, is this something I'm just doing myself and I am entirely in control of or are you not in control of it? That's something I think about a lot. Is there a way to turn that switch off when you need to? I don't know. Matt Stauffer: I know that you have at least some, like talking about that urgent versus not urgent thing. I know you have some urgency because there's this expectation of a certain timeline for delivering videos. Are there a lot of things on your plate, for work, that are in the longer terms? You mentioned one thing being the implementation in the UI. I know that you do visual refreshes occasionally, although in your latest podcast you talked about how a lot of that was early days and it probably will be a little bit less the case going on where you feel like you're getting more of a handle on things. Do you have a lot of things that are in the longer term bucket? Or are most things still locked in the immediate video production timeline? Jeffrey Way: Most is in the immediate. The UI work we're doing will probably be next year or at the end of this year. That's probably the most long-term work thing I'm doing. Most of it is immediate. It's very difficult to crank out content all of the time. Sometimes if I go even four days without something new I will get a tweet or somebody is complaining. It's like, you have to understand I've been doing this for three years, there's like thousands of videos. At some point, I'm going to have trouble thinking of new stuff to cover. I'm amazed every week I'm able to, I'm not complimenting myself, but I'm amazed th I'm able to think of something to publish every single week but that does wear on me a little bit to finding things to cover every week. Matt Stauffer: I hit episode 100 of the 5 Minute Geek Show and I just was like you know what I've talked for 10 to 15 minutes at a time for about 100 episodes and I don't have anything else stuff to say. People keep saying bring it back. I'm like-- Jeffrey Way: Yes and I think that's-- Have you close that down? Is it done? Matt Stauffer: It's not over. It's just on the hiatus. It's on hiatus until I come up with something else to say. You know what I mean? Jeffrey Way: Yes. Matt Stauffer: I'm not saying it's over because I'm sure that moment will come again, but right now, I'm just like, "I don't have anything else to say." If I felt that pressure like you do, to keep saying things, man-- granted, everytime the new tech comes out you can choose to go learn that tech and go to it. There's some things you can reach for, but still, I totally identify with what you're saying. It's just at some point, I just might not have anything else to teach right now. [laughs] One real quick, on ask for a pro tip, two kids. The big shift for two kids for me-- Taylor, I want to hear if you have the same perspective as-- With one kid, there's always the possibility for one parent to be taking care of the kid and the other parent being an adult. With two kids, there's now-- Even if one parent takes care of the kid, the other parent is taking care of another kid. All of a sudden, those rests that you get-- What I can imagine is, once you have three kids, it's even crazier. Because now, all of a sudden, there's never a one on one. That was the big shift that I noticed with the second kid was. Let's say, the other parent is feeding the baby or something like that, you're not cleaning up, you're taking care of a three-year-old or whatever else it ends up being. That's the biggest shift for me for a second kid. Jeffrey Way: Sounds stressful. Matt Stauffer: [laughs] It's not that bad. It's just a perspective shift, I think. Jeffrey Way: I have heard one bonus is that, like in your case, Matt, your oldest probably helps entertain your youngest quite a bit more, whether or not, depending upon you and your wife at all times for entertainment. Matt Stauffer: The older she gets, the more they play with each other and the more moments we get where they're playing together in the toy room for 45 minutes. We go, "Oh, my gosh." We sat down and had an adult conversation. That's definitely, definitely a boom. All right, that's what's going on with Laracon. You said the tickets are already sold out. Do you have a waiting list like you have previous years, Taylor? Taylor Otwell: There's not really an official waiting list right now. As people email me, I actually do put their name in a little file. I have sold a few tickets that way, but there hasn't been a lot of cancellations lately. There's not really any tickets to give out right now, anyway. Matt Stauffer: Got it, all right. I have a couple questions, but before we do that, let's talk Laracasts real quick. What kind of stuff have you-- let's say, anybody who hasn't been to Laracast for a little while, what have you been covering? What's your latest technologies that you've been looking at? Is there anything exciting you want to share with people? Jeffrey Way: Yes, sure. Let me take a look. Been doing a bunch of things lately. I finally covered Laravel Echo in full. Somehow, that was one of the things that I just missed a year ago. I went through that top to bottom. I think if you're intrigued by that, on how to communicate with the client, I think that would be really useful. It's a series called Get Real With Laravel Echo. Some things, I just have to refresh. That's one of the worst parts of my job is, even if it's from 2014 and it still works, it's like, there's just a few differences where you sort of have to record it all over again. That's the worst part of my job. Other than that, one of the things we're working on right now which I'm excited about, it's a series called How To Read Code. The whole point is not for me to write code, it's to work through the process of how you learn from the code that other people have written. There's that phrase about, "If you want to become better as a developer, you have to--" I can't remember what it is. You have to read a lot of code, you have to write a lot of code, and you have to learn, I guess. A lot of times, I think young people really get into the learning phase where they're reading the books and they're watching the videos, but they're not actually taking enough time to read code that other people have written. I notice that's sometimes a black box. People are afraid to dig behind the scenes and learn how these things are constructed, so they stay away from that. Then, also, they end up not writing as much code as they should, because they don't know what to build. This is the thing that comes up a lot. I learned this from students, is they don't know what to build. They haven't been hired yet, they're trying to think of projects they can flex their muscles on, and they have no idea where to start. With the How To Read Code, Taylor, we're actually going through the Laravel.com source code. I haven't told you about this. Taylor Otwell: Nice. Jeffrey Way: We're just pulling it up on GitHub, and we're figuring out every step, like, "Okay, if there's this repository for the markdown files, well, how is this project getting access to those markdown files and how is reading it and parsing it and replacing the URLs? How is versioning being handled?" What's fun about it is I don't have any experience with that codebase, so it's how I would exactly figure out how things are constructed. It seems like the feedback's been pretty good. Once again, I think, for so many, it's a black box. You're kind of scared to dig in because you don't know where to start. I encounter this a lot, so I hope it's useful. Then, other than that, I've been working with this UI guy. It's been fun because most of the time, I do things myself. That's a lot of coding in the browser, writing a lot of CSS and zeroing in on something that doesn't look horrible, which I'm not very good at. He is so much more systematized. He has me set up with this-- what is this app called? Marvel? Are you guys familiar with this? Marvelapp.com. It's new to me. It's amazing. He'll share a link with me and it's like an interactive website where he can swap things out, he can show me interactions and animations. Then, once I signed off on it, he sends me a link to this Mac app called Zeplin, zeplin.io. It's amazing because I'm so used to-- When extracting designs, I use Photoshop. If there's some SVG, I have to cut it out and save it as SVG. Very hard, creating new layers all the time. With this, everything is just clickable. If I need a particular icon, I click on it, and there's a button that says "Save as SVG." This is all new to me. I don't have any experience with tools like this. It's been a huge benefit to me in the last couple of months. I love it. Matt Stauffer: It's very cool. I'm going to try and go back through, listen to this, put all this in the show notes, everybody. Well, real quick going on with me. I'm updating Laravel, up and running for 5.5, so that's exciting. We finally got approval - actually, 5.5 or 5.6, I'm not sure I remember. I think we might be doing 5.6. I was going to do LTS and I think we've picked 5.6. Finally got my editors to sign off in doing that. I've got Wilbur Powery, who's doing some of the groundwork for me, and just reading through all the change logs, and making a list of all the things that are out of date, so that I don't have to do that work, so that he can just give me that list, and I'm going to sit down and write. The hope is for that to be some time in the fall for us to have edition two, so that's fun. I just left a project where I had been writing code, basically, for 20 to 30 hours a week on top of doing my normal job at Tighten just because we had a project that hit a point where no BLs was available. I felt that I just needed to fish it out. That's part of why I'm feeling so good right now because I'm going back to being a real boy again. [laughs] I'm not going to make any promises I keep making like, "I'm going to blog again. I'm gonna newsletter again." I'm actually feeling this possibility, especially when that new employee joins in May that I might actually start being a human again. I have said that at three or four times since my daughter was born two years ago and it hasn't happened yet. Who knows? Maybe that day will come. Jeffrey Way: That's great. It's great news. Matt Stauffer: Yes. That's very exciting. Okay, so I have a topic for us to talk about. I didn't prep you guys for this, so sorry about that. There's a couple of topics of conversation that have been coming up really recently at Tighten about - and if anybody listens to Twenty Percent Time podcast, you'll know at least a little bit about this. Talking about JavaScript versus PWAs versus straight Blade apps versus Blade apps that have some JavaScript components. First off the bat, before we go to the deeper conversation, I want to talk about PWAs. I want to see, have you guys dug into that at all? The iOS has just pushed out some of the core features that would make it so that you can actually write a PWA and have it work on iOS. This is the first day where you can actually even realistically consider building one that would work on the most modern devices. It's like when Flexbox first finally actually worked versus like, "This has been a thing for a while." We haven't written any production PWAs for anybody, but it's finally a point where we're like, "We can." Is that something you guys have dug into that you're even interested in or is it like, "Hey, it just became legitimate a week ago, so now, maybe, I'll put my brand on it"? Jeffrey Way: Yes. Beyond a blog post or two, I have no experience with that at all. Like you said, it's always tricky. Do I try and invest my time in this if I can't use it too much yet? It sounds like it's now becoming a possibility, but, for now, I have no experience at all. Taylor Otwell: Yes. Me either. Matt Stauffer: Okay. Well, I have no experience other than I did a whole bunch of research to write that blog post, November 9. Jeffrey Way: Right. It's one of the ones I read [chuckles]. Matt Stauffer: Yes. Nine months ago I did all that and then, basically, I said, "I'm going to go build some." Then, I discovered that it didn't even work on iOS, and I said, "Well, maybe I'll hit pause and all that until iOS supports it." They do, and I know that Keith, who works at Tighten, has been doing a lot more thinking about that than I have. I've been pushing him to-- with all his copious free time he's on at this point, he and Samantha are nearly as busy as I am - to see if he can do a part two write-up now that it's viable. I'll see if he can do that. Jeffrey Way: I'm curious to what extent it's viable. In the latest browsers, that's the idea? Matt Stauffer: Yes. Basically-- Jeffrey Way: What's the fallback look like? I wonder. Matt Stauffer: In theory, PWA should work on fallback browsers. In theory, it's not like it's not going to work, but it's more like it's just going to be a website with JavaScript versus the value that a PWA is going to provide. You don't want to really go hole-hogging to something, expecting it's going to be a PWA where people can use it offline, they can use it when their internet goes out, it's going to save stuff, stuff like that, and then have it not work on the major browsers. We're basically at a point where all the major mobile browsers are going to be little work with it. I don't know what the whole mobile Opera situation is like because I haven't dug into that. I know that we're at a point where literally all iPhone users couldn't even use PWAs up until a week ago. It was very non-viable up until a little bit ago. Now, your mobile Chrome, and your mobile Safari, and all those are all possible to use it. The biggest thing with the PWA is just it's a lot of work. It's a lot of work, and it's a lot of learning, and it's a lot of different ways of thinking about things because you're having to make things, basically, function regardless of whether or not the internet is there. It's that biggest shift in perspective over anything else. There's a lot of complexity in architecture that you need to introduce to make that happen. The good thing is, people are building tooling to make that easier, but it's something where you're not going to do it unless the client definitively needs it. I can imagine maybe you eventually building a Laracast PWA if you really wanted to so people could go on a Laracast, open up the PWA in their phone, in their iPad, and then tap the seven videos they want to download so they can watch them on a plane or something like that. That might be the possibility for it. But I still think the vast majority websites won't be PWAs because it's cost and you got to be sure that you're actually getting the benefit. Like you said, if most major browsers can't use it, then you're not going to get that benefit. We're now to the point where most major browsers could get the benefits so people should start learning about it. But again, it's just really early days right now. Jeffrey Way: Okay. Yes, I find in general, most of the apps I build are that combination you said. A little Blade, a little Vue, sometimes they're interconnected, that and something that the sort of apps I build. Although I find it gets tricky. I find that I do want to reach for something a little different. I do sometimes feel like, "If I just built this as an SPA entirely, this would be a lot cleaner." I think a lot of Laravel developers probably end up in the same boat where you're trying to do both at the same time. It gets tricky because you often end up reproducing the same logic in two different locations: one for the comments side and one for your back end. I think it's a common thing developers in our space are going through right now. Matt Stauffer: That's the second part of this conversation so I'm glad you transitioned to it. We're having this internal chat where Daniel Coborn is basically saying, "Look, most of the sites were hired to do or eventually are going to have some JavaScript so why don't you just go whole hog in the first place?" Caleb is saying, "I want to build Blade apps that have little widgets, and I'd rather explicitly do all the work in my controller and then pass it in these props to the Vue, which is when it comes up." I'm saying, "I want to do all Blade until I find a definitive need the JavaScript's going to happen. When that happens, then I'll modify it the way it should be. We have this kind of continue or whatever. We chose as a different side. I wanted to hear from you guys. If you were to start a new app today, are you in the world where you say, "You know what? I'm going to do Blade and then I'll modify it." Are you in the world where you're like, "You know what? I'm just going to do single-page app all the way." Or are you somewhere in between? Jeffrey just answered a little bit so I guess Taylor, what's your approach right now? Taylor Otwell: The latest thing I wrote which hasn't been unveiled yet, I did basically build it as a single-page app using Vue and Vue Router. Honestly, I really like it. I think Vue Router is pretty nice and easy to use. I think for this particular use case, it just solved the bunch of problems that we would have had trying to make it all Blade. I feel like my use cases, both times I've interacted with Vue Router, which is Horizon as a single-page app, basically, and the new thing. But then, there are unique situations where I wasn't having to duplicate a lot of rules on the front end. Either you authenticated to view the whole thing or you're not. There wasn't a bunch of other authorization that had to happen for various little features. That made it a little simpler, I feel like, to build it as a single-page app because I wasn't having to duplicate a bunch of junk. But if I was going to build something like Forge as a single-page app, I probably would have a little more duplication on various things. I don't know, man. I see Daniel's point to an extent that it does feel good to just go whole hog and embrace it because it feels nice to do it all in JavaScript if you go down that path. I don't know. I think Caleb's point, I feel that pain most often on authorization. I feel like than anything else. Jeffrey Way: Yes, absolutely. Matt, I'm curious about your point. Because I have seen a bit of a backlash to JavaScript in general, where people think, "Okay, you're getting some extra interactivity but the complexity you introduce to make all of these work is sometimes insane." Just the fact that Mix has to exist to make that build process somewhat easy to understand, shows how complicated this stuff can be. I understand exactly what Taylor's saying but I also get the angle of, "Let's put this off as far as we possibly can." Has your thinking on that changed in the last year? Matt Stauffer: Yes. I would say that I love Vue, I love React, I love single-page apps when they're appropriate. I think that knowing what a lot of projects Daniel has spanned recently, and that type of thing that I know Taylor is working on right now. I would pick SPA. I pick Vue Router SPA and I'd pick an API first in that context but I think that we can do that and we can then assume that that is always the right way to go forward. To me, that's not the case at all because of what you just said. I think testing is harder. I think debugging is harder. I think NPM and all the node modules issues breaks more. I think the entire complexity of this system is significantly higher. I think onboarding new developers in the system is more complicated and I want to make sure that it's not because I know PHP better than I know Javascript. I've been writing Javascript for as long as I've been writing PHP. Granted I haven't been writing React and Vue as long as I've been writing Laravel. I think I understand them relatively well and just the whole system everything is more complex than an all Javascript app. I am willing to make that statement and so to me- Taylor Otwell: The testing is definitely more complex. Jeffrey Way: Yes. Matt Stauffer: Yes. So to me, if I'm in a place where I can accomplish it with Blade then I'm not going to introduce any Javascript. If I can accomplish with Blade and the occasional Javascript widget then I'm going to use it with Blade and the occasional Javascript widget. That doesn't mean I don't believe that there are plenty of apps that are better as all Javascript or maybe even not using Vue Router or whatever but like a Javascript page that navigates to another Javascript page so you're doing your React containers or whatever else it ends up doing. I'm 100% on board with that possibility but I need to be convinced that that's the way to do it before I go there. Jeffrey Way: Taylor, for the SPAs you're building, when it comes to testing, are you doing endpoint testing for your backend code? In addition to that, how much client-side testing are you doing? Do you have tons of [crosstalk] Taylor Otwell: I wrote all of the endpoint test and there's hundreds of them for a new project and then we haven't even written the front end test yet, mainly because I'm working with other people on this. Of course, I have Steve, my designer, and then I have another person working on front-end stuff. It's also complicated by the fact that this is a package, it's not an app that Dusk is really easy to pull in to and so we haven't really toyed around with making Dusk work in a package environment yet. I don't know what Dusk's going to look like. We may end up using some kind of Javascript solution. There's just so many little subtle interactions on the front-end that are going to be one, important to test and two, hard to test I think. I don't know, we'll see I haven't gotten there yet. Jeffrey Way: Yes, I'm curious to see how you figure that out. Taylor Otwell: I would like to pull dusk in and just use it to test the package. Ideally kind of like the test bench for the back end which I used to write all my endpoint tests. Hopefully something similarly -- we can do something similar to that with Dusk, we'll see. Matt Stauffer: I hadn't thought about that because I was like, "Oh yes, Javascript just use Java--" but it's not, it's multiple pieces. We have found that once you put the work into the Javascript testing if that thing is full-on Javascript you can get it to be tenable? I feel like Javascript testing is, in our world, is probably the next great hurdle for us to make simple for people. Basic Laravel testing was one hurdle and then, what do you call it?, your package Jeffrey that was eventually pulled in the core like application testing that was the next hurdle. Gulp was a hurdle and Mix was a hurdle. These are hurdles where they're really complicated things that we look at and said, "You know what? People in the community are needing this to be simpler" and someone sat out usually one of the two of you sat out to make it a lot easier. I know that there's at least two people talking at Laracon about testing. Testing in Javascript and stuff like that. I'm super excited about the possibility that -- I thought there's two. I know that Samantha is at least. Her talk is about full-stack testing strategies. The reason for this is because at Tighten we're always asking this question of, what are our different ways of testing the whole way up and down the stack? Samantha's our resident React guru and we've had quite a few React developers at this point but she's the lead in thinking there and she's been asking this question a lot of like, "What does testing look like?" what I told her was like, "I'm going to wait until you give this talk to demand this of you of you but I want you to make it really easy for me and any app to write a Javascript test" I know Dusk and I know Laravel and PHPUnit but I want you to make it super easy for me. I'm hoping that that's what her talk is going to do for me and for everybody else. No pressure, Samantha. [laughs] Jeffrey Way: That would be great. I think so many times developers don't think about that. I think maybe they get too deep in the woods thinking, "okay, this is quite you have to do. You got to get this and this and this and this and this and then pull in these 8 dependencies then you're ready to go." They forget that to a newcomer that's horrible it's so frustrating. The view test utils library works great but just to get to the point where you can start writing your first test it's a lot of work. In many cases like this, it's not spotlighting them specifically but in so many cases like this you find situations where, "This could be significantly easier to get started" and it's not a badge of honor that you have to go through so many hurdles to write your first test, it should be easier. Matt Stauffer: I like that as a metric. I would like to have the ability to write a Reactor Vue test out of the gate. The same way that with a new Laravel app, I can write a test out of the gate without. I literally open up example test and just change some letters and I'm writing my test, that's brilliant. That was not what writing tests in PHP unit used to be like. It's not as if PHP unit is easy to bootstrap but Taylor and company did the work to make that easy, and you did the work to make it easy with application testing upon the core. I'm hopeful that we're we're moving in that direction. Alright. JavaScript, backends, Laracon , Laracasts, Laravel up and running. What are you guys learning these days? Are there any books you're reading? I know Taylor you've been talking about stoicism a lot. I started that one book, the really old one is it Marcus Aurelius or something like that? Taylor Otwell: Yes. Matt Stauffer: I started the book and I'm just moving really slowly through it. Could you could you give me the TLDR elevator pitch for stoicism? Is that is that possible? Jeffrey Way: What is stoicism? Matt Stauffer: Yes. What is stoicism, Taylor? Taylor Otwell: I think the one-sentence thing is this? It reminds me of that serenity prayer, I don't know if you ever heard that where stoicism is very focused on not worrying at all about the things that are out of your control. They define the things that are in your control as only your own boss, basically. Your health is not in your control, your job is not really, it's influenced by external factors. That was a little confusing to me at first because some things, say you're in a tennis match and you're facing someone, and whether you win or not is partly in your control, but it's partly not. I was always confused by that from a stoic perspective. There was one book that helped me resolve that situation, where it was like, You want to internalize your goals a little bit. To succeed at the tennis match is basically to give it your best so to speak. Whether you win or lose, is out of your control at that point, but you're still succeeding as long as you prepare and practice to give it your best shot. That's the main gist of Stoicism is not worrying about anything that's out of your control. Only worrying about the things you actually can control. Everything revolves around that. Matt Stauffer: I like that. Taylor Otwell: Basically Marcus Aurelius' book re-visits that theme a lot in various circumstances. One of the other popular stoic books, probably the other most popular Seneca's letters. He visits that topic on a variety of issues. Death and dying, sickness, what it means to be wealthy, and be a stoic because he was pretty wealthy. Of course, Marcus Aurelius was the Emperor so he was extremely privileged and wealthy. I think Marcus Aurelius' book is surprisingly relatable for a Roman Emperor that lived 2,000 years ago. [laughter] A lot of the things he mentions struggling with are very relatable. I was surprised at how modern it all came across really for someone that you would think would be very disconnected from our life experience. Matt Stauffer: Did I remember you saying something along the lines of Ryan Holiday, the guy who's speaking doing something about stoicism? Taylor Otwell: Yes, he wrote the Daily Stoic which is a really popular book. There's 365 little chapters, every day it's like a little daily reading. He expounds on it in a couple paragraphs. It's a pretty cool little book. Matt Stauffer: Cool. Taylor Otwell: On the tech side what I've been looking into a lot recently is containers, AWS, deployment, stuff like that. Serverless stuff like AWS Lambda. I feel there's gold in those hills somewhere. [laughter] I just feel like it's not really being presented and packaged up in a very approachable way right now. Because AWS feels very low level, it gives you all the tools you need to make things happen but you still have to tie them together in pretty complicated ways to build something useful. Probably the person that ties that kind of thing together the best is something like Heroku but just playing with some of those technologies. I think AWS Lambda is really cool. I really love the idea behind it, where basically you start out with just a function. By default, it's just like a JavaScript function that receives some arguments. You think of it like a little artisan command that receives a payload from the command line. You can invoke this function and pass it, little arguments. Then you can do whatever you want, you never really have to think about the underlying server. I think their concurrency limit is like 1000 concurrent tasks running at a time. It's pretty scalable for most situations, but you can actually do pretty interesting things like you can run a Laravel app on AWS Lambda which I actually did this week. I'm using some tutorials that people had written. It's a really interesting technology and like I said I feel like there's cool stuff there that just needs to be mined out, repackaged, and presented to people in this sort of digestible way. I've been trying to digest it myself and it's very complicated and there's actually a real lack of quality, like guides and documentation on how to do anything actually useful. There's lots of like, "Let's deploy a hello world" nginx page to elastic container service but how do I do zero downtime deployments reliably? How do I set up all my key workers reliably?" All that stuff is not there. Jeffry: You guys are making me feel bad. I'm trying to think of what I'm learning right now and the answer is nothing. I can't think of anything. Taylor Otwell: I've been playing Rocket League like an hour and a half a day. [laughs] Jeffrey Way: I think sometimes it's good to not always reach for something new but to get yourself in a habit of just a daily routine of every single day I'm going to chip away at this. There have been plenty of times where I'm really pushing my boundaries for a little bit trying to learn something new but I can't say that right now. I'm feeling horrible right now. Matt Stauffer: I can tell you, Jeffrey, I'm not learning anything about code right now so don't feel horrible. Jeffrey Way: Really? Matt Stauffer: I'm learning things. Let me tell you the things I'm learning and I bet you you'll have something related. I'm listening to this woman, Esther Perel, who's this relationship expert. I'm listening to her stuff nonstop. My wife and I are both listening to all her stuff. It's really good. It's like this progressive thinking about relationships but every time I've listened or read to people who are talking about this type of relationship stuff they're like, "By the way, you should just have open relationships and be married to 20 people and have sex with all of them. It's no big problem." I'm like, "That's not me so much." But she has progressive thinking that kind of throws of some of the old croft that we brought along with us but stills very much focused on, "Well you're married to this person, stay married to this person." It's helpful. It's like opening up my mind a little bit. The other thing I'm thinking about is money. I may have talked to you guys a little bit I've been- Jeffry: Yes, you're into that lately- Matt Stauffer: I'm so into it. I just got obsessed with how much I hate having a mortgage. It became this massive thing for me. I literally just looked at my mortgage statement and I think this is it, beginning balance, applied balance, and ending balance. I lived in my house for I feel like several years now. It's atleast one year and it might be two years. I'm paying thousands of dollars a month towards my mortgage and I've applied $5,000 to my balance because I'm paying everything to the interest this whole time. I just feel like I'm in this awful system. You guys know this but I've been listening to these audiobooks. One of them is the millionaire one, what's it called? The Millionaire Next Door and then the other one is The Simple Path To Wealth and just focusing on like really simple investment strategies, really simple decisions you can make. I'm not going to talk about -- I could talk to you guys your ear off in the next half hour but to me, the two things I've been learning about are simpler, healthier approaches to money and investment. Then relationship stuff where it's kind of like helping you understand what kind of garbage you're bringing into your marriage or your relationship but in a way that is for the focus of you staying there, to that person long-term versus a lot of the other alternative. You know, half ways to thinking about it. Jeffrey Way: I live everything you say on the finance stuff because you think the more you can simplify your financial situation the better it's going to improve your relationship as a result, too. I think it's the number one or the number two cause of fighting in relationships, is financial issues and of course, not everyone is in control of it. The more you can simplify your finances then and not buy a new car and instead buy an older car or something you can afford. The more you can simplify it, the better it's going to improve your relationship with your wife or your spouse and your kids. I see nothing but good things there. One thing I am doing, though -- This may interest you, Matt, when we had the Laravel podcast months ago I said, "Years ago I stopped playing guitar and the interest I had left" it's come back in the last couple of months. Matt Stauffer: That's awesome. Jeffrey Way: I know and I'm very happy about it. I went and bought a guitar and an amp. I've been playing lately. You can maybe see it in the back there and it's funny to see the parallels with code. I'm kind of getting in -- I'm approaching guitar from a more mature point of view, I guess. I'm getting more into this idea of like, "Okay, every single day I'm going to be working on this. I'm going to take a very fundamental approach to building up skills, whereas when I was a kid it was more, "I want to learn how to do this. Let's figure out how to do this as quickly as possible." Now, I take a very different approach to it, which I feel all of this parallels with code. It's very funny. I noticed on Twitter the other day a bunch of people were talking about how many coders have some interest in music or have some experience with music. It's interesting, the overlap there. Matt Stauffer: I just read the intro to this Imposters Handbook thing that I tweeted out. I wish I could remember the guy's name because he's a well-known software author but he's talking about being a saxophone player. I remembered having read a book by him in the past where he is making a lot of those parallels. Do you know who that is what is? Jeffrey Way: What is it? Hanselmann? Matt Stauffer: It wasn't Hanselmann. He wrote one but then it was the one after that. You guys would definitely know who this guy is but I just remember that he had studied saxophone. I remember him talking about that in his book that I read but yes, who knows who wrote that. Anyway, I'm only a chapter into this Imposters Handbook but I like that. Jeffrey Way: Very cool. Matt Stauffer: We are at 50 minutes, which is usually when we start ramping it down. Is there anything else going on with you guys, anything you've been thinking about or learning or exciting about that you want to get a chance to chat about? Taylor Otwell: Not for me that I haven't already discussed, I don't think. No, just what I already discussed but we're working on new Forge things, trying to make people's lives easier and Envoyer is getting redesigned, which it hasn't gotten since I originally wrote it in bootstrap, so that will be nice. Other than that, I think that's about it really on my end. Jeffrey Way: Matt, can you share any news about who's coming up on the podcast? Matt Stauffer: Oh man, I don't actually know who's next but let me go pull up my Trello board real quick. Basically what I'm trying to do is, I've been a little sneaky on this but I'm trying to mix up people who everybody knows, who everyone's been waiting for because every once in a while people are like, "Why has Adam not been in the podcast or whatever". I'm trying to mix up those people who I know that people are anxious about, for the people who they're not anxious about but I know that they're going to be really excited when they hear it. There's a couple of people who I know everybody want to hear and I'm trying to spread them out like every three or four guests and then be like, "Yes, but there's these other people that you don't know are super awesome." Some of my favorite responses have been people like, "I've never even heard that person's name before and now I want to be their best friend", I'm like, "Yes, I did my job well." Of course, the well-known names in Laravel are all going to get interviewed. I've got a list of dozens and dozens and dozens of people. I know that Adam's going to be coming up soon for sure and your Eric Barnes and your Chris Fidao's and them are going to be up in there, of course, as well and Freek and folks like that. One of the things I did also, was I didn't interview anybody from Tighten because I didn't want to seem like it was nepotism, but there's quite a few really interesting people at Tighten, so I think the Tightenites are going-- I'm going to start slipping in some Tightenites and some Vehikl and Spatie folks. I'm going to start slipping in some of those folks as well too. There's a huge list, I mean, you guys, I could do dozens and dozens and dozens of more just from the list I originally spit out before even touching any of the suggestions I got on Twitter. There's a lot of good ones coming. Jeffrey Way: I'm excited. It's been fun hearing from people that I'm not overly familiar with. I think that's a very wise choice you've made. Matt Stauffer: I'm happy to hear it, I had so much fun. Of course, I miss you guys which is why we're back here for today. I figured we can do this one, every dozen or something like that, keep that lines of communication going. Jeffrey Way: Yes. Cool. Matt Stauffer: All right guys, feeling good. Anything else? Jeffrey Way: That's it. Matt Stauffer: It was a ton of fun talking to you guys and I can't wait to see you in a couple months. Until then, thanks for hanging out and we'll see you all later. Taylor Otwell: Alright. See you. [music]

The Laravel Podcast
Interview: Jeffrey Way, founder of Laracasts

The Laravel Podcast

Play Episode Listen Later Nov 9, 2017 71:21


An interview with Jeffrey Way, the founder of Laracasts. Laracasts Talk at Laracon about tech he had to learn Jeffrey's 10-year-old articles at Freelancefolder.com Transcription sponsored by LaraJobs Matt Stauffer: Welcome back to the Laravel Podcast. Today I'm interviewing Jeffrey Way, the creator of Laracasts, and one of the original ... Wait, the original? One of the OGs of Laravel. Stay tuned. All right. Welcome back to the Laravel Podcast. This is season three, and like I said, I'm not giving you crazy people episode numbers, because I'm bad at counting, so this is the latest, whatever it is, episode of the Laravel Podcast season three, and I've actually got one of our long-term recurring guests with me. I've got Jeffrey Way, the man, the legend, the creator of Laracasts, and one of the significant popularizers of Laravel. Man, half of y'all, more than half of y'all, when you learned Laravel, you were learning it from this guy. But what I like about this season is that you might know about what he's taught you. A lot of people say, "You know what? I listen to him every single day. I feel like I basically have a relationship with him at this point." But you might not know a lot about where he came from, so I'm really excited about the opportunity to sit down with Jeffrey for a little bit and kind of ask some questions about who he is, and where he came from. Jeffrey, I have some things I already have queued up, but I'm also excited to see kind of what's going to come up as we go. First thing, top of the line, say hi to the people, and when you introduce yourself to someone new, not in our context, what do you tell people you do? I just want to hear your pitch. Jeffrey Way: My name is Jeffrey. I'm a web developer. I've been doing it for about 15 years at this point. I run a business call Laracasts, which hopefully listeners of this podcast know. If not, it's dedicated to education mostly in Laravel, but really just the Laravel developers. It covers a lot of the ecosystem that we use, like Vue, and Webpack, and HTML, and CSS. It's kind of for that type of developer. Lots of sites cover everything. They cover Ruby, and Python, and PHP, and Node, and it ends up getting a little overwhelming, because most people do have a focus. Matt Stauffer: Right. Jeffrey Way: That's why I created Laracasts. Matt Stauffer: Well, the interesting thing is, in some ways it's very focused, right? It's the video tutorial site for the Laravel world. But on the other hand, it's everything the Laravel developer needs, and so it's not just PHP. It's not just Laravel, right? You're covering front-end. You're covering back-end. You're covering process. It's got Git, and it's got PhpStorm. That's what I love about it, is that you say it's not just Laravel, but it is for the Laravel developer. Everything that person needs. I love that. I love that you gave yourself the freedom to say, "You know what? Whatever. As a Laravel developer, I write CSS. Then therefore Laracasts can cover CSS." Jeffrey Way: Yeah, because really, as you know, Laravel ends up being a big piece of the puzzle, but really most of your time you're trying to solve other problems, or you're trying to figure out, "I screwed up this Git commit. How do I fix that?" Laravel is one piece of the puzzle, but there's countless pieces that we have to deal with every single day. It tries to cover all of that. Matt Stauffer: I remember your talk a few years ago, I think it was at Laracon, where you went on that whole kind of prepared rant about all the things that you have to know to be a web developer today. I'll make sure to link that in the show notes. Jeffrey Way: Yeah. You know, that ended up being the most popular presentation I've ever given. Matt Stauffer: I believe it. Jeffrey Way: On YouTube, it has 100,000 views or something. It's crazy. Matt Stauffer: That's awesome. Jeffrey Way: I've never had a presentation that popular. Matt Stauffer: Now that you heard that, you probably know that if you are listening to this podcast, and by some crazy, crazy, crazy reason you've never heard of Jeffrey, you've never heard of Laracasts, everyone else is already kind of giving credit to this, but I want to put my voice behind it. I have said for years, since long before I knew Jeffrey, before Laravel even existed, Jeffrey Way is one of the best teachers on the entire internet. Period. Jeffrey Way: Thank you, Matt. Matt Stauffer: If you are not subscribed to Laracasts right now, go to Laracasts.com and subscribe. I promise you you'll thank me for it. When you said that thing about what we have to learn, I'm actually onboarding a new developer to Titan as of this week, and she just graduated with her computer science degree, but she's been learning Laravel and kind of doing this stuff on the side, and so I did one of our first pairing sessions where I know what her level of Laravel knowledge is, but this morning I was like, or last night I was like, "Oh, yeah. I guess you need to learn responsive web design, and you need to learn what media queries are, and what rems and ems are." I thought about all the Laravel stuff she needed to learn, and not all this other stuff. I was like, "Okay, yeah. All these things all together." Jeffrey Way: It's crazy when you think about how much we have to learn. We all just agree to it, too. Like, why are we agreeing to this? It's so difficult. I look back and it's like, for 10 or 15 years now, every day I'm probably learning something new. That's why we have that joke that we all spend our days on Stack Overflow. Matt Stauffer: Right. Jeffrey Way: It's like, every day you're presented with something where you're like, "I don't know how to do this." You know? Matt Stauffer: Yup. Jeffrey Way: It's a little overwhelming, but that's how it goes. Matt Stauffer: Well, a lot of us, honestly, the first time ... I'll tell a little story about this in a second, but a lot of us the first thing we do when we have a problem is not go to Stack Overflow, but we go to Laracasts and see if you've covered it. It's funny, because in our Telegram chat, sometimes somebody will be like, "You know what? I need to learn this thing. Jeffrey, please go make a video about that so I don't have to learn it on my own." We're starting to get into code, and I promise you that that was not what this is going to be about. We are going to talk about Jeffrey. Here's what I know about your story, and I hope that this is going to give us an opportunity to figure out where to dig in. I know that your parents were composers and songwriters in Nashville, or in the music industry in general. I know that before you were full-time in programming, that you did ... I'm guessing classical guitar, but I know it's basically professional guitar playing. I know at some point you transitioned to web. I know that you did some web development teaching. You ended up at NetTuts, and eventually you split off and created Laracasts. That's the high-level knowledge. There's so many spaces to fill in. First of all, let's start out with growing up. My guess is that you grew up in a music family, and you were just into music at an early age, but is that actually true? Jeffrey Way: Yeah. Yeah. It's pretty true. Matt Stauffer: Was it mainly guitar? Jeffrey Way: Well, I started playing guitar when I was about seven. Matt Stauffer: Wow. Jeffrey Way: My parents divorced when I was five, but my mom was- Matt Stauffer: I'm sorry. Jeffrey Way: It's okay. My mom was a professional songwriter in Nashville. My earliest years, I spent in music studios. I remember sometimes we'd be in the studio until midnight, and I'd be passing out on some couch while they were just at this huge recording setup. Matt Stauffer: Wow. Jeffrey Way: It was very fun in hindsight, but at the time, you're a little kid. You don't think it's very cool. Matt Stauffer: Right. Jeffrey Way: When in fact, it's actually incredibly cool, because this is where some of the most famous songs ever have been recorded, but yeah. That's how I grew up, so of course I got into guitar at a very young age. Both of my brothers played, so you just kind of follow in your siblings' footsteps, and that's what I did for a very, very long time. I got hooked. I don't know what it is, but for kids, you never know what it's going to be, but there's one thing that hooks them. Everything else, they brush off. You'll find one or two things that they just latch on to. Guitar was that for me. I loved guitar and finding patterns. I thought that was the coolest thing with guitar. It's not like that with other instruments, but with guitar, there are patterns. There are shapes that you can play on the guitar, and you know, "Okay, if I memorize this shape, if I move it up here I can play that same shape in an entirely different key." I always thought that was very cool. That's what I did all the way through middle school and high school, and college. I had a music scholarship. Matt Stauffer: I mean, you were playing at seven years old. I didn't even touch a guitar until I was in high school, and I never got very good. Was it very casual at seven, and it never got really significant until college? Were you the type where people are looking at you at 12 years old, being like, "What? Is that 12-year-old playing that right now?" Jeffrey Way: I would sound like a jerk if I said yes. No. I mean, naturally it starts off kind of slow. I'd learned how to play a few blues progressions and things like that, and then the older I got, the more serious I got about it. Matt Stauffer: Sure. Jeffrey Way: By the time I got to college, it was four hours a day in practice rooms and doing that. Matt Stauffer: Yeah. Jeffrey Way: Yeah. I don't know. It just hooked me, and then at some point after college, it left. I don't know what it is. I always worry about that with coding, is just the obsession that I felt for guitar just left. Completely left. I have a guitar right here I'm looking at, but I just don't even play it that much. It makes me sad, honestly, but that's just how it is. Matt Stauffer: I'm sorry to be fascinated by your sorrow, but I'm fascinated by this whole progression, but I want to go back just a second. When you were talking about being in the studio with your mom while she was writing, I'm picturing- and I've watched way too many movies- but I'm picturing this mom working hard to put bread on the table, and she's working late nights, and the kid's in the background doing his homework while he's kind of laid out on some couch in some studio. Am I getting the right vibe there, or am I romanticizing it? Jeffrey Way: Pretty much. Yeah, no. You can think of a dark room with a huge recording setup, and yeah. Them playing the same track over and over. They play the track for five seconds. "Whoops, made a mistake. Rewind it. Play it again." As they go through each layer, and the singer goes- Matt Stauffer: She was a songwriter, but she was in the studio with the people who were actually recording it? Jeffrey Way: Yeah. Yeah. She would do demos. For songwriters, they write a song, and then they'll go in the studio and do a demo. Matt Stauffer: Oh, okay. Jeffrey Way: At least this is how it works in Nashville. Then that demo will be shopped around to all of the labels for ... She was in Nashville, so it would be shopped around to people like Shania Twain, or Faith Hill, or those types of people. Matt Stauffer: Would she sing the demo? Jeffrey Way: No. No, no. We'd get professionals to do it. Then I started playing guitar, and I wanted to be the one playing. Of course, I wasn't even remotely good enough, and my mom let me know that, which hurt my feelings significantly, but she was of course completely right. In my head, I thought I should be the one in there playing guitar in this demo, with two years experience, which is ridiculous. Matt Stauffer: Right. Was your goal to be a studio musician, or performance, or just whatever came? Jeffrey Way: Of course I wanted to be like a rock star as a kid, but then as I started getting older, I started figuring out my personality, and I started realizing, "I'm probably not the personality type to go on tour and stuff like that." But I did like the idea of being a studio musician, where it's like you have your day job, and you go in, and you do your work, and then you go home and you can be with your family. Because I always thought, even when I started dating my wife in college, and even then I was still focused on guitar a lot, and I was thinking to myself, "Do I want to go on tour and then just not be with her for four months out of the year?" That ends up what happens if you're a touring musician. You leave for months at a time. You come back for a week, and then you're back on the road. Even then, I was thinking, "I don't want to be away from my girlfriend or my wife for long periods of time." That's when I switched to being a studio musician, but I don't know. Whatever it was completely left, that obsession. I think about it a lot, actually. Matt Stauffer: It's not just the obsession that left, because it seems like even the simple joy that comes from playing. Because it wouldn't hurt you. You run your own business. You could take an hour and just go play right now, and the whole thing wouldn't come crumbling down, but that's not even the first thing you would do right now. It seems, and maybe I'm reading it wrong. It's not just the obsession that's gone. Is it even the joy from playing? Jeffrey Way: Yeah, kind of. I always think the things you love will come back, so I have this feeling when I'm older it will come back, but I don't know if it was because I was doing it from such a young age so seriously, for so long that I burned out? Matt Stauffer: Yeah. That's what I was wondering. Jeffrey Way: I feel like it's the guitar version of burnout. Like, I completely burned out on it, and it just wasn't fun anymore. Matt Stauffer: I assume this was just a couple of years out of college, so it was probably you had gone from it being the thing that you pursued on your own to all of a sudden a more structured thing? Or is that not a true characteristic? Jeffrey Way: It was right in college when I kind of stopped. Maybe it was this. I was in college on a music scholarship, and in college, for whatever reason, it was like, "You don't go to college to be a rock star." Matt Stauffer: Right. Jeffrey Way: They're going to have you either playing jazz music or playing classical guitar. There, it's like, what's required of you is you go into a study room and you practice four hours a day to get the notes exactly right. Even at the time, I remember thinking, "This isn't why I got into guitar." I didn't get into guitar to play this piece from the 1500s perfectly in front of a bunch of people while I'm wearing a suit. That's not why I got into it. I think that somewhat ruined it for me. Matt Stauffer: That's what I was wondering, whether it's the process of taking the thing that you loved, which is playing guitar on the songs you love, in the way you want, when it's your motivation to do it, and turning it into playing somebody else's music with pressure, in contexts that you normally wouldn't choose, with the structure and the pressure around it. It's like some people say, "I loved coding when it was my side thing, but once it became my full-time job, it kind of sucked the joy out of it." Jeffrey Way: Yeah. You hear about that a lot, in tons of industries, where it's like if you take your passion and then suddenly it's your job, it goes away. I've heard about that with photographers, where it's like they love photography, but then suddenly they do it every day for a living, and they grow to hate it. I worry about this with coding a lot, honestly. Like, "Will I get to the point where I hate it and I dread it every day?" Do you think about that at all? Matt Stauffer: All the time. I think about it all the time because it's the same thing. I've had that happen before, and I can't believe I can't think of it right now, but I know that at least in some ways when I was doing some art, I had a little bit of the same experience. It was fun, and it was creative, and when it became work and there's pressure to perform a creative act in a certain ... You know, it was very difficult. Jeffrey Way: Right. Matt Stauffer: But for some reason, with programming, I often tell people, at least for now, I've been back into professional programming for seven years I think at this point. I don't see any signs of it. I'm worried about it just like you are, but for me, every new day there's 100 things I could be doing that are fascinating to me. I think maybe we joke about the fact that there's so much pressure on us to learn all these things, but maybe the fact that there's so much new, there's so much open, and there's even within that, there's so much choice for us about what we want to pursue, that even though we have to sit down and perform, if our jobs are healthy ... I mean, your job is. You get to pick what you're doing. My job is. I give everybody 20% time. We have that breathing room to go and explore and be fascinated, maybe, like we were before it was a profession. That gives us a little bit of that breathing room. Jeffrey Way: Mm-hmm (affirmative). Yeah. Yeah. Absolutely. I think about it sometimes with school, you know? When you force kids to learn, are you ruining it for them? Matt Stauffer: Right. Jeffrey Way: That's that common discussion that goes back and forth. It's got to be this hard line to walk, where it's like you need to encourage kids to learn these specific things, but if you push too hard, you're going to ruin it, because you're going to ruin it for them. I think about that a lot now that I have a daughter. I'm not sure how we're going to do that. I guess you have to present them with lots of choices, lots of things, and then wait to see what they really latch on to. Matt Stauffer: Yeah, and really good teachers help make things fascinating. I think the best kind of teacher, whether it's in school, or even I'm trying to remember what it was, but I was listening to somebody talk about being a good podcast host. The best way to make something interesting is to be curious, and to invite kids along with this curiosity, to invite their learners along, where you are helping basically infect them with the desire to know more, and the fascination. Instead of forcing you to learn this, you're developing within you a curiosity and a fascination, and once you think about it that way, a lot of the best teachers use that language, but I don't know if that language would have clicked before we started thinking this way. It's the same thing for me. Once I had kids, I totally thought about learning and school a very different way. Jeffrey Way: No, I agree. It's contagious, too. Who I think does this better than anyone is Neil Degrasse Tyson. You don't even have to be interested in astrophysics. Matt Stauffer: Yeah. Jeffrey Way: But if you listen to him talk, just go on YouTube and find any presentation he gives, he's so passionate and so enthusiastic about it that he'll be talking about something so mundane, and he will make it sound incredibly interesting. Sometimes I'll just go on YouTube and watch video after video of his, because it's contagious. Matt Stauffer: Yeah. Jeffrey Way: Really interesting stuff. Matt Stauffer: It's interesting, because it's a two-way thing. I think individual people can be so fascinated in maybe a relatively uninteresting thing that their fascination can be contagious, but I also think that we can develop within us a curiosity and hopefully develop within other people a curiosity that makes otherwise boring things more interesting. I often have conversations, I'll meet somebody at a dinner party or something like that, and my wife will make fun of me because I'll meet this new person I've never met before who doesn't seem that interesting, but they are very interested in something, and they might not have the Neil Degrasse Tyson in them to make it sound interesting, but I can spend an hour with them and be fascinated by ... I remember meeting this guy who at first was just very neckbeardy, judgey, makes everybody else feel dumb. But I was like, "There's something this guy is brilliant about. He's a PhD, blah blah blah." I discovered that he cares about certain phase quasars, blah blah blah blah blah, and ended up learning about those things for hours. I don't care about those things, but for those couple hours, I was fascinated by it. I think it's an intentional curiosity that we can try to develop in ourselves that helps us. I don't know. That's my hope for my kid, is that they become curious, you know? Jeffrey Way: Yeah. No. That's great. That's great. Matt Stauffer: Okay. Studied music, went off to school. I assume that you were majoring in guitar performance? Was that what they called it? Jeffrey Way: Music theory was- Matt Stauffer: Music. Oh, so you weren't even in performance, so the theory, was that part of the load? Jeffrey Way: I'm actually trying to remember. It was like performance ... One was a major. One was a minor. Matt Stauffer: Okay. Got it. A little bit of both. Jeffrey Way: I can't even remember, but yeah. I was doing both every single day. Matt Stauffer: You lost the passion in the middle of college. Did you graduate with that degree, or did you switch to a different degree program? Jeffrey Way: I didn't even finish college. Matt Stauffer: Oh, yeah. Jeffrey Way: I dropped out. Yeah. In the middle of all of this, I started losing interest, and then I started focusing on code a little bit. It was funny, I remember talking to my mom about it, and she was very upset about this, because of course she was a musician and a writer, so she thought her kids was going to follow in her footsteps. Then suddenly, I'm leaning towards programming. I was trying to explain to her, "No, there's a huge amount of creativity in this." But to her, it's just like, "Code. Code. Code." Matt Stauffer: Right. Right. Right. Soulless. Jeffrey Way: Very mechanical, soulless. Not an ounce of creativity in it, which couldn't be further from the truth. Matt Stauffer: Yeah. Jeffrey Way: Anyways, I started focusing on that more and more, and the more I got into programming, the less I was into music, and it just slowly faded off. Matt Stauffer: One of the questions I always ask everybody ... Sorry to cut you off. When did you first get access to a computer, and when did you first start getting into programming? Jeffrey Way: I'm going to have to apologize, because I was listening to some of your other episodes, and everyone got into programming when they were 10 years old or something. Not for me. Not for me at all. Matt Stauffer: Oh, that's good. Jeffrey Way: My first computer wasn't even my computer, of course. It was the family computer. I remember playing Number Munchers, which was this old game on the Mac. Matt Stauffer: Yes! Jeffrey Way: Yeah. I think we've talked about that before. I was obsessed with Number Munchers. I'll listen to DHH interviews and he'll talk about when he was seven years old, learning this old language that I've never heard of. That wasn't me, honestly. I didn't even show much interest at all until I was about 17, honestly. Even then, I'd learn a little HTML. Just enough to write a blog post or something like that, but I didn't have any huge fascination with code ... I didn't know what it was, honestly. I was focused on music. But I would say, so much of what I learned from music I feel like has crossed over, weirdly enough. The whole idea of looking for patterns, and shapes, and just the discipline to stick with something that you can't do, and then suddenly you can do it. I feel like that helped me when learning programming, because there's so many things with programming, it's like you just have to sit there for four hours until it clicks in your head. Matt Stauffer: Yeah. Jeffrey Way: I have lots of memories of ... In the early days. I don't do it anymore, but when I was young I'd stay up til 3:00 in the morning just trying to figure something out, because it wouldn't click. Then I love that feeling of all of a sudden, you think, "Oh. I get it." Matt Stauffer: Glorious revelation. Jeffrey Way:"I understand how this works now." There's no shortcut. You just have to sit there for hours until it clicks. It is a great feeling. Matt Stauffer: I had that moment both with object-oriented programming, and unit testing. Obviously I've had much smaller ones, but those were both ones where it took months, and everyone would talk about the thing, and then talk about the thing, and I just didn't get it. Then all of a sudden it was like, "What have I been doing my whole life up until now?" Jeffrey Way: Right. Right. Matt Stauffer: A lot of people who have your story, and by the way, I want to totally affirm the fact that I think that if everybody said, "Hey, I started computers when I was seven." Then it would be discouraging to folks who are just getting into it now. There is plenty of space, and even Mohammed's story a little bit had a little bit of the later as well. There's space for anybody to come in at any age and any time. I think that really the most significant thing is, people in our generation, people in the ... Probably, I don't know exactly, but their late 20s to late 30s probably, somewhere around there. We're kind of old millennials or young Gen Xers or whatever. I feel like a lot of us have a similar story, just because in order to be a full-time programmer right now, it's likely that you got into it earlier. Otherwise you wouldn't have had enough history to be a full-time programmer now, but that's not guaranteed. I mean, you're a full-time programmer and have been for years. It's cool to hear a story that's a little bit different than what we've had. Jeffrey Way: Mm-hmm (affirmative). Matt Stauffer: A lot of people, when they talk about ... Especially since you didn't get to it because you had somebody in the family who's a programmer. You weren't taking classes. A lot of people say, "Well, you know, I played video games, and my clan, I made the clan website," or something. What was it for you? Jeffrey Way: Oh. My parents were starting this ... Because my mom was a writer, they had this idea for a business. I talked about this at the last Laracon. They had this idea for a business where aspiring songwriters could mail in their tapes, and then you'd get actual professionals to review it, and they would actually record themselves. They'd go over the song. They'd give you advice. This was a long time ago, and then they'd send it back. They'd been talking about this idea for a long time, and I remember it was Christmas night, we went out for Chinese food, when I was ... I don't know how old I was. 19 maybe. We were talking about it, and I said, "You know, I could probably build this website." Once again, not even close. I was so arrogant, so ridiculously arrogant. No, I couldn't build the site, but in my head I was like, "You know what? I could get a book, and I'll just figure it out, and I'll build this for you guys." Matt Stauffer: Did you know any back-end programming language at all at that point? Jeffrey Way: No. I knew HTML, and when I created HTML tags, of course they were in all uppercase. Matt Stauffer: Yeah. Yeah. Jeffrey Way: But that's it. That's all I knew, and I was just thinking, "Oh, I'll go get some programming book." Of course when you think, "Okay, I'm going to learn how to build a website. I need a programming book." You're immediately presented with choices that you're not capable of solving. Like, okay, do you get a PHP book, or are you going to learn Visual Basic, or C#? Do I try ASP.net? Matt Stauffer: Classic ASP? Jeffrey Way: It's like, "I don't know what any of these things are. I don't know how to distinguish between a language or a framework, so I have no clue which book to get." I had no clue which book. I had no idea where to start, even remotely, but it was a good adventure, in hindsight. Matt Stauffer: Do you remember what book you got? Jeffrey Way: I'm kind of mad at this. My brother recommended I get an ASP.net book. Matt Stauffer: Oh, yeah. Jeffrey Way: You know what? In hindsight, I feel like that was bad advice, not to throw him under the bus, but I didn't know ... I knew HTML, but no, I didn't. I knew how to make a bold tag, and an italic tag. But I feel like the advice should have been, "Okay, go find some kind of HTML and CSS for Dummies type book. Learn that. Figure out how to create boxes and move things around." That's really step one, before you even get to programming. Matt Stauffer: Yeah. Jeffrey Way: But no, I kind of started with ASP.net, and I was learning Visual Basic, and then all of a sudden I'm trying to build this site for them, but going through the book it's having me build more little programs, like a little calculator. Making a calculator in Visual Basic really has no relevance to how you would construct a website, but that's what I was learning how to do, and it was cool that I was figuring out, "Oh, I'm making a little crappy calculator here." But it didn't get me any closer whatsoever to building this website. Matt Stauffer: Right. Jeffrey Way: Then at some point, I worked in .NET for a little while, but then ... It's been so long. At some point, I switched over to PHP, because it seemed ... I switched over to PHP, and I was kind of learning Ruby too, and I think a lot of people do that, where it's like you're not really sure. You kind of experiment with a handful of different languages, but yeah. Eventually I zeroed in on PHP. You know what? Actually looking back, for that website, it was built in ASP.net, actually. Matt Stauffer: I didn't know that. That's fascinating. Jeffrey Way: Yeah. It was horrible. A horrible site. Matt Stauffer: Yeah. I've written some ASP.net in my days, and it was not exactly the same, but I was a PHP developer who got an internship at an ASP.net site or company, and I was able to do most of what I needed to do. I was building little reporting front-ends for them in PHP, but every once in a while I had to write ASP.net. Walking into ASP.net and Visual Basic not knowing what you're doing, I feel like is not the same as walking into PHP not knowing what you're doing. Jeffrey Way: No. No. Matt Stauffer: Yeah. I can imagine. Jeffrey Way: It was horrible. It's so complicated. Oh my gosh. Still to this day, I feel like my brother told me that just because he worked in the industry too, and maybe he was like, "Oh, this is too hard for you, Jeffrey. Take a look at this book and you'll be scared away." Matt Stauffer: Is he still a programmer? Jeffrey Way: Yeah. He is. He hates it. He hates it. Matt Stauffer: Okay, so you've got both music and programming in the family, then. Jeffrey Way: Yeah. Yeah. Matt Stauffer: My brother is a .NET programmer as well. Jeffrey Way: Oh, he is? Okay. Matt Stauffer: Yeah, but he's the one who originally taught me Vim and PHP, so I can at least credit him for getting me in the right angle. Jeffrey Way: Yeah. Why didn't you stick with .NET? How did you switch to PHP? Matt Stauffer: No, he taught me Vim and PHP. He switched over to .NET later. Jeffrey Way: Oh. Oh, gotcha. Matt Stauffer: I was doing WordPress at the time, so there's no reason for me to switch. Jeffrey Way: Okay. Gotcha. Matt Stauffer: You and Taylor both have .NET in your background. Jeffrey Way: I know. Isn't that funny? Matt Stauffer: Yeah. I did .NET at that job and hated it. I was like, "You guys are doing these crazy compile processes, whereas I can build this web base front-end and PHP to give them all the information they need. That's going to take me three days, and it's going to take you guys three weeks and 15 compiles, and this crazy environment, and I can write it in a text editor and get it online in three days." Jeffrey Way: I know. That was the joy of PHP for me, and I was always amazed because ... Not so much now. It still happens now, but especially way back then, 10 or 15 years ago, PHP just kind of crapped all over. Matt Stauffer: It sure did. Jeffrey Way: People would make fun of it. When I came to that from working with ASP and HP.net, it was really nice. Matt Stauffer: Yeah. Jeffrey Way: I was like, "Oh my god. I can just create an HTML file, I'll add a little PHP above the doc type, and then it actually kind of works." Matt Stauffer: Boom. Dynamic data, right there. Jeffrey Way: It's like, "Holy crap. This is really nice." Matt Stauffer: Yeah. Jeffrey Way: I know people trash that way of programming, but to me it was like, "Wow, this is so much simpler than what I've been doing over here." Matt Stauffer: Yeah, especially if you'd written any ASP. I went from classic ASP to PHP, so at that point, PHP is glorious, because classic ASP was like PHP but not as good, basically. That transition just makes you love PHP. I can understand. You crap on it if it's coming from somewhere else, but there's some places where you come to PHP and it's like the motherland. Jeffrey Way: Yeah. Yeah. Absolutely. Matt Stauffer: Okay. You got into .NET a little bit. You didn't finish the guitar stuff, so you were out on your own. Were you doing freelance web development, or what were you doing kind of to pass the time, or to pay the bills or whatever for those first couple of years? Jeffrey Way: Yeah. I did a number of things. I started doing freelance web development. Once again, just so in over my head. The arrogance of thinking I could take on these projects for people when I had six months of experience, but I created a website called Detached Designs. I had this idea in my head that I was a designer, which couldn't be further from the truth. Matt Stauffer: You and me both. Jeffrey Way: But that's what it started out as. I was like, "Yeah, I'm going to go custom web design for people." I created Craigslist ads. Matt Stauffer: Nice. Jeffrey Way: For some reason, they always got reported as spam. I'm like, "They're not spam, folks. I'm trying to make some money." But anyways, somebody eventually hired me, and one of the first projects I ever did ... I think I talked about this somewhere else. I can't remember, but it was an urn site. Matt Stauffer: What's that? Jeffrey Way: Urn as in like when you die, and you're cremated. Matt Stauffer: Oh, like ceremonial urns. Jeffrey Way: They put you in, yeah, a decorative urn. Matt Stauffer: Yeah, yeah. Wait, is this the one where you were storing the credit card information? Jeffrey Way: No. No, no, no. That was another one. Matt Stauffer: That was later. Jeffrey Way: No. This was just a simple site. Some woman out of her house was selling decorative urns. So morbid. She wanted me to create a website to show them, and people could pick the one they wanted, but once again, that was horrible. Matt Stauffer: Was it dynamic, where she could upload them to CMS, or was it just kind of- Jeffrey Way: No. Matt Stauffer: Yeah, okay. That's what I thought. Just a whole bunch of pictures. Jeffrey Way: Heck no. I was just proud enough to get the images on the page, honestly. Matt Stauffer: Yeah. Jeffrey Way: I had a nice ... I was probably using a table layout or something. Actually, no. I was learning CSS. I don't know. I might have been fancy there. Probably not. Anyways, yeah. Just a crappy little thing. I don't even know if I had pagination. Probably rather than pagination, I just created ... If there were four pages for the urns, I would just create four HTML pages to show them. Matt Stauffer: Yeah. Jeffrey Way: But you know what? That stuff is good for you. Everyone kind of has to go through that process of just building junk. I made a little money off of it, and I think she eventually abandoned it, but that's okay. It's a good memory. Matt Stauffer: I was just going to ask if it was still online. Jeffrey Way: No. I was hoping. I probably could use the Wayback Machine to find it, but I can't even remember what the domain name was. Matt Stauffer: That was your first paid project? Jeffrey Way: Yeah. I think I made $350 bucks off that. I was like, "I'm doing it. I'm making some money here. This is the future. I'm all in." Matt Stauffer: That's amazing. My first one's still online, and I made $200 bucks from it, and it's the same. Jeffrey Way: Oh, yeah? Matt Stauffer: They sell flowers. They sell daylilies, and it's the same thing. It's just daylily, after daylily, after daylily, after daylily. Basic stuff. Tabled it out. Jeffrey Way: Yeah. It's still on ... Well, mine's not still online, so you must have done a much better job. Matt Stauffer: Gotta see if you can find it on the Wayback Machine, though, and we'll put that in the show notes if you can find it. Jeffrey Way: Then I did a handful of things along those couple of ... Maybe a year or two. I did one for a Harvard sorority, believe it or not. I don't know why they contacted me on Nashville Craigslist. They were called the Harvard ... I can't even remember their name. They were almost like an acapella group, like Pitch Perfect. It was something like that, and I made their site. They wanted all this hot pink and black. It cracked me up. The whole site was hot pink and black. Matt Stauffer: Right. Jeffrey Way: That's funny. I'm trying to remember some of the other things I did. It's been so long. It's amazing how quickly that stuff just kind of exits your brain. Matt Stauffer: Yeah. Jeffrey Way: Yeah. Lots of little small stuff like that. Matt Stauffer: During that time, you had decided you weren't going to do music anymore. You were still living in that area, and you were just doing freelance web development, and that was kind of your main thing. Were you working together with any other people? Were you married at this point yet? What else were you doing in your life at that point? Jeffrey Way: Yeah. At this point, I was probably 21, and I was still trying to piece things together, so I didn't feel qualified to try to get a job anywhere as a developer. Even at that time, I was thinking, "Maybe I should go back to school and actually learn this for real." At this point, nope, I wasn't married. I didn't get married until 25, 26. My wife's going to kill me. I can't remember. 2011 is when I got married. Matt Stauffer: As long as you remember the day and the year, you're good. Jeffrey Way: Yeah. Yeah. It's hard to remember the age. I stuck with that for a while, and then I got a pretty big contract, at least for ... I call it "contract" like it's really fancy. I had just got a pretty cool job working for a company called Sirona, and they create all these medical ... I don't even know what it was. It was just all these medical scan machines that they use. Those things that cost like $500,000 a pop. Somehow, once again, they came to me. It's just idiotic why they would take something that big and give it to a stupid kid who didn't know what he was doing, but somehow I was creating their website, and I was even creating those little brochures and mailer. That's where I learned about mailers that they would send out to people. Suddenly, I was doing design work, and I was buying all these design books I could find. Then I was suddenly making a Flash website for them, which was the worst experience I've ever had. Matt Stauffer: That was my next question. Did you ever get into Flash? Jeffrey Way: I got into Flash a little bit, and I hated it, and I was so worried because back then I was thinking, "You know what? This is the future." Just to show you whenever people say, "Where's the web going?" I would have told you back then, "I think Flash is probably the future." Matt Stauffer: Everybody else would, too. Everyone said it all the time. "Flash is the future. Gotta get into Flash." Jeffrey Way: Yeah. It's like, anyone who made just kind of traditional websites, it's like, "You can't even begin to compete." Because of course every single client you might work with, they wanted music in the background, and they wanted, when you hovered over a link, they wanted a little sound effect. Matt Stauffer: Yeah. Jeffrey Way: All that old-school stuff from 2005. But yeah, I was thinking, "I gotta learn this. This is going to be the future." But I hated it. I really don't enjoy that aspect of it whatsoever. Then as it turns out, Flash is almost completely dead at this point. I didn't know that back then. Matt Stauffer: It makes you a little wary of the promises that JavaScript SPAs are going to take over the whole world. It sounds the same as Flash did back then. Jeffrey Way: Mm-hmm (affirmative). Mm-hmm (affirmative). It could be true, as well. I'm not sure about SPAs. SPAs are, on one hand they're so cool and they're so responsive, and then on the other hand, so often they break and they don't work. Matt Stauffer: Yeah. Jeffrey Way: Or they suck up memory, and I don't know. Matt Stauffer: Never let it go. Jeffrey Way: Sometimes I go to those news sites where there are SPAs and everything is fancy, and you click on a news article, and it slides in, and it's like, "Okay, this is cool, but I'm not sure if this is better." Matt Stauffer: Yeah. Jeffrey Way: Anyways, that's a tangent, but yeah, I spent a long time working for Sirona, and that's where I kind of built up a lot of my jack of all trades chops, because I was doing a lot of design work, somehow was piecing it together, and then I was doing web work, and Flash work, so I feel like that gave me this huge crash course in just general design and development, that I'm pretty grateful for. Matt Stauffer: During this time, you weren't playing music anymore. What were your hobbies then? Jeffrey Way: Code. I'm pretty obsessive. Matt Stauffer: You were coding all the time? Jeffrey Way: That was my thing. Like I was saying earlier with guitar, it's like for a lot of people, but for me, it's like if you find the thing, you get hooked. I got the bug, and I was really focused on that. Also, at the time, I dropped out of college, because I was no longer focusing on music. I don't know. College wasn't a great fit for me personally, so I was still thinking, "I need to focus on something." Because you can't just drop out of college and deliver pizza all day. Matt Stauffer: Yeah. Jeffrey Way: I did have the mindset like, "No. I need to be focusing on something." That was my day job, was just during the day, or during the evening I would be reading books every single day. And then during the day, I'd be working on these little projects I got. Then slowly the caliber of project grew and grew, took on some more fancy stuff, got a little more dynamic, so yeah. Interesting. Matt Stauffer: This is super interesting. I did not realize that this was all part of your story, which is why I was excited to interview you. You dropped out, I think you said you were sometime around 20, 21, and you're doing this freelance stuff. What's the next big transition point? I assume it wasn't straight to there from NetTuts, was it? Where did you go from there? Jeffrey Way: Probably for four years, maybe, lots of projects that are just me, or me and one or two other people that we tackled together. But I did that for a long time. Lots of freelance stuff. I started a little business to do that with one or two other people. Then I took on NetTuts as side work, because when I take on these projects, the scary thing is, I wasn't at your level even remotely, so it's like I'd get a project, but there's no guarantee that another project's coming in once that's finished. Matt Stauffer: Oh, yeah. I remember those days. Jeffrey Way: Right. It was always this kind of terrifying thing. Then I started writing freelance articles. What was the site called? I think it's called Freelancer.com. It's under new ownership at this point, but back then it was ... There were these websites dedicated to freelancers, because it was the first time I think, way back then, when it suddenly became a real possibility that you could work on the computer at home. Matt Stauffer: Yeah. Jeffrey Way: Suddenly they had all these freelancers talking about how to do things, and I was starting to write posts for them kind of for fun. I actually went back and read some of them and they're so horrible. One of them was how, if you're a young freelancer, you have to get an edge over the competition. The way I would do it was to make myself available 24 hours a day. It's so embarrassing at this point, but I was like, "Yeah, if they need me at 2:00 in the morning, I'm going to be available." Like some company's ever going to call me at 2:00 in the morning, but that was my idea of how to stand out, because all the other businesses are 9:00 to 5:00, but I'm going to be 2:00 AM to 2:00 PM, and it was so horrible. It was really embarrassing going back to read that. That's the hard thing about your ideas when you're 19 or 20 or 21. On the web, they are going to be there in 20 more years, and people can go back and find all the stupid crap you wrote, or the forum threads you created where you're asking the most silly, simple questions. It all stays. It never goes away. Scares me sometimes. Yeah. I did that for a long time. After Freelancer, the owner of that website put me in contact with Collis, who is the founder of Envato. I talked to him about NetTuts. Once again, I was like, "Okay, I can make an extra $1,000 a month just kind of learning." Because I was already learning every single day, and then just showing people what I'd learned. I did that kind of on the side. I did both of them simultaneously for ... I'm not sure. I can't remember. A year? Then they asked me to run NetTuts, and I took over that, and then suddenly I was doing this whole other thing where I was focusing on education, and building up a platform, which I had never done before. It was interesting. It was fun. Matt Stauffer: Were you still doing any freelance work, or did you transition to just a full-time NetTuts at that point? Jeffrey Way: Well, while I was writing for NetTuts, I was still doing both. But then when I transferred over to ... Actually, no. I managed NetTuts for a while. Maybe a year or two while I was still doing both. Then I started taking on more roles at Envato. Matt Stauffer: Yeah. Jeffrey Way: I was helping out with some of the marketplaces that Envato has, like Graphic River, or Theme Forest, or Code Canyon. I was really starting to focus more in that area, so I stopped doing freelance stuff, which I was very happy about. It's a hard life doing freelance stuff on Craigslist. It's hard work. Hard work. Matt Stauffer: I don't want to talk too much about me, but I did the freelance in that same world, and actually that was part of the reason that I left web for half a decade, or I don't even know however long. For a long time. Jeffrey Way: Oh, yeah? Matt Stauffer: Because I hated freelance. I hated that pressure to always come up with the next work. I just wanted to do good work, right? You're doing good work and convincing more people you can do good work, and finding the people to convince, and worrying about your finances all the time. The promise of just stability is something I don't think that a lot of people kind of speak up about enough. You're just like, "Yeah, there's going to be a paycheck." And you get to just worry about doing the thing you want, and let somebody else worry about getting the work coming in. Jeffrey Way: Yeah. It's so much more stress. If you have a traditional job, you go there 9:00 to 5:00. You get your paycheck. You're good. Once you leave work, you don't think about it again. But when you're freelancing, it's like, yes, you're doing that work, but when you're not working, you're stressing about how you're going to get more work and how you're going to pay next month's rent, because every month on the first, your income goes back to zero. Now you have to figure out, "Okay, how do I pay the rent this month?" And then the next month, goes back to zero. Everything resets. Yeah. It'll wear you down for sure. Matt Stauffer: Yeah, so you transition. You're full-time at NetTuts and Envato. Outside of the things with the other properties, just your work at NetTuts, what was your day to day like at that point? What kind of stuff were you responsible for? Jeffrey Way: Yeah. At NetTuts, my main role was build up. Build up this product. That is prime. NetTuts actually got very big. It makes me sad, because big change did a lot, and I don't think it's as popular anymore. I don't visit it as much anymore, because they kind of merged ... The whole idea, to give you a quick recap, they launched this tutorial site called PSDTuts, which was like Photoshop tutorials, and it was huge. Then they started branching, and they're like, "Maybe we should do this same concept for web development." So they had NetTuts, and then they were like, "Let's do another one. Let's branch out." And they kept branching out over and over, but all this time I was really focused on NetTuts. That's all I cared about, and then they decided, probably correctly, "We need to merge everything into this one cohesive whole where people can learn anything." It makes sense, but then also from my perspective, it's like, "Well, I don't care about Photoshop tutorials or craft tutorials, but now you've merged everything together and I no longer feel like the site is for me." Matt Stauffer: Yeah. Jeffrey Way: But I feel like they had to do it, looking back. They had no choice. They had to do it, because they were maintaining a dozen different tutorial sites, and each one of those were their own WordPress installations, so when you would make a change, I'm pretty sure they were having to make that change 10 different times across each installation. It's horrible. It makes sense that they merged it. Matt Stauffer: If there was a technical consideration, it does make you wonder whether some aspect of multi-site might have ended up being something, so you can make the right business decision without allowing the technology to make the call for you, but who knows what all was involved in that decision. Jeffrey Way: Yeah. Yeah. Yeah. Exactly. Anyways, a lot of my day to day was suddenly I was an editor. I had never done any of this before. So often in my life, I've gotten thrown into things that I wasn't the least bit qualified for. That might be my fault, just saying, "Oh, yeah. I can do that. Of course." When I had no clue what it meant to be an editor, but suddenly I was doing a lot of writing on my own, but also finding writers and working with developers, and figuring out how that plays, and editing their work. Suddenly I was editing the writing of people 20 years older than me, which was crazy. Matt Stauffer: Yeah. Jeffrey Way: One of the coolest things about this, though, I found was that back then I had this idea of my heroes, web developer people I really looked up to, but I'd never contacted them before. Then suddenly I realized, "They're just people exactly like you and me." Matt Stauffer: Yeah. Jeffrey Way: In no way, shape, or form are they actors, celebrity types. They're just regular people, and if you message them, or email them, or Tweet them, they're really friendly, and they'll reply back. That was a very cool thing for me, because it was like, "Oh, I've read all of your books." Matt Stauffer: Right. Jeffrey Way:"I know you. You taught me how to write CSS." Then I contact them, and they're pretty cool. Then suddenly they were writing for NetTuts. I would get them to contribute articles and stuff. Matt Stauffer: That's awesome. Jeffrey Way: Yeah. It was a fun experience. I did that for about five years, and then throughout that whole thing I ended up taking on a bunch of roles at Envato, so I was doing a lot of things, but once again, I just kind of burned out. Matt Stauffer: Yeah. Jeffrey Way: I think it's good as much as you can to sometimes switch to new things, to always have new projects you're working on. I think sometimes if you stick with exactly one project, it starts to wear you down. Matt Stauffer: Yeah. Yeah. I like talking to independent creators and founders to try and figure out, "What are you able to do to ensure that this one thing that you're working on doesn't just kind of burn you out?" One of my buddies, Matt Green, he went from working at a consultancy, we worked at the same consultancy, to now he's the sole tech and web guy at this very large multi-national corporation. On the one hand, he gets to do really creative things. He's on a single project, and he gets ... Every time a new tech comes out, he's like, "Cool. I'll throw it in here if it's useful." He gets to use tech that I might never get to use, because I never had a project that has it, but in the same token, he's on that same project every day for years. I'm always curious, "What does it look like for somebody who's in that kind of a space, to make sure that you don't get bored of working on it?" I know for you, one of the things that you do is redesigns. Obviously also, you've got the content, right? When you cover a new piece of content, maybe you're not applying that content to the Laracasts code base, but you're writing little sample projects and stuff. What, in your day to day with Laracasts, does it look like to help yourself kind of get that shift? Or are you not able to get it, and at one point you're going to shut Laracasts down and we'll all kind of fall into despair? Jeffrey Way: Probably fall into despair. No. I try to have a lot of variety, because I think, once again, Laracasts is my main product, so I do think about that. "What if you burn out on it?" But I think what's helped me a lot is having lots of different things, so it's not just like I focus on the Laracasts code base, and I don't just focus on content for Laracasts, which often is creating demos and stuff. But also, I have open source projects that I maintain. I have lots of different little projects where it keeps me interested, I think. Where I can say, "Okay, today I'm exclusively focusing on Laravel Mix." That is completely different than the type of code I write for Laracasts. Then if I'm done with that, then I will completely focus on some demo or something, which is really fun. Most developers don't get the opportunity to just tinker, because you have a job. You have to get the job done. You don't always have the ability to try out some new language or tool, but Laracasts kind of affords me that, where I can dedicate a day or two a week, or at least a half day a couple times a week, and just tinker around. Try out new stuff, see how it works. Matt Stauffer: Yeah. Jeffrey Way: I'm really fortunate for that. Matt Stauffer: I mean, you could build a whole clone of Facebook and basically call it a part of the development process. Jeffrey Way: Absolutely. Matt Stauffer: Or a whole forum software, or whatever. It's legitimate, too. Honestly, you could build the whole thing and not even make any videos about it, and it would have expanded your brain or given you some perspective that nobody else would have had. Jeffrey Way: Yeah. Yeah, absolutely. Matt Stauffer: That's cool. Jeffrey Way: So often, the content I do for Laracasts is usually the result of actual coding work I'm doing. About a month ago, I implemented this really sweet new Algolia Search into Laracasts, where it's like live on the fly. It's really great. But I was like, "Okay. I have this figured out. Most people don't have it figured out yet, so those are a perfect two or three videos that I can do for the site." I feel like those are the best types of content I can do, because I don't know. It's really hard as a teacher. I know you don't want to focus on this too much, but just real quick. Matt Stauffer: No, it's good. It's good. Jeffrey Way: As a teacher, if you're too separated from the person learning, they can't under ... The things you take for granted, and the things you don't even realize you take for granted, they don't take for granted. You'll use terminology that's just part of your everyday speak, and they don't know what it means. Matt Stauffer: Yeah. Jeffrey Way: It's like you sometimes need to be ... It's that same thing where in school, sometimes the kid sitting next to you can teach a concept way better than the teacher can. Matt Stauffer: Yup. Jeffrey Way: It's that same thing, because they're on your same wavelength, and they know where you're struggling. I always worry the more I figure things out and the better I become, the further separated I am from somebody who's just learning PHP for the first time. Matt Stauffer: Yeah. Jeffrey Way: I have to deal with it. I get this a lot, where somebody's like, "Slow down. You're going too fast." Or other people will say, "You're going too slow. Speed up." Or somebody will say, "You keep using fancy jargon, and I hate that idea of using fancy jargon." And usually it's just, it's the term for this. I'm not trying to show off here. It's just the term for it, but I forget, "Oh, you don't know what that term is." These are the things I always end up thinking about when I create content for Laracasts. It's very hard. It's very hard to walk that line. Matt Stauffer: I've talked with, asked Taylor a lot about what are the steps that he takes to make sure that, as he's updating the documentation, he can put himself in the mindset of a new learner. It sounds like one of the things you're saying is, when you learn something, that's the best time to teach it, right? When you're trying a new thing, because you're closest to the wire of the learner. Are there any other things other than putting yourself in a learner's posture by learning new things, or any other things you find that you do that helps you kind of remember that perspective? Jeffrey Way: That perspective of what makes it easier to learn? Matt Stauffer: Well, yeah, that and just you've been doing this for a long time. Are there relationships you have, or comments, threads that you look at, or postures you take, or mental exercises, or something that helps you keep yourself grounded to the experience of the person who opened up Laracasts for the first time yesterday, versus who's been with you for the last X years? Jeffrey Way: Yeah. Nothing that I could describe, I don't think. It's usually just trying to remind myself to assume ... Don't assume too much. I don't know. I love that phrase, "Explain to me like I'm a five-year-old." There's actually a Reddit group for that that I always read. The whole concept is, "Explain this thing to me like I'm a five-year-old." It'll be anything. It'll be politics, or anything really. I love it, because everyone who replies is very friendly, and they just explain it perfectly. They don't use anything too fancy. They're not trying to show off. They're not trying to make you look stupid. They're just trying to explain this concept to you. That's what I try to do as best as I can, but I'm pretty sure many times I completely fail. Sometimes people will cancel their accounts and just say, "It was way too hard." Matt Stauffer: Yeah. Jeffrey Way: It makes me sad, but that's how it is. With Laracasts, I'm training people who have six months of experience total, and then also working professional developers watch the site too, and the understanding they have about code couldn't be further apart. How do you do a video that appeals to both of them? It's very, very difficult. Matt Stauffer: Yeah. I mean, you do it masterfully, but it's cool to hear that it's an ongoing process of trying to be mindful, and trying to figure it out, and recognizing you're not perfect at it, but you kind of have what you have to give, and that's all there is. Jeffrey Way: Yeah. I try to take the approach of, "This is what I've figured out. Could be right. I'm not trying to say this is the right way. I really hate that idea, but this is what I've figured out at this moment. If I change my mind, I'll let you know, but ..." Matt Stauffer: Yeah. That's cool. We have talked about, you were spending your time in NetTuts while it was NetTuts. While it was NetTuts, I followed it religiously, so I should remember this, but I know it was covering front-end web development and a little bit of design, stuff like that. How much did NetTuts get into the back-end? Jeffrey Way: A decent amount. Once again, for a site like that, you can't just do everything. Because the more you stretch, and it's like, "We're going to cover every element of web development." It's that exact thing again where it's like, "Well now nobody really cares, because there's a one in 20 chance that an article is going to be relevant." Matt Stauffer: Right. Jeffrey Way: We predominantly focused on PHP and then HTML, CSS, JavaScript. But then sometimes, we would branch out to Node and Python, but those were always every once in a while, but you gotta keep the core of a specific type of developer. I definitely learned that from NetTuts. Yeah, we did ... Go ahead. Matt Stauffer: When did you get started doing videos? Jeffrey Way: At NetTuts. No, actually before then. When I launched that little business called Detached Designs, where I was doing my own stuff, even then I would record ... I was learning ASP.net, and there was this guy named Joe Stagner, and on the ASP.net website, he would record videos for learning ASP.net, and it was so beneficial to me. For whatever reason, you either have a visual ... You're either a visual learner, or you're not. I realized when I would watch him, I would learn so much more than reading these books. I started doing the same thing. You could probably track down really old videos of mine where I was teaching ASP.net. Please don't, because they're horrid. They're unbelievably horrible. Matt Stauffer: I gotta find one and put it in the show notes. Jeffrey Way: Please don't, because it's really, really bad. It was probably recorded at like 600 by 400 and really blurry. People forget, we take the idea of a clear code screen cast for granted. It was not easy to do that. YouTube can do that all the time, but way back then, you would upload a screen cast to YouTube, and they would compress it so much that you couldn't read it even at the top quality. It was a serious issue that a lot of people had, unless you could afford to stream at the high quality, but then most people didn't have fast enough bandwidths to watch it. It was an actual thing people had to worry about back then. I was recording these Detached Designs video tutorials on ASP.net. It feels like another world, but that's when I got started. When was that? Maybe 2003? 2004? Right around there. Matt Stauffer: I was going to say, it didn't seem like you had started at NetTuts, because by the time you were doing them there, you seemed really accomplished as a presenter, but I didn't know whether that's because you had been doing it prior, or whether it just comes that naturally to you. Jeffrey Way: I don't know. Maybe a little of both. I think sometimes people give me a little too much credit. I'll see this on Twitter a lot, where somebody will say, "I have a lot more respect for Jeffrey now because I just tried to record a video tutorial, and my gosh is it hard." I think they're thinking I hit record, and then I just fluently go through the whole thing, and then 30 minutes later I hit stop. That's not the way it works. I probably make 50 mistakes over that course, and then I just chop them up during the edit. I think other people think, "If I screw up, I have to start all over and record again." It's like, "No." It's very, very difficult to do that fluently with code. Very, very difficult. Almost impossible. Matt Stauffer: That's so valuable to hear that. I've done some videos before, and when I felt like I had to do it the whole way ... Especially you're talking five, 10, 15 minutes, there's just no way. You could script it, you can practice it 15 times, and you're still going to make mistakes. Then when I first bring somebody on the podcast who's never podcasted before, one of the first disclaimers I have to make is, "Just because you hit the record button doesn't mean you now have to be you're in front of a TV camera live." This isn't live, which means you can just flub it, and you can say, "Oh, you know what? I want to say that again." I'll just edit it out later. That's all possible. You just don't think about that by default. Jeffrey Way: Right. Right. I know. You think you're on camera, doing the weather or something, and you have to get it perfect. Matt Stauffer: Right. Jeffrey Way: Nope. Nope. I m

The Laravel Podcast
Season 3 Teaser

The Laravel Podcast

Play Episode Listen Later Sep 6, 2017 6:20


Introducing season 3: an interview season, where Matt will be conducting long-form interviews of known and unknown members of the Laravel community to learn about who they are and what motivates them. Transcript (sponsored by Laravel News): Matt Stauffer : Welcome to The Laravel Podcast episode 54, also known as the preview episode for season three where I tell you about what we're going to be doing for this new season. Stay tuned. All right. Welcome back to The Laravel Podcast. It's been a little while and even since the last time we had been posting pretty infrequently. If you haven't been listening to the podcast for a long time, it's actually really easy to think about this podcast as having happened in two seasons up until now. The first season was Shawn McCool starting the podcast and having some regular guests where they did some pretty long form chats about some high depth, high intensity conversations about DDD and other stuff. A couple of years ago, I took over leading the podcast and it was myself, Matt Stauffer and then there was Taylor Otwell and Jeffrey Way speaking regularly on topics that are interesting to us, the news and happenings in the Laravel world and other stuff like that. We've reached a point where each of us were pursuing separate podcasting and speaking opportunities. Also, we just got to the point where we ran out of things to talk about some of the times. We love talking and we got really great feedback but it just got to the point where sometimes we just said, "You know what? There's not really much to say right now." Rather than let that be a bother, we realized that that's a really good moment to step back and reconsider what you're doing. A lot of times when other podcasts have done that, hit that moment, it's a moment where you realize it's time for a little bit of a shift. This concept of seasons has come up recently where a podcast can have a season and then it could just stop and breathe for a moment. We decided that that was a indicator to us that it should be time to call that the end of season two and that gives us the ability to stop and think. What does the community really need for season three? After a little while, we figured it out, and we are likening it to maybe a famous hiphop group or something like that where they split up and pursue their solo projects for a while. They might get back together later so there's no saying that season four is not going to be the gang all back together or a different gang or something like that. But, for right now, season three, Jeffrey is doing the Laracasts snippet. Taylor might have something of his own. We'll see. And, what I'm going to be doing on this podcast is I'm going to be doing interviews. This is an interview show for season three and the interviews I'm going to be doing are two primary sorts. One of them is I'm going to be doing interviews of a sort that I hope you haven't heard before of the people who you hear from frequently in the community from Taylor, and from Jeffrey, and from Adam, from Eric Barnes, and Chris Fidao, and other people who've been around and who you hear from frequently, who you hear speaking at conferences and stuff like that to get maybe a different sort of interview, a little bit of a background of them of where they came from and what motivates them and the other stuff you might not hear in a traditional interview but I also want to have the opportunity to expose some folks to you that you may have not have heard from before, people in the community who are doing incredible work and might not get recognized outside of the world that they're in, their country or their meetup, or their package, or whatever else. Season three of Laravel Podcast is an interview show to help you get to know all the people in the Laravel community who you do or do not know by name but you might not know their origins and what motivates them and where they're from. The first podcast episode, episode one which will be ... The total episode will be episode 55 across the whole podcast. I'll try and release it in about a week from this preview episode and I'm going to give you a couple quick little snippets of that interview right now to tantalize and tease, to get you excited about what's coming. What I would love is when I tweet this one out, please send me anybody who you really like to hear an interview of. I'm Stauffer Matt on Twitter. Just let me know if there's somebody ... You know what? Even better, @laravelpodcast. Why don't you send it over to the podcast? And, if there's anybody you'd really love to know, who they come from, what they come from, what they're about, what motivates them, anything else and they're in the Laravel community, I'd love to hear it. That's it. That's the bases. Here's a couple quick snippets from the episode one and stay tuned for some really great interviews coming out during the season. Taylor Otwell : I also got really into TI-83 calculator program. I would write little strategy games. Back then in at least middle school and high school, the popular thing was that Drugwars game. Matt Stauffer : I was just going to say Drugwars. That was it. Taylor Otwell : I would write games like that either with drugs or with other lemonade stand type games. I learned how to do that basically sitting in 9th grade English. I just taught myself how to program the calculator. Those were really the first real programs I wrote I feel like. I had messaged one of them and said, "Hey, I really like to help out on Fuel. This is the feature I want to add," or whatever. They weren't super interested in the feature which is fine. I'm just not like a knock on them. They just weren't interested in it. I was like, "Oh. Well, okay. I guess I'll keep working in Laravel." But, if they would have bit on that and been interested in me helping with Fuel a little bit and some of these things, then of course I think things could have been really different because I would have jumped into Fuel and started adding stuff there. I probably would have just started using it and become invested in. That's one moment. Probably the biggest moment I could think of where things could have took a really different direction. Because that feature wasn't really a fit for them, then I just kept working on Laravel.

The Five-Minute Geek Show
91 | Commitments, not (or and) goals

The Five-Minute Geek Show

Play Episode Listen Later Oct 27, 2016 6:25


Small, measurable, manageable commitments help people like me move toward their goals. Transcript: Hi, I'm your host, Matt Stauffer, and this is Episode 91 of The Five Minute Geek Show, a weekly show about development and everything around it. It's one topic per episode about front end, back end, mobile project management, design, entrepreneurship, whatever. If it's geeky it fits. Today we're going to be talking about goals and commitments. I know a lot of people who really value the idea of setting goals and measuring your, long goals. I have a lot of friends who really care about analyzing others. The word that they use for it I forget but basically having metrics about everything you do, how often I eat that, how often I do that. I do some of those things. I've been tracking my food and calories through either ... I think the old one was called Calorie Counter and the new one's called My Fitness Pal for years. It really helps me have a good understanding of what my health is like and everything so I'm very thankful for those things. One of the things that I've noticed is a lot of those folks who think deeply about journaling and planning, executing, all that kind of stuff, they all talk about setting goals. If you haven't had some teacher or parent or someone at some point in your life tell you you need to set goals I'd be extremely surprised. Why is it that people like me have so much ... Okay. I have a lot of trouble setting and focusing on goals. I set them and they're really great and a nice idea but some of the things I run into are first, it's really hard to predict what my goals should be. It's like how much should I increase sales by? Well, I guess 10%. Is that realistic? Is that good? Is that bad? How do I really know, I've just kind of made up things. It's good to focus on those made up things but often it's just hard for me to really use them as motivation. Additionally, the hardest part for me is that they're not present. Unless you do a really good job of keeping them at the forefront of your mind or checking in on them regularly or whatever else which I don't do you set the goal and then you feel guilty when you had forgot about it for three months. That's not to say that goals are bad but if you're like me you might find that there's something a little bit better which is small, measurable commitments. Instead of saying, "I'm going to set a goal to lose a certain amount of weight." Instead make a commitment, "I'm going to make a commitment that I'm going to cap my food at 1800 calories a day." "The source of my calories is going to be 40% protein." "I'm going to make a commitment that I'm going to make 10,000 steps everyday." What that ends up meaning is when I have that doughnut in the morning that means in the end of the day I'm scrambling a little bit to figure out how am I going to get my protein in or the next day when I feel really bad about that it's going to motivate me to be less likely to have that doughnut. When it's the end of the day and I've only hit 7,000 steps and I want to go to sleep I say, "Hey, I made a commitment." My wife knows that I made that commitment and so she's okay when I, like a crazy person, go walk around in circles in my neighborhood for 45 minutes to get my steps. Those commitments are easy to make because I say, "I committed to do this thing, therefore I'm going to do it." It's easy to justify the decisions in response to it because it's very hard both to myself and to other people to say, "Well, I need to lose weight. Therefore, I'm going to go walk." That's definitely, it's a true thing but it's vague, it's very distant, and it's very easy to justify away. "Well, I can just skip walking this time, I can just whatever. How much is it really going to matter? I'm already making progress, blah, blah, blah"... but... "I committed to walking 10,000 steps everyday." You don't justify that away. If you don't make 10,000 steps that day it's because you're breaking your commitment. That's not like you should feel guilty or whatever but it's much closer to the wire thing to fulfill. "I committed to 10,000 steps today, I'm going to do 10,000 steps today, that's it." My hope is that I make commitments that are in line with my values. My value isn't actually losing weight, it's just being healthy. I just want to give examples of things that are maybe small, measurable, and very clear when you broke them in the moment, in the immediate space. Commitments might be a good way to reach goals. By doing that I now have to worry less about being able to predict what my goals should be in the future. I have to more just say what are healthy decisions to make that are in the same direction as that goal. With my physical health it's very easy because I know what things are healthy. With things that are a little more abstract sometimes it's a little bit tougher. What are the things ... What are the immediate commitments that you can make right now to get you to the place that you want to be in your career or in your business' growth? Well, let's say you want to become a better developer. Well, it might mean saying, "I commit that every single day I will work through my lunch break and I will watch one Laracasts video and I will read at least 10 pages of this book. Regardless of anything else I will do that or every night I'm going to work through this thing or I will spend one hour on this site app every single day so I have a portfolio piece," or whatever else it ends up being. Maybe if you're a business owner it will be, "Every single day I will put at least 30 minutes into one of 10 business development tasks. I will either blog or make phone calls or follow-up with these people or whatever. I will spend at least 30 minutes doing that every single day regardless." You didn't say, "I'm going to increase my sales," or, "I'm going to be the best developer ever." You said, "Every single day I'm going to do X amount of things to get myself ... Or every week or whatever to get myself moving in the direction I want to go." I think the primary goal of this one is just saying that if you're like me you may find that goals are nice but often just induce guilt when you forget about them. Small, measurable commitments that will move you in the right direction are a lot easier to keep fresh because you just get in the pattern of them. It's a lot harder to break them and it's a lot easier to justify doing things that might seem a little weird for the sake of them. It's a lot harder to justify not doing them when they're small. It's not as if you're like, "Well, I'm going to lose 50 lbs." Well, it's very easy to feel vaguely non-committal to that when time comes and it's family doughnut time. It's a lot easier to say, "I'm going to walk 10,000 steps today," and you're a little tired and say, "You know, it's only 2,000 more steps and I committed, I'm going to do it." I hope this helps someone. Thanks for listening to The Five Minute Geek Show. We're at Five Minute Geek Show on Twitter number five. Fiveminutegeekshow.com. You can subscribe to us on iTunes via RSS. If you like the show share it with your friends right on iTunes. Thanks. Until next time, Matt Stauffer, Five Minute Geek Show.

The Laravel Podcast
Episode 23 - New Beginnings, Envoyer, & Laravel 5.1

The Laravel Podcast

Play Episode Listen Later Mar 17, 2015 25:18


The crew discusses the recent release of Envoyer and Laravel 5.0. Taylor gives a preview of Laravel 5.1. Jeffrey discusses current Laracasts happenings.

The Freelance Podcast
012: Debating Starting with Front-End or Back-End Development

The Freelance Podcast

Play Episode Listen Later Jan 27, 2015 34:47


In this episode I invite Kyle Johnson to help me answer a listener's question about starting as a front-end or back-end developer. Links from the show CSS-Tricks http://css-tricks.com/ Laracasts https://laracasts.com/ Treehouse http://teamtreehouse.com/ Episode 8 of The Freelance Podcast Continued Education http://www.thefreelancepodcast.com/8 Codecademy http://www.codecademy.com/ CodeSchool https://www.codeschool.com/ Lynda http://www.lynda.com/default.aspx Kyle Johnson on Twitter https://twitter.com/kbjohnson90 Developd http://developd.io/ Follow & Subscribe Please subscribe via your podcast service of choice. Please send in your questions and comments at http://www.thefreelancepodcast.com You can follow The Freelance Podcast on Twitter at @freelancecast Rate The Freelance Podcast! You can help us reach other freelancers just like you and I by leaving a 5 star rating in iTunes for this podcast. If we have helped, or provided any useful information it would be awesome if you could leave us a rating. Thanks for listening.

The Laravel Podcast
Episode 8 - LaraEverything

The Laravel Podcast

Play Episode Listen Later Nov 1, 2013 51:23


Taylor Otwell and Jeffrey Way join us and talk about what they've been working on. We discuss Laracasts and Laravel 4.1 including some focus on the Laravel documentation. Taylor also gives some information about LaraconUS.