The Laravel Podcast brings you Laravel and PHP development news and discussion. Season 5 consists of Matt Stauffer interviewing the creators of the most popular packages in the Laravel ecosystem.

Similar Podcasts

The Rabbit Hole: The Definitive Developer's Podcast

The Rabbit Hole: The Definitive Developer's Podcast
Welcome to The Rabbit Hole, the definitive developers podcast. If you are a software developer or technology leader looking to stay on top of the latest news in the software development world, or just want to learn actionable tactics to improve your day-to-day job performance, this podcast is for you.

PHPUgly

PHPUgly
The podcast your mother warned you about. Ramblings of a few overworked PHP Developers. We discuss everything, from the challenges and excitement of running our small business and development shop the DiegoDev Group, to general day to day coding projects, to anything geek related or any other tech topics. Hosted By @shocm, @realrideout, and @johncongdon. Become a Patron!

Developer Tea

Developer Tea
Developer Tea exists to help driven developers connect to their ultimate purpose and excel at their work so that they can positively impact the people they influence. With over 13 million downloads to date, Developer Tea is a short podcast hosted by Jonathan Cutrell (@jcutrell), co-founder of Spec and Director of Engineering at PBS. We hope you'll take the topics from this podcast and continue the conversation, either online or in person with your peers. Twitter: @developertea :: Email: developertea@gmail.com

Object Oriented Programming, with Alena Holligan

June 09, 2020 01:00:09 57.88 MB Downloads: 0

Lorna Jane Mitchell: https://lornajane.net/Craig Dennis - Java: https://teamtreehouse.com/craigsdennisLumen Learning: https://lumenlearning.com/Some treehouse courses from Alena: https://teamtreehouse.com/alenaholliganLate static bindings, w/r/t self and static: https://www.php.net/manual/en/language.oop5.late-static-bindings.phpHeadcanon: https://www.urbandictionary.com/define.php?term=headcanonSketchings on GitHub: https://github.com/sketchingsAlena Holligan on Twitter: https://twitter.com/alenaholligan Episode SponsorshipTranscription sponsored by LarajobsEditing sponsored byTighten

Getting Good with Git, with Gemma Anible

May 26, 2020 01:29:24 86.0 MB Downloads: 0

Gemma on twitter: https://twitter.com/ellothethGemma on Mastodon: https://mastodon.technology/@ellothethGemma’s web site: https://ramblinations.com/Gemma on YouTube: Navigate your git repository: https://www.youtube.com/watch?v=QeABW6OU1GgWonderProxy: https://wonderproxy.com/CVS: https://nongnu.org/cvs/Subversion: https://subversion.apache.org/Washington, DC legal code: https://github.com/DCCouncil/dc-law-xmlSolo TV show: https://en.wikipedia.org/wiki/Solo_(TV_series)Felicity Kendal: https://en.wikipedia.org/wiki/Felicity_KendalEffervescent: https://www.thefreedictionary.com/effervescentThe Ars Technica article where I read about it: https://arstechnica.com/tech-policy/2018/11/how-i-changed-the-law-with-a-github-pull-request/TortoiseSVN (https://tortoisesvn.net/) and TortoiseGit (https://tortoisegit.org/), both for WindowsGit fast forwards: https://confluence.atlassian.com/bitbucket/git-fast-forwards-and-branch-management-329977726.htmlImage halfway down this blog, “The Git History Is A Graph!“: https://jqassistant.org/shadows-of-the-past-analysis-of-git-repositories/For what would be in the Git reflog on Github: https://developer.github.com/v3/activity/events/Git: https://git-scm.com/Pro Git boo: https://git-scm.com/book/en/v2Learn Git Branching: https://learngitbranching.js.org/Matt’s Git Cherry Pick article: https://mattstauffer.com/blog/how-to-merge-only-specific-commits-from-a-pull-request/Timothy Zahn’s Star Wars trilogy: https://www.goodreads.com/series/42348-star-wars-the-thrawn-trilogyMara Jade Skywalker - https://starwars.fandom.com/wiki/Mara_Jade_SkywalkerEnder’s Game - https://en.wikipedia.org/wiki/Ender's_Game Transcription sponsored by Larajobs: https://larajobs.com/Editing sponsored byTighten:  https://tighten.com/

Intro to Composer, with Jordi Boggiano

May 12, 2020 00:54:21 52.28 MB Downloads: 0

TeamUp: https://www.teamup.com/Jordi's Twitter: twitter.com/seldaekComposer docs: https://getcomposer.org/doc/Private Packagist: https://packagist.com/Jordi's Composer Deep Dev talk at Laracon EU: https://www.youtube.com/watch?v=q3UfxubW_PUComposer Best Packages talk by Nils: https://www.youtube.com/watch?v=EpvihKaQyLsJordi's OSS wish list: http://seld.be/wishlistBalvenie scotch: https://www.thebalvenie.com/Transcription sponsored byLarajobsEditing sponsored byTighten

Learning & Keeping Up To Date, with Eric Barnes

April 28, 2020 00:45:08 43.42 MB Downloads: 0

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 Ethos of Laravel, with Taylor Otwell

April 14, 2020 00:49:05 47.19 MB Downloads: 0

Taylor on season 3 of the podcastJiro dreams of sushiTaylor asking about obsession with “pretty” code on StackExchangeSymposiumThe Laravel Snippettaylorotwell on Twitter LaraconTranscription sponsored by LarajobsEditing sponsored by Tighten

Introducing Laravel Podcast Season Four

April 10, 2020 00:02:52 2.78 MB Downloads: 0

We're back! It's a new season, and a new format: Each episode will bring a guest or guests on to talk about a single topic in the Laravel world.

Interview: Lalit Vijay, Curator of Laravel Live India and Co-Founder of StyleDotMe

March 20, 2019 00:38:24 37.01 MB Downloads: 0

An Interview with Lalit Vijay, Curator of Laravel Live India and Co-Founder ov StyleDotMe Lalit on twitter StyleDotMe Masters of Scale Reply All The Knowledge Project Inside Intercom Transcription sponsored by Larajobs Editing sponsored by Tighten Matt Stauffer: Welcome back to The Laravel Podcast, season three. Today I'm talking to Lalit Vijay, the original founder of Laravel Live India, the co-creator of some great meet-ups there, and much more, stay tuned. Matt Stauffer: Alright, welcome back to The Laravel Podcast, season three. Today I'm gonna be talking to Lalit Vijay, who is known in a lot of different ways. But interestingly, just like some of my favorite guests, a lot of you probably have never heard of him before, and a lot of you think he's the most amazing person on the planet and can't imagine why anybody wouldn't have heard of him. Matt Stauffer: And that's my favorite thing, where there's a community who knows him deeply and votes for him hundreds of times to come on the podcast. And then there's some of you who say, well who's that? So I'm excited for a new opportunity to share with you somebody who, who you didn't know about before, and afterwards, you're glad you had the chance. So first of all, introduce yourself. And when you meet somebody in the grocery store, what do you tell them that you do? Lalit Vijay: So, hi first to the whole audience of the Laravel Podcast. I have been following it, and it's a kinda great pleasure for me to be over here. Thank you Matt for that opportunity. And for me, I generally introduce myself as a backend lead and operation manager at StyleDotMe. And along with it, I curate meet-ups in India for the Laravel community because I want this thing to grow and reach to, across India in a really, really big way. Matt Stauffer: So if you meet somebody in the grocery store, and they say, what do you, and you say, oh I'm the backend lead of blah, blah, blah, StyleDotMe, do they say I don't know what that is, or because it's a product, do they more say well, I don't know what that is, but what's StyleDotMe? Are you usually able to kind of skip around the conversation of what you do by talking about what you're doing it for? Lalit Vijay: Fun fact, what happened in my day-to-day routine is since we are the founding members of our startups right, so we get really bogged up, and 80% of time may consumes with either my teammates or meeting new clients and handling the backend stuff at the company. All my grocery and all that stuff is actually delivered online so I just roll with it. Matt Stauffer: Okay, so do you go, I'm trying to think of a separate context. Do you go to the gym? Do you go to the coffee shop? Where do you actually randomly meet people who aren't in tech? Lalit Vijay: Okay so, at airports, whenever I'm traveling across India. Matt Stauffer: Perfect. Lalit Vijay: And at that point of time, I start mostly I talk around my product at StyleDotMe, what you do. And it's like we build augmented reality applications, SnapChat virtual lens or that's a business and application and then people start and then I show them the product and actually make them try it on themselves. So yeah, that's yeah. Matt Stauffer: Okay. So is StyleDotMe, will you talk about StyleDotMe because I'm sure it'll come up again. Is it more something that your primary people you're selling to is the retailer and then the retailer, Lalit Vijay: Right. Matt Stauffer: Do they get a white labeled version of it? Lalit Vijay: No. Matt Stauffer: So they're having their clients use StyleDotMe but then pick them in StyleDotMe or something. Lalit Vijay: Right, right. Matt Stauffer: Okay, got it, okay. So you said you're the backend lead. Lalit Vijay: Yes. Matt Stauffer: So what I assume is that it's a primarily mobile app that's consuming probably something Laravel-ish. What does your tech stack look like in general? Lalit Vijay: So at Laravel, we use very different like multiple stack. It's not just Laravel over there. So at StyleDotMe, the primary application runs on IRIS. And where the real, our Machine Learning model runs, and so it detects a face, it figure outs your exact ear points, your neck points and overlay the items on that. Now to make it happen, what we use is a, we use a file base for real time data communication across all the devices. What we use Laravel for is like primarily backend tasks for uploading all the inventory data, managing those inventory data and making sure that what should go live, what should not go live. So, whatever the things which our admin panel controls, this is basically in the Laravel. Apart from that, we do a lot of data processing, image processing and all that happens in Python. Matt Stauffer: Okay. Lalit Vijay: Yeah, so it's like a bit of diverse. Laravel is one sort of part of it. Matt Stauffer: Okay, and obviously I want to ask more questions about that, but usually what I want to dig into is who you are as a person. But again, like I said, since some people don't know who you are as a well-known person, I at least want to lay the groundwork a little bit. So, that's your day to day work. And you said you're a founding member of the startup, so, how much of your work is coding and how much of your work is organizational and people-related? Lalit Vijay: Okay, so that's interesting. Initially, it was a lot of coding. Matt Stauffer: Right. Lalit Vijay: Initial two years was a lot of coding time. But now, I think 80% coding and 20% operations and managing people. Matt Stauffer: Yep, yeah, totally. Okay, and then other thing that you're actually probably more known for at least in Laravel world is that you're the organizer. Are you the organizer or co-organizer? Are you the primary person? Of Laravel Live India. Lalit Vijay: So I started it, but now what I always wanted from the community is that everybody's part of it. And whoever each volunteer, each participant is actually organizer for me. So, whether it is Fahad this year, Rishalla is putting a lot of effort. So, all these people are the building blocks of the community. It's not something which I say that okay, this is what I'm doing. This is my community's doing, and they're helping me out. Matt Stauffer: I love it, that's a good attitude, man. So, you are the original founder and now one of many organizers of Laravel Live India, which is a very large, and it's in its third year now, right? Lalit Vijay: Yes. Matt Stauffer: The Laravel conference. Lalit Vijay: Yes. Matt Stauffer: So tell us a little bit about, to somebody who's never heard of it before, tell us a little bit about the conference. Lalit Vijay: Alright, so for Laravel Live, it started because it was just one reason that I didn't have enough time to visit Laravel EU or US, and I wanted those awesome speakers over here so that more Indian people can interact with them. And conferences not only just give you space for knowledge setting but also meeting new people, which helps you expand your view of the community and help you grow in very different ways. So that was the key thing, the motivation and one day I decided that someone has to do it so, why not me? So, let's do it. And then we did the first version of it, and the response was pretty good. And a few people got job via that conference. And once I heard that that helped me feel motivated further, for it that yeah someone is getting benefited out of it. That's awesome, let's do it again. And now, after two years, this year it's pretty nice now. We selected venue based on community vote. Our people selected for Mumbai for this year. And we are doing this on third of March, 2019. Matt Stauffer: Oh, that's coming soon man. Lalit Vijay: Yeah, yeah, so, we have announced our speakers. We are preparing for it, and hopefully we'll see a lot of people especially people, Freep is there. Then Nuno is there, then Rumpel is there. So, these are a few people from the community which a lot of people know. And then there are a lot of developers within India who are actively working out and, it's pretty fun to see and be part of this whole community. Matt Stauffer: Very cool. So, one of the things that I think blew a lot of folks' minds was hearing about Laravel Nigeria being as many people as it was. Do you have an estimated count of what the attendance for Laravel Live India's gonna look like this year? Lalit Vijay: It's, so this year we are for doing 150 fixed. Also a number of places expect to-- Matt Stauffer: Got it. Lalit Vijay: Yeah. Matt Stauffer: And then you also are connected to, and I don't know exactly what the story is, but a series of meet-ups as well. Could you tell us a little bit about those? Lalit Vijay: Yeah so with this, before this conference, I started it as a meet-up. And the first meet-up was Laravel Live Delhi. And that was, actually the first meet-up got only five people. Oh yeah, five people. So we started that small, and over the period of time, we have grown very much. And recently we did a meet-up in Ahmedabad. Now the first meet-up in there was an attendance of 70 people. Matt Stauffer: Wow, that's awesome. Lalit Vijay: Right, so it's the meet-up which started with five people has grown to a 70 people meet-up. And in terms of conference, we on the first year we had 60 people turn out, second year it was 110, and we are doing 150 this year. So yeah, it's going pretty good. Matt Stauffer: Now is there, in any of the areas that you're doing this, do you have a big PHP community as well that's much larger, or is Laravel kind of really the main space where any of this work is happening in terms of community organization? Lalit Vijay: So I think with Laravel Live, now the Laravel community is growing. And how I see is that it's not just Laravel community which is growing, it's actually the whole coding community growing, right. People, we need to learn new things and the whole PHP space is growing overall. The biggest event I have seen in India with PHP domain is WordCamp for the WordPress. Matt Stauffer: Yeah, that seems to be the case in most places. Lalit Vijay: Yeah, so recently it happened in Ahmedabad with over 1,000 people of audience. Matt Stauffer: Wow. So what is the biggest tech stack around you? Is it Laravel if people are doing the type of work you're doing or there are other tech stacks that more folks are focusing on? Lalit Vijay: I think I see a lot of people around me working around Python. So, Python is kind of the, and that one kind of biased with me is I work well with a lot of people who are into image processing, Machine Learning and all that stuff. So, I find people who are mostly working in that domain. And website development kind of people are like not my core sort of thing when we look at the main R&D at StyleDotMe happens on Machine Learning and image processing, which is basically either CC++ and Python. Matt Stauffer: I've got lots more questions about that, but we've got to pause because at this point in the podcast, I've got to learn about you. So, tell me a little bit about you. When was it that you first used a computer, and when did you first start realizing you were into coding? Lalit Vijay: So, in fact the first time I got an opportunity to use my computer was in my school. I think I was in grade second or yeah, I was in grade second. Matt Stauffer: Okay. Lalit Vijay: At that time, we went to school, our teacher asked us to, this is computer? And at that time, we used to have that bulky computer system with bulky monitors and all that stuff. And, so from class two to class sixth, it was just a object of fascination where whenever you go there, you love it. Matt Stauffer: Yeah. Lalit Vijay: Alright, it's something cool and what I used to do at that time is only play one game called Dave, which I remember right now. So after that, my real interest started into the computers was after class seventh. Matt Stauffer: Okay. Lalit Vijay: I started learning things, I made friends of my school teachers and then I started skipping my lunch breaks and gained experience into the computer classes. Matt Stauffer: Very cool. Lalit Vijay: So, I used to sneak into, but there was just one challenge. 'Til that point time, I didn't have access to internet. It was computer without an internet. So the place where I live is one of the like remotest place in India. Matt Stauffer: Oh really? Lalit Vijay: Yeah, so my hometown is a place called Kordoma in Chakan. And it's like surrounded by 30 kilometer of forest all around the middle of the place. Matt Stauffer: Wow. Lalit Vijay: So, finding internet connection was a big challenge. But then I actually got in touch with one person who used to tution me, and tutor for my subjects. And he got in a job at the district center of the place and they had the internet connection there. The government there had this connection. And then I kind of ask him that can I spend an hour or something on that? That gave me access to good internet connection. But after his transfer from that place, I came back to the same point, no internet access. Matt Stauffer: Right. Lalit Vijay: And during 2008 and 2009 and thereabout really I grew kind of big, I got personally an internet connection where I was getting a 2KBPS, 3KBPS kind of speed. Matt Stauffer: You're kidding. Lalit Vijay: Yeah, and I started learning from that. Matt Stauffer: That's enough for like Telnet, and that's about it. What are you gonna do with that? Lalit Vijay: Yes, so at that point, I was like super happy that I have my own internet connection having 3 Kbps of internet. In fact, I remember one incident where I used it. I had taken screenshots of when this net speed was like 6 Kbps, like yay, I got 6 Kbps of internet speed. Matt Stauffer: Did you say 2008 or 2009 was when that was happening? Lalit Vijay: Yes, yes. Matt Stauffer: That's very recent for you to have almost no functional internet. Lalit Vijay: Right because that's a really remote place in India. Matt Stauffer: Yeah. Lalit Vijay: That point I then again try to make more friends with the government people. Matt Stauffer: Right. Lalit Vijay: Got a high speed internet connection again, spent a lot of time on YouTube, and then I started building website for freelancing. And that was for me, grade, I was in high school at that time. Matt Stauffer: Okay, how'd you learn? Lalit Vijay: YouTube. Matt Stauffer: Really? Like you'd just search on YouTube for how do I make a website and people add tutorials there? Lalit Vijay: Yes, yes, and so I'm self-learner. So from my education background I'm electronics and communication engineer. Right, but coding has always been kind of fascinating. It has always been actually easy, alright. So, that was easy to us to do, so we did this. And after high school, I moved to Delhi for my engineering. Matt Stauffer: Okay. Lalit Vijay: And there, then I experienced good internet connection. Now-- Matt Stauffer: So what year was this then? Lalit Vijay: Current net speed we have in our office is one Gbps connection, and at my home I have-- Matt Stauffer: Okay, I'm sorry, I was saying what year is it, but go ahead though, what do you have at home? Lalit Vijay: Okay so currently I have a 10Mbps connection at my home so that works fine enough to me. I moved to Delhi in year 2012. Matt Stauffer: 2012, okay go it. Lalit Vijay: Yes, so four year of slow internet connection, but after 2012 I did my engineering and during my final year, I started my first startup. We ran it for two years, then moved out of that startup. Now, after that I am working on StyleDotMe from 2016. Matt Stauffer: Okay, so what was the group of people who originally started StyleDotMe? How many of you and was there any funding, or was there just a couple friends started this? What'd that story look like? Lalit Vijay: Okay, so after my first startup got set down, I was complete kind of freeze where I was thinking what next in my life right. So, after starting a company you always try to like, try to find why things happen and whatever, and I met a really awesome girl called Meghna Saraogi. And this girl individually made a small seed funding ground with very little money. I can say you something like, you can say 25 lakh rupees. It's like 30 thousand dollars. With that small money, she came from a different city to Delhi with a prototype application on which she has raised a small ground up funding. The whole team gathered over here. Our current CTO is currently a student, right. He is finally an engineering student, but-- Matt Stauffer: Wait, your current CTO or your original? Lalit Vijay: Yes. Matt Stauffer: He's still a student? Lalit Vijay: Yeah, yes, so-- Matt Stauffer: Okay. Just had to make sure I heard that correctly. Lalit Vijay: Yeah so, he's the founding team member also and he's current CTO, and he started as basically as we all started, then we started giving tags to each other and he's now CTO and I'm handling the operations. So, that guy is like, was a very bright guy. Meghna was super passionate about the product and she lead the kind of vision to the company. Akil is like really the Android developer, and he sold his first company for $100K in 2016 when he was in high school. Matt Stauffer: Okay. Lalit Vijay: And then he started to build multiple applications, around 20, 30 applications and being featured in all the good magazines, and he's doing pretty good right now with us. And he's the kinda key person in building this augmented reality application on the IRIS. Matt Stauffer: Okay so, of your team, what's the breakdown of web application developers versus machine learning type folks versus whatever else? Lalit Vijay: Alright so, at web application we have just an admin panel and I handle that. Now we have added one more developer for that and the rest, Ahkil, Dhruv, and me and Avinash co-develop for the machine learning and the Python part, and Ahkil primarily take care of iOS. Matt Stauffer: Okay cool. So one of the things that I always do when I'm gonna be interviewing somebody is I ask everybody at Tighten, do you have any questions that you have for this person? And sometimes they say oh, I've always wanted to ask them this, and sometimes it's a little bit more, you know, oh I'm just curious about this in general. So, one of the questions that someone asked was: of the folks you know in India, especially in the area around you, who do Laravel, and obviously that's not a lot of your team, but to the folks from different conferences, is it more common for people to be employed full time, or is it more common for there to be freelancers? Is there a big freelance, 'cause we're noticing that that's something that we notice to be different depending on the country. So for example, in the U.S. there's very, very few Laravel freelancers, but we've found a lot in quite a few European countries. So what's like it like in India? And obviously it's gonna be different based on the city. Lalit Vijay: Yeah I think India is a very vast country, right? Matt Stauffer: Yep. Lalit Vijay: So it's pretty different in different places. If you talk about Zanzibar and all the tier two cities, you'll find only the kind of people who are employed working on that. If you find in Dehli or Bangalore, you will find some good amount of freelancers too. Matt Stauffer: Okay, yep, and that was kind of my expectation. It's a little bit like that in the U.S., but not as much as I would've expected. There's less and less freelancers around-- Lalit Vijay: Yeah definitely, it's a challenge, it's a challenge to find good freelancers. Matt Stauffer: And one of the reasons they were asking that is what does it look like when your startup needs to grow, and you can't find enough folks to work? Are you doing training for people? What's that like for you? Lalit Vijay: So currently what we do is we hire people who have at least a year or two year of experience, and then train them based on that basis. Matt Stauffer: Yep, on the job, yep. And the benefit is they get the training, and you get someone who knows the things you want them to know, and yeah, totally understand that. Alright, so one of the things we were curious about knowing was we talked a little bit about how you got into programming, but what was it that first got you into Laravel? Lalit Vijay: So I was doing a lot of freelancing work between my high school to third year of college. So from 2010 onwards to 2013. And during that time I was working with multiple people. And it was mostly working in PHP Code and CodeIgniter. And during that time I was just searching around, saw what's coming up and one day stumbled upon this Laravel. And I just checked it out, how is it. And the first class actually didn't took off, and when I came back, I think it was version 3.8 or nine I guess that I first just liked, And I tried my hand and I felt okay, CodeIgniter is fine enough, it works good for me now. And when I got my hand again on 4.2 it was like completely changed, and it was wow, wow. This is pretty nice. And then I started moving my projects on Laravel, and I build up multiple application for a few five star hotels, for at that time I was working with, it was Ramada and Radisson, yeah, so for them I was working. So I built a few application for their internal kitchen order management system, and that's how my initial Laravel experience, in terms of real development came across. And then with every new version started loving more, because every six month you had something interesting, something nice, and the whole community started. So with CodeIgniter and the code base what I was filling from, 2011 to '14, I feel like the community was going downhill. Every year it was slowing down, slowing down, and there's nothing new coming up in the whole PHP ecosystem. And with this growing Laravel community you felt that yep, again we are getting somewhere. And actually people are talking about things, they are selling stuff and they're building. They are not stuck with one version with the same base of code, and you don't know what next going to come, right? So that excitement took me over, and I completely ditched CodeIgniter, and then I used Laravel for my first startup from scratch. That was 2014, '15, and we built the complete front end and back end on Laravel. That worked out very well for us. And I think after 4.2 they were looking back in terms of it was getting better with everything. Whenever I miss something, mostly like it was going to come in next version. Matt Stauffer: That's cool. So one of the other questions I got that I thought was really interesting was, could you think of any ways that developing Laravel applications in India, specifically with Indian audiences, is different than it might be somewhere else? Is there anything you think that folks outside of India might not know about the context or the audiences? One of the things that someone specifically mentioned, I actually talked to Marcel Plizio, and he mentioned the fact that you had said that you have to think about scale a little bit earlier sometimes, because there's so many people. So that, and anything else, are there any other aspects of developing in India that you think that other folks might not be aware of? Lalit Vijay: So the one thing which people think is, since India is a really diverse place, and there is a lot of dialects, but still the major verbal development happens in English only, and you don't really need localization. I think in going few down years from here now we will be seeing a lot of localization within the Indian community. Because a lot of new people coming on the internet, and the rate of acceleration of growth of newcomers coming on for online consumptions is really, really getting big, it's booming. And with that I think more localization will come into the play. For right now mostly it's the English, and the scale is the one reason, because you hit 10,000 users in very soon. And then. If you have 10,000 users you really don't feel like you've got anything until it's like 100,000, right? So yeah, so I think the first time I felt that was we were doing a really small activity, and I wasn't expecting that how much traffic I will get. And my systems are down, that was completely on Laravel. And the moment I saw what was the reason is my data was site down because number of requests per seconds I was handling was too high. It was like 300 requests per second. And for the activity with one influence, having I think 50,000 followers or something, make everybody bogged up on at the same time, I wasn't expecting that kind of response. So yeah, in India that happens, that you can really hit the numbers really fast. Matt Stauffer: Interesting, yeah. So are there any things that you just think of on every new project that, you know, of the folks without that context, 10,000 sign ups might be a six month goal, or a year goal for some folks, and for you you say well, I might hit that super early. Do you say oh, well here's one thing I do on every project that other folks might not have to think about, or something like that? Lalit Vijay: So with us, we always set up the system with load balancer and all the basic coordinates installation pre-loaded. And with us it has always been the case where we do, and then we start doing some out-of-the-box marketing activity. And for that specific duration, our users sort of grow 10 times, 15 times from the normal use cases, right? And that those cases you really need to be aware. But in 80% of the cases the growth is linear on developments you're not doing. With us, what happened currently is we dealing with a lot of enterprises consumers, right? And so we are currently dealing with, out of top 10 brands we are working with top five. So the moment they start, they start very small, like on few retail stores, and when they grow, your growth is going to be get like 10X once the pilot is done. So you just need to make sure that after a month, or two month you are not going to get stuck because the expansion or number of applications are running simultaneously has grown 10X. Matt Stauffer: So what kinda tools do you use to be aware of when you need to scale? What are you using for monitoring? Lalit Vijay: Okay, so currently I use AWS CloudWatch a lot to drag down all that stuff. And over here, since we had everything is enterprise consumers, we do have really on understanding, right? Because with enterprises you need to do a lot of integration and all that stuff before going live, even after the pilots. So we do know kind of base growth now we are going to have, and that's the kind of benefit of being a SAS company with B2B clients. So you have more predictability in terms of what kind of users you're going to see. Matt Stauffer: Is CloudWatch enough to give you everything that you need? Like let's say you know it's gonna happen, but you don't know, well, X number of users, what kinda resources they need. Can you get all that at CloudWatch, are you using a Blackfire, a New Relic, or an Eyewitness or something like that? Lalit Vijay: So the fun fact about us is that for us, the end people who are going to use Laravel back end is very, very limited. Currently we are just with 50 enterprises consumers, right? But they control almost 30% of the whole market's pie, right? So you exactly know the number of consumers, and they are going to sign up. So on the back end part, where the main Laravel meat is working, is really not all that traffic insane. The part where we have unpredictable kind of users is the end-consumer application which is installed in the retail stores. That is completely not on Laravel at all, that's on Firebase. And the machine learning model is within the application only, right, which we train on separate with the application. Matt Stauffer: Oh okay, so is Firebase taking the majority of that? So well the machine learning, is that running on your own servers, or is that in something like Lambda? Lalit Vijay: No, so we train our model on our own systems, and once the model is generated we separate along with the application. Matt Stauffer: Oh, okay, that makes more. Oh, so when you say the application, you mean the actual iOS application has all that embedded. Lalit Vijay: Yes, yes, yes. Matt Stauffer: Okay, so the actual calls from the front end user-facing application to the back end primarily hit Firebase? Lalit Vijay: Yes. With the Firebase even, so since we are working with retailers with a lot of different places where internet reliability is not constant, right? So we work in a way where you have offline storage of everything. So from the last point of internet connectivity you have everything there, and the application will run perfectly fine for you. The moment we got connected with a proper internet connection, we just sync the latest data for them. So number of request we've finally made to our servers is very, very, we try to limit them, because we need to make sure that it runs offline perfectly. Matt Stauffer: What is the tech stack that you're using to generate your iOS, are you using Swift, or? Lalit Vijay: No, it's a Native-C, Objective-C. Matt Stauffer: Okay, got it, I guess that makes sense since you were talking about using C and C++ for your machine learning, okay. Off the top of your head, is there one piece of technology that you predict is just gonna get huge that you're really excited about? Lalit Vijay: AR, yep. Matt Stauffer: Okay, tell me more, I mean as your average developer thinks about that, what should they be prepared to be learning and thinkin' about? Lalit Vijay: So in front-end development, I think AR will change the way currently people are solving, right? And if you see all the big players across the globe are playing and trying things to do in the right way, right? And in India what we see is all these retailers, the reason even after being a very small company in number of head counts we call, and the kind of startup we are, the kind of companies we are working with is like the biggest brand of the country, right? And the reason of that is the kind of innovation we are bringing on the table. So currently the product we have is the only product in this world which can do real-time augmented reality for the jewelers, with such high precision. So a lot of time we find that our model works better than what currently SnapChat has. And we have filed patents for that now. Matt Stauffer: That's very cool. Lalit Vijay: Yeah, so the kind of effort we are putting in in terms of building the fine product for the end consumers, and the kind of response we are getting from the end consumer is really fabulous, right? So just now imagine, today you are sitting there and you have to buy something for you wife, right? And let's say you're giving a surprise to her. What you will do? You will go to a store and you will try to see, this might look good, right? But how are you going to try on her? What we do there is you just take her picture, and put item on her. Matt Stauffer: I was just gonna ask, can I just hold a picture up in front of the camera? Lalit Vijay: Yes, yes, yes, so you just hold up a picture of her and see her wearing the jewelry which you wanted to buy for her. And then you can decide it much better. And this stuff is gradually, I see in a big way, everybody's asking us please give us the web version, but we are not doing it because the kind of quality which we are getting on the web version is not up to the mark, the kind of quality we are developing on the iOS native application, right? So I see a lot of demand in terms of AR, and every sort of company, from Amazon, to this Tiffany, to this L'Oreal Paris, all kind of beauty, jewelry, all domains are using crazily. Matt Stauffer: That's really cool. Lalit Vijay: Yeah. Matt Stauffer: Did all the work that Apple did recently to improve AR in the most recent versions, did that really make a big difference in the possibility for it to be big in the future? Lalit Vijay: We were very excited about ARKit, that that might help us a lot by reducing our work. But it didn't help it that much. It still requires a lot of work right now. The kind of output is not for the enterprises grade right now. Matt Stauffer: Got it, so you think in a couple years it might be different, but right now, for someone to do something at your level, you still have to be doing most of the work on your own. Lalit Vijay: Yes, yes, yes. Matt Stauffer: Okay, yeah. Yeah, I've definitely had that same perception. Alright, let me look at a couple of these other questions, 'cause we're runnin' short on time and I wanna make sure I get everything. If you get a day free, and all the sudden there's no work, and for some reason you can't work, the internet's down at work, whatever, what are you gonna go do with your time? Your favorite thing to do. Lalit Vijay: Okay, so I spend a lot of time while traveling or anything is listening podcast, and reading books. And if not that, then most likely I do not get enough time to spend with my girlfriend, so I do that, yeah. Matt Stauffer: If you don't mind me asking, what would your favorite thing to do with her? If time and money were no constraint, what would you wanna do? Lalit Vijay: Just sitting in a silent place with a mountain with a nice view. Matt Stauffer: Okay, I like that, cool. What are your top five podcasts? Lalit Vijay: Currently, the one which I really love is one, since I'm kind of startup guy, I spend a lot of time on Master of Scales. The other one is Laravel Podcast. So Master of Scale is from Reid Hoffman. Matt Stauffer: Okay, I didn't know he had a podcast. Lalit Vijay: Yeah, yeah, and that's a really nice podcast, especially for the startups. The kind of insights we get is really nice. And now let me just stop into my podcast. Okay, and then this is really nice. You might have heard this, Reply All. Matt Stauffer: Oh yeah, yeah, yeah. Lalit Vijay: Yeah, yeah, I love that, then there is a podcast by a company called Intercom, they have a nice podcast. Matt Stauffer: Yeah, definitely. Lalit Vijay: And then there is called The Knowledge Project, yeah. Matt Stauffer: Okay, I don't know The Knowledge Project, I'll make sure these are all linked in the show notes to everybody. But I can't believe that I didn't know that Masters of Scale existed, I'm just reading through the site and it looks really fascinating. Lalit Vijay: Yeah, it's a really nice podcast. Matt Stauffer: Okay, I think I'm gonna ask you one last question before we're done for the day. And my last question is: is there any either entrepreneur or technological person, or any startup where you say that's who I wanna be like, those are the people I look up to. Whether it's a single human being who's an entrepreneur, or a single human being who's a technologist, or we're at this startup and you say they're doin' it right. I wanna look to them for how to learn how to do it right. Lalit Vijay: I think for me, the kind of two persons to me personally. I take half trait from one person, and half from another, and I really just get inspired by both of them. One is kind of Elon Musk in terms of kind of vision he sets for himself, and another one is Mark Zuckerberg. And for him, the reason for that person is kind of, he know how to be in the business. He know how to beat the competition state out of. You have seen SnapChat, right? Matt Stauffer: Yeah, yeah, no, I get that. Yeah, he definitely knows what he's doing. I've often said, people say well why are they spending that money that way? And I says well you know what, if you've got that much fake money, you know, that's just purely based on your valuation, go do things that are gonna turn into real money. And they made some good decisions there for sure. Okay, so if somebody is super interested in everything you told us about, obviously they're gonna go check out StyleDotMe.com. I'll link it in the show notes if anybody gets lost finding it like I did. But how can they follow you, how can they keep up with you, and is there anything else you wanna plug while we're on the podcast? Lalit Vijay: So for me, I personally love to be on Twitter only. I do not tweet much, but I mostly love seeing how competition do. And the reason I do not tweet much is I really spend really little time on social media, because currently we are in a kind of growth phase of the startup, and we are very, very focused on that, and that's currently like life to us. So a lot of time goes over there. Matt Stauffer: Yep. Lalit Vijay: The next thing, people can follow me LalitVijay on Twitter handle, it's simple, it's LalitVijay. And what I wanted to know is yeah, people do check out Laravel Live India. It's really nice growing community. And if possible, just visit it and give it a try. You will love it, and I'm sure for that. Matt Stauffer: Well that's awesome. Well Lalit, thank you so much for your time, it was a total pleasure gettin' to know you a little bit, and I really do hope that I'm gonna be able to come see you guys there one day. I hear such amazing things about it that I'm lookin' forward to being able to do it one day. And thank you so much for your time today. Lalit Vijay: Sure, thank you so, and I think I will try to get you next year on Laravel Live. Matt Stauffer: Alright, fingers crossed.

Interview: Steve Schoger, Famous Designer and Co-Creator Of Lots Of Things

February 08, 2019 01:11:23 68.66 MB Downloads: 0

An interview with Steve Schoger, designer and creator or co-creator of many online tools like Tailwind and Refactoring UI and Heroicons and Zondicons. Refactoring UI book Refactoring UI website @SteveSchoger on Twitter Transcription sponsored by Larajobs Editing sponsored by Tighten Matt Stauffer: Welcome back to the Laravel podcast season three. Today, I'm going to be talking to Steve Schoger, co-creator of Refactoring UI and about 10,000 other products you probably already use. Matt Stauffer: Stay tuned. Matt Stauffer: All right, welcome back to Laravel podcast season three. It has been a minute. It's been a couple months since the last one, and we're going to roll up, finish up season three. And I let you all vote on who you wanted to hear from. So, we got three people who were at the end. And the first one is Steve Schoger, designer extraordinaire, Twitter fame, making books, and making dollars. Matt Stauffer: And Steve and I have known each other for a while. We work together at Titan for a while. I've also learned a lot about design from him. So, I'm really excited to hear not about Steve the designer quite so much, but about Steve the person. Matt Stauffer: So, first of all, Steve, the first thing I always ask everybody is first of all say hi to people, and then second of all, if you're meeting somebody in the grocery store and they ask what do you do? How do you answer that question of them? So, let's get started with that. Steve Schoger: Yeah. Sure. I usually introduce myself as my formal title. I usually say UI graphic designer. Even that's weird, because depending on where you work, my job title might be different. It's either UI graphic designer, visual designer, but I usually say like, yeah UI designer. And usually they have a clueless look on their face. I usually say I design websites. Is the easy answer. Matt Stauffer: It feels like it's a little bit of a lame answer. I say the same thing all the time. I'm like, "I make websites." Steve Schoger: I know [crosstalk 00:01:48] get all technical, but they won't get it. Matt Stauffer: Exactly. Steve Schoger: And then some people are just completely like, if I'm talking to someone older, they'll be like, "Oh, so you design books?" I'm just like, "Yeah, I do." Matt Stauffer: It's easier to say yeah and move on and by your tomatoes than actually have to answer it. Steve Schoger: Yeah this conversations over. Matt Stauffer: Yeah. My go to for a while has been I make websites, and I'm getting more and more dissatisfied with it, because I did it for a good reason. It's hard to have that conversation with those people, but then everyone's like, "oh, can you make my website for my Mom and Pop Sausage Shop." Or something like that in WordPress. And I'm like, "No. No, I'm sorry." I know some people who make websites. So, now I'm like, "I make web applications." I don't know anyway. Matt Stauffer: So, okay. So, you are right now coming off the heels of a successful launch of Refactoring UI and everybody in the entire internet heard about this thing and it's super exciting, but just a couple years ago, you were working a nine-to-five, and you had not achieved the level of Twitter fame. So, we're going to walk through that process. But before we go there, I want to learn a little bit about who makes the man who we know today. Matt Stauffer: So, where are you from originally? And when did you first get into design? Even in the earliest stages. Whether it was drawing on your wallet at age three or whatever. What are the steps you can remember that really got you to the point where you realized that design or art or creativity in general were things you might be interested in long-term? Steve Schoger: Yeah. So, to your first question. I'm from Ontario, Canada, and I'm from a city called Kitchner. Which is about a hundred kilometers outside of Toronto. And it's a population of 200,000, is the city of Kitchener, but it's this Tri-City thing. There's three cities next to each other to make one big city, which is about about half a million people. And I actually grew up on a small town outside of ... that's the city I live in now, which is Kitchener, which is a city, a small town of 200, 300 people. Matt Stauffer: Wow. Steve Schoger: Yeah and and I started getting into design, I guess, when ... kinda what you said, I started drawing when I was a little kid. I guess, my mom put this miniature horse in front of me when I was ... I can't even recall this, it was like when I was a baby almost and I'd draw it, but I could ... she acknowledged that I could draw depth. You know when people draw a horse or something, they draw a stick figure or something, but I actually drew the depth of it. Matt Stauffer: The angle of it. Steve Schoger: Yeah, exactly. And she saw, "Okay. There's Talent here." And, I guess, that's the earliest form of what I do. So, I've always been into art and when I was younger, I wanted to be an animator/ I'd watch a lot of cartoons cool stuff. And I didn't really ... when I was younger, the job I have now was not even a job. So, I never designed on the computers until I got to like ... Actually, the first time I used Photoshop was my first day of college. Matt Stauffer: Okay. Steve Schoger: Yeah. So, I'd be doing art and stuff and I'd take graphic design courses in high school, but they're not computer based graphic design. It's school, low-budget, you're working with pen and paper, and you're drawing letters and stuff. Matt Stauffer: Using rulers and all that stuff. Steve Schoger: Yeah, exactly. Matt Stauffer: Now, what was that, because your teacher said, "Oh, there's all this newfangled stuff. But we want you to know the basics." Or was it not even in the context of the newfangled stuff and they just said this is what graphic design is? Steve Schoger: Yeah. I mean, I didn't really ... I guess, that's what I thought graphic design was, and then when I got to college then I started using Photoshop, and everyone around me in the classroom got a handle on Photoshop. They already knew their way around a little bit, but the course I took, it wasn't graphic design. It was multimedia design production. So, that's everything from graphic design to to video, to a little bit of development, to even a little bit of music production, because I didn't know I wanted to do graphic design. So, I took a ... but I knew I wanted to do something in media. Matt Stauffer: Okay. So, when you went up to college, you just said, "I want to do something media-related." And you were still trying to figure out what exactly, so you just tried a lot of different classes or? Steve Schoger: Well, it was a course called multimedia design and production. All those things I just said. And yeah, I just wanted to get my hands wet with everything, and figure it out from there. I didn't know what I wanted to do when I went to college. I didn't know what I wanted my career to be, let's put it that way. Matt Stauffer: But you did have a sense that it was going to be creative and you were going to making ... So, basically was that class the full spectrum of potential careers you were thinking of that point? Steve Schoger: Yeah. Matt Stauffer: Okay it was a perfect all-in-one experience on all them. Did you come out of that class then knowing graphic design is it? Or did it still take some time to figure it out? Steve Schoger: No, no, because like, I guess, in high school, I wanted to be a rock star in high school. Matt Stauffer: Yeah. Tell me more about this. Let's pause college. Tell me more about this. Steve Schoger: Yeah, I play guitar. I picked up a Guitar when I was grade eight. So when I was 12, I guess. And I got really into it, I'd spend four hours a day. I'd come home from high school and play guitar until I went to bed. Matt Stauffer: That's amazing. All-electric or were you an acoustic as well? Steve Schoger: I started on acoustic. The way I got a guitar is my great grandma passed away and it was my inheritance. Matt Stauffer: Okay. Steve Schoger: She didn't have the guitar, but the inheritance money went towards a guitar. So, I started playing acoustic and then I always wanted an electric guitar. So, I picked one up maybe first year of high school or something like that. And that's all I did. And I played in the high school bands and stuff. I played bass guitar in the high school band and stuff. Steve Schoger: And, I mean, that was just an unrealistic dream. But when you're in high school you're just, "I'm gonna make it. I'll be ..."- Matt Stauffer: So, when you were in high school, you legitimately were interested enough in that dream that you thought, "I'm going to graduate from high school and I'm going to join a band or start a band. And I'm going to tour the world, and that's where my money's going to come from."? Steve Schoger: Yes. That's what I believed. Matt Stauffer: Because some people say that ... is kinda like the side dream. That was the dream. So, what dissuaded you from that dream? Steve Schoger: Well, my parents. They were like, "Well, you should consider going to school first, then maybe think about doing that." Matt Stauffer: Okay. Yeah. Yeah. So, they were and trying to weave them together a little. Steve Schoger: Yeah. So, even when I was in multimedia design, I still had this music industry dream in mind. So, I did the multimedia course. I graduated from that, finished it, and then there was this music industry arts program at the same college. I went to Fanshawe College in London, Ontario. And it was really hard to get into it. But I applied for it anyway, right after I graduated from multimedia, and they accepted me. So, and I'm thinking, "Well, I might not be a rock star, but I'd love to be in the music industry right? I'd love to show you music production." Steve Schoger: So, that course covered everything from music business, to just being in the studio and recording artists, and all that stuff . Still an unrealistic dream. Look at the music industry now, right? But I took that course and, I mean, that's still my hobby today. So, I don't regret taking that course. I learned a lot out of that course, but then when I finished that program, I was interning at small record labels. And they all saw the multimedia design on my resume, and that's what I ended up doing at those labels, right? I end up doing a lot of web stuff. A lot of designing little brochures and one sheets. A lot of stuff like that. Steve Schoger: So, I was doing that more and more, and I kinda enjoyed it at this point. Because I was kinda doing it for something I really enjoy doing. But I wasn't getting paid, it was all internships and stuff. Matt Stauffer: Oh. Got it. Steve Schoger: Right. And then I'm like, "Well, I got to get a job in this,." And I tried to follow my music industry path, but there was no money in it. So, I'm like, "Well, I just enjoy doing this anyway." So, this is in like 2009. So, right at the peak of the recession. It was impossible for me to get a job. I couldn't get a job anywhere, right? Steve Schoger: So, I'm thinking "Well, not a bad time for me to go back to school." And I already took multimedia, and I'm thinking "Well, what can leverage all these skills?" What can add to this? And I was thinking, maybe I'll take a look at marketing course or some kind of copywriting course. So, I took advertising and copy writing at Humber College. Steve Schoger: But, when I was in school, in that course, I spent way more time working ... I was making ads, and again in the course, I was making fake ads, right? But I spent way more time working on the creative, than actually the writing the copy. And that year I also spent a lot of time just learning web development. And I learned a little bit of this when I took multimedia, but I forgot everything I learned. So, I was real learning that stuff. And it was easy to pick up again. Matt Stauffer: Real quick. What were you learning? Was it mainly HTML and CSS? Steve Schoger: Html and CSS. Matt Stauffer: [crosstalk 00:11:20] did you get into a CMS or anything like that, or not at that point? Steve Schoger: Yeah, I learned about ... I knew about WordPress and stuff. But even that was ... it was a little too technical for me at that point too, because WordPress you can use the templates, but I really wanted to make something unique. WordPress is always just like, you got the header, the content area, and the sidebar. Ad I didn't want that. I don't want that constraint. So, I just started hand coding, and I learned about a few other CMS's at the time. I don't even know what they were called if you asked. But I tried them out, and I found one that worked for me, and I built a little blog for myself, and I would never write, at all. But that's everyone who starts a Blog and has the attention of write a post every week. And some people succeed at it and I did not. Matt Stauffer: I'm there with you buddy. Steve Schoger: Yeah. Steve Schoger: So, I was doing that. And then during this time in school, maybe in the second semester, it was a one year program, like a post grad program. And I took, in the second semester of that, I spent a lot of time ... I realized I wanted to do web design, at this point. And if I found a job before I finished school, I would have just dropped out of school, because I already had two diplomas at this point. So, it wouldn't phase me to drop out. But I couldn't find a job, but I was doing informational interviews, where I would contact the company and say "I'm not looking for a job. I just want to learn what you guys do day-to-day, and learn about the company." And I did a quite a few of those, and it was my way of networking. And you know what? I did do a little bit of like, "Oh this job. This place is hiring a designer. I'm going to ask if they want to do an informational interview." And I did it with a few companies. And one of my informational interviews turn into a job interview and they offered me a job the day later. So, that's how I got my first job. Matt Stauffer: So, tell me about the difference between an informational interview and a job interview when you know they're hiring? Was it, because you didn't think you would have the qualifications or do you think you're more likely to get in for the informational interview? What made you want to do this one type of interview versus just applying for the job? Steve Schoger: Well, if I did an informational interview, it's this ... my sister recommended that I just reach out and ask for informational interviews. And, I guess, I didn't think I was qualified for the job. So, I didn't apply for the job. And I feel like they're more likely going to have me in, if I have no intention of this Matt Stauffer: Ulterior motive. Steve Schoger: Exactly, exactly. Matt Stauffer: So, that's really interesting. Steve Schoger: I recommend anyone, I recommend to everyone does that. If you're a student in school, and you're just maybe not confident enough to go for that first job interview. Just shoot ... most people ... very few people turned me down, for an informational interview. Matt Stauffer: I mean, it makes sense. We've had a few people reach out for that. It seems so unique that I'm like "Yeah. Sure, I'll talk to you for a little bit. We can't always give you a full hour, but we'd love to chat with you a little bit about Titan." So, I hear that. That's really cool. Steve Schoger: Yeah, and I bring my portfolio in, and say "Hey, can you take a look at this and give me some feedback?" Matt Stauffer: I'm a student. I'm still learning and I'd eventually like to work at a company like this. That kind of thing? Steve Schoger: Yeah, exactly. And I was more thinking about, I was going for visual design jobs, but then I was interviewing with companies, and they're looking for UX designers, and I didn't even understand the role at that point. What the difference between a UX designer and a visual designer is. And sometimes I still don't understand the difference. Matt Stauffer: I think most people still don't get it. I still struggle. Steve Schoger: Yeah. Matt Stauffer: Okay. So that was what? 2010, 2011 at that point? Or was it- Steve Schoger: That sounds about right. So, I think, so. Yeah. Matt Stauffer: Were you married yet at that point? Steve Schoger: No, but I was dating my now wife at the time. I met her in high school. And she's my high school heartthrob, and she rejected me in high school. Matt Stauffer: Oh snap. Steve Schoger: Well, she liked me. She later confessed that she liked me, but friends and influence from that. Kind of like, "Oh no, he's gross." Matt Stauffer: He's a rock star, you don't want to be with that kind of a guy. Steve Schoger: Yeah, but then later on we connected after I graduated from Fanshawe. We were talking on MSN at the time. MSN messenger. And that's how we really started to get to know each other, and then she came to visit me a few times, then we started dating. And then I sat a year off between when I graduated from Fanshawe and Humber, and that's when I really, I also spent that year figuring out what I wanted to do, working on my web design skills. And I was just getting to know my now wife at the time. And then we moved into together when I moved to Toronto. Matt Stauffer: Okay. So, during those years in between, when you weren't in school, the reason I asked about her, I mean, first of all, I'm always curious, but also, were you living alone, working just side jobs while you figured this all out? Or what was your life situation during that time? Steve Schoger: The years between- Matt Stauffer: So, basically you got a you got a job in 2010. We're about to talk about what, I think, was the first design job that you got. So, prior to 2010, where you in school the whole time, or where there any years in there where you were - Steve Schoger: [crosstalk 00:16:52] going back and forth here, because I'm stressing out and forgetting things. There was that year between Fanshawe and Humber. And that was me just getting more familiar with Photoshop again, because I haven't touched it in a long time, getting more familiar with code. And I was living with her, but not living with her. She was still a student. And I was just living at her place. Like, I was still living with my parents, but I was just always over at her place. I brought my computer over there and we just pretty much lived together. Matt Stauffer: Were you doing freelance work at this point or? Steve Schoger: No, I was [crosstalk 00:17:26] I was just learning. I took one job that I just was not qualified to do. And I started doing it and I'm like "I can't do this." And I had to say like, "Yeah, I'm not ... sorry." Because you ... I think, the best way to like ... you just got to try, right? That's how I am with ... maybe this is a conversation for later on, but- Matt Stauffer: No no, lets do it. Steve Schoger: That's how I am with speaking. I am really uncomfortable doing public speaking, but I just force myself to do it, and now I'm doing a lot of talks this year, and I regret are doing every one of them, but it's like, "Well, I gotta do them." And I put myself in that situation, but it's like ... anyways. Steve Schoger: So, yeah. I was just working on my craft, I guess, in the in that time, right? With my girlfriend. And that's how I ... and I just bring a lot of blog posts, learning how to design. Matt Stauffer: So, in 2010, you got your first job, and it came out of an information interview. So, a couple questions around there. What was your actual job supposed to be? And at that point where you primarily thinking of yourself as a UI visual designer? Had you started thinking about any of the other aspects of design that you do today? Because today obviously you're doing interface design, but there's a lot of UX embedded in the stuff that you're working on as well. So, how did you think of yourself then? And what was the actual job that you got? Steve Schoger: So, the formal title of the role, and this is goes back to different places have different titles, but the formal title was "interactive designer." And that could be the same as UI designer at our company, visual designer at another company. So, the work I was doing there was more like ... it wasn't so much software design, which I mostly focus on now. It was more like doing websites. And just doing the creative, mostly. Matt Stauffer: So, you'd basically be the one who says "Hey, we're working for Joe's Plumbing. Here's the font that Joe likes." And you'd put together Photoshop documents. Would you also convert them or are you mainly delivering fat Photoshop documents to web developers, and then moving on? Steve Schoger: Yeah. I remember when ... So, going back to the informational interview I had. The moment it turned into a job interview, there's that transition in that part, and I got all excited. He asked if I code. And I knew a little bit of code. I coded enough to build my own personal website, and that's all he wanted to know. He saw my website. He saw that it's probably not the best code, but he made it. And and I didn't need to code for the job. But he liked that I coded, because it just made it easier to communicate my ideas to the developer. Matt Stauffer: And probably also, because you understood the constraints that the developers are under. One of the things I said, when we first started working with you one, of the reasons that we were excited to work with you, and we'll get to here eventually is, because you were a designer who understood that for example, you can't deliver something with an image that would theoretically have to go wider than the browser, but you didn't give us what the image should look when it goes wider than the browser, right? Like when the browser gets a little wider. It's so clear what it's like working with a print designer, who doesn't understand ... not even responsiveness necessarily, but just like, you literally can't curve a thing that way in HTML. It's literally not possible. Matt Stauffer: As someone who understands what it's like to implement something, your brain was set in a different space, I think. Steve Schoger: Yeah, I think so, because everything was print design back then. There was no responsive design. Yeah, that's for sure. And everything was ... even if you wanted to use a custom font, you embedded it as an image. So, I was a big font guy. I didn't like using just the web defaults. So, I always searched for new fonts, and I'd export that as an image. Steve Schoger: So, I did a lot of the exporting stuff. and, but then yeah, I'd usually hand that off to the front end developer. And I was, when I was working there, I was the only designer at the company. It was a small company. I think, there's eight or ten of us in total. Matt Stauffer: Was it a consultancy? That just took client work and did a design- Steve Schoger: Exactly. Matt Stauffer: Built the front end, maybe integrated CMS, deliver it, move on to the next client? Steve Schoger: Yeah, and they specialized ... they worked with a lot of media companies. So, television production companies, and I think, that was just as a result of ... they worked with one, and word of mouth and ... Matt Stauffer: Its who you know. Steve Schoger: It often works that way. Steve Schoger: Yeah. So, I was doing a lot of that stuff. Matt Stauffer: Okay. So, what was your next transition after that? I mean, did you stay at that job for a couple years and regardless, what made you want to move to something Different? Steve Schoger: Yeah. So, I was working in downtown Toronto at this point, at this company. And I worked there for two years, I think. And it was good. I liked being in a small company, but there's also part of me, "It's my first job. What else is out?" So, I was curious, and I interviewed at other companies, but then we also wanted to move back to our hometown, Kitchener, because Toronto is so expensive. By the way, I wish we bought a house in Toronto at that time, because it was- Matt Stauffer: Because now it's so different. Steve Schoger: We could have sold our house then and had no mortgage whatsoever and moved back here. But whatever. Matt Stauffer: [crosstalk 00:23:14] you could predict the future. Steve Schoger: Yeah, right. Steve Schoger: But I wanted to move back to Kitchener, Waterloo. First of all, Kitchener had this ... we have a little bit of a tech scene here. Blackberry, you know Blackberry? They put our name on the map, our city on the map. And we have at the University of Waterloo. So, a lot of trucks, a lot of engineering talent. And this created this little tech community. And I saw this from Toronto, and I was really interesting in it. But there was no design whatsoever. It was all engineers, right? And I'm thinking "I could have a huge competitive advantage if I go there. There's no designers whatsoever." And there was a company ... So, I was interviewing at a company called "Desire to learn." And they're an educational company. Matt Stauffer: I feel like I know somebody else who worked there, or did you- Steve Schoger: [crosstalk 00:24:19] it might be me. Matt Stauffer: Oh okay. Sorry. Keep going. Steve Schoger: And are you familiar with Blackboard? Matt Stauffer: Yeah. Yeah. Yeah Steve Schoger: The same kind of- Matt Stauffer: Can you give a real quick intro to anybody who hasn't heard before though? Steve Schoger: Yeah. It's e-learning software. When you go to school, it's your login portal, and that's where you can get your grades and your assignments and all that stuff. And I even used Desire to Learn when I was at Fanshawe. That was one of their first clients. And I had a friend working there and I was really interested in the company, but they never had any design either. I was their very first visual designer. Steve Schoger: But, to step back a little bit. My friend recommended I apply for this job. So, I applied for it. But at the same time, the company I was working at, we had a really low time, it was not good. And right when I got offered the job, the day later, my boss, before I even got to go into his office and say "I'm quitting." He basically said I gotta lay everyone off. We're closing the doors. Matt Stauffer: Wow. Steve Schoger: So, it was like the same day. I'm like, "Wow. Perfect." Matt Stauffer: Talk about timing. Geez. Steve Schoger: So, I had a little tweak break there, before I started my new job, because I basically I said "I have to put my two weeks notice in." Matt Stauffer: And then turns out you didn't. Steve Schoger: I think, I had a week. We were still wrapping things up and I had nothing to do. Matt Stauffer: Okay. So, you moved back, because you said Desire to Learn was in Kitchener. Steve Schoger: Yeah, moved back to Kitchener. But my wife was still working in Toronto. So, there's a little bit of ... I moved him back in with my parents that summer, is when I moved in. And Caitlin was still in Toronto, living at the place we were renting out. Steve Schoger: So, the summer we were living a little bit long distance, but I mean, we were an hour away from each other. So, I saw her on weekends and stuff. And she was interviewing locally at that time. And I started my job as Desire to Learn. And like I said, I was the first designer there, and UX was such a buzzword at this time. No company understood. They're like we need to invest in UX, but no one knew what it meant. And I worked at that company for two years. And in the two years I was there, I don't think anything I actually did saw the light of day. It was one of those situations. And it maybe has since I've left right? I've made these projects and they were sitting there, and you could work on them. But yeah. Matt Stauffer: That's tough. Steve Schoger: And right when I was leaving, they hired a ... I think, they have a good design team, now. They grew their design team since I have left them. Matt Stauffer: So, is that why you left? Because you just felt what you were doing wasn't actually- Steve Schoger: I was getting burnt out. And I was really passionate about what I was working on. Where I took my work home with me. And it was so frustrating to not have any of my work see the light of day. So, that just burnt me out. And plus, other factors were going on in my life where, we were renovating our house. And I'm not sure if you've been through a process like that, but never again. Matt Stauffer: It's definitely a second job. And it's a second, more stressful job. Steve Schoger: Yeah. So, it's just all these stressful things in my life, to the point where "Man, let's just get out of this city and let's go move to California." And I even went for a job interview in California. They flew me down and stuff, and that was kinda fun. And I didn't get the job. I think, the reason I applied for the job was because I was just depressed, and I just wanted something to change in my life. Matt Stauffer: Maybe some change will make everything better. Yeah. Steve Schoger: Yeah, right? But once I left my job at Desire to Learn, and the house was done, we finished renovating the house, everything settled down, and I felt good I didn't make that decision. Steve Schoger: So, when I left Desire to Learn, I went to an insurance company, a local insurance, well not a local, it's a Canadian insurance company. Well, do you guys have Sun Life in the states? Sun Life? Matt Stauffer: Sounds familiar, but I'm not sure. Steve Schoger: Maybe, because I've talked about it. Matt Stauffer: Probably. Steve Schoger: Yeah. So, it's an insurance company. And it's just a huge company, a huge Canadian company, thousands, tens of thousands of employees. Matt Stauffer: Are they based out of Kitchner as well? Steve Schoger: We have an office kitchener ... I say we as if I still work there. There's an office of Kitchner. I don't even know where the head office is. In Toronto, maybe. But there's offices all over Canada. Matt Stauffer: Got it. Okay. Steve Schoger: And I worked there for two years. And when I started that job, this is when I started freelancing with you guys, Titan. And it was around that same time and it's around the same time I met Adam. And I'm trying to think of a way to tell this story that has this nice, seamless, flow, but I'm trying to remember everything that happened. Matt Stauffer: So, let me let me turn it and maybe this will help you out. So, a lot of us, when we met you and Adam. So, Adam worked at Titan, I think, when I first heard about you. So, he would say "Yeah, I got these buddy that I'm working with, and we do these design things together blah blah blah." So, we just started hearing your name more and more often, and eventually he's like, "Yeah, why don't you guys, consider pulling him in for something?" So, we would and we're like "He's really great." Matt Stauffer: So, we had this idea, especially because, I actually meant to mention this to the listeners that this Kitchner, Waterloo, that whole triangle, is really weird, because there is an excessive amount of technological ... I don't know if I want to say excessive amount of talent, but I don't know. But there's an excessive number of people who do the type of work that I do in that one little space. Matt Stauffer: You're there, and Adams there, and Vehicle's there, and all these other folks are there, and every time we open up a job posting. It's a guaranteed that at least several of the qualified applicants come from this little tiny circle, out of the entire globe. This little tiny circle. Steve Schoger: Well, it's like I said, we do have this tech thing going on here, and I don't want to say it like ... people will say "Well, we're the Silicon Valley of the north." But everyone says we're the new Silicon Valley. But it's like "No, but there definitely is something going on here." Matt Stauffer: And I hear a lot of people say like, "Oh, we've got a nice little tech community." People say that about my local town here. And what they mean is "We have more than nothing." But that's not what it is where you are. There is seriously a lot of people all doing the same stuff there. Matt Stauffer: So, when I start hearing about you, what I figured was, Adam and Steve have known each other since high school, they grew up together, they live down the road from each other, they happen to be very talented, and when I've only learned pretty recently that that's not the case. So, why don't we- Steve Schoger: [crosstalk 00:31:13] no that's not true, yes. Matt Stauffer: Why don't we come at it from the angle of how did you meet Adam in the first place? Steve Schoger: Yeah. Steve Schoger: So, I met Adam, because ... I was always working on a lot of side projects. So, when I was working at Desire to Learn, I'd be working on my ... I'd spend a lot of time working with just startups, helping them out, and just getting my hands dirty, right? And a friend of mine that I went to high school with, his name's Chris Albrecht. And I always wanted to work on projects with him, but he was always busy. He had a kid at this point. He was always doing house renovations. He's one of those guys that's good at everything. He can build a house, and he's a developer, and he's just ... and you want to hate him for it. Matt Stauffer: You don't, because they're also good at being a wonderful person, but you want to hate them a little bit. Steve Schoger: And that's the problem. Yeah, you want to you want to hate him. Good at everything. But then he's just an awesome person, so you can't hate him. So, like "Well, God, man." Steve Schoger: But he took a a software development course at Conestoga College, which is a local college. And that's where I met Adam. And, I think, the two of them were the top of the class. So, Chris talked very highly of him, and he said Adam works on a lot of side projects like I do, I should connect with him. Steve Schoger: And I said, yes sure. And I just sent Adam a message on LinkedIn, and it's funny, I tweeted that recently, the the message I sent to him. It's funny when I re-read it, because I dug it up, and I re-read it. And it's not how I talk to him, at all. It's like, I'm really proper. Matt Stauffer: Yeah, I was gonna ask if it was was really formal. Steve Schoger: Yeah it was a really formal, "Hey, we should connect. I heard a lot of great things about you. I hear you're a good designer, and you're a good developer. It's a really rare combination." And now we just talk like bros. But it was funny reading that and I just said "We should meet up and grab coffee." And I just showed him some of the work I'm doing, and he showed me the stuff he's working on, and I said, "We should work on a project together, just to get a feel for each other and see what it's working with each other, and maybe about can turn into something else." Steve Schoger: And, I think, the very first thing we worked on was, he happened to be working on this Resume Builder app. Matt Stauffer: Yeah. I remember that. Steve Schoger: And I had this idea for a Resume Builder app, and I was designing one, but they're both separate projects. And we're like, "Well, we're working on the same thing. Why don't we build this together?" And we never took it seriously, right? We just wanted to get a feel of what it was like to work with each other. So, we did it, and we got it half done, and that will never see the light of day. Matt Stauffer: Right. That was enough. Steve Schoger: Yeah. Nut I did like working with them. That's what we learned about each other, right? I really like that he's got a really good sense of design, and I have that way of ... we talked about earlier that, I understand a little bit of code. So, I can communicate with him effectively. So, I think, we had that good dynamic that worked well together. Steve Schoger: And, I think, I met him ... I'm not sure if I met him when I was working at Desire to Learn or when I went to Sun Life, but ... no, I met him when I worked at Desire to Learn, because the reason I went to Sun Life, it's like I was going there because, A) it was a pay increase. So, that was nice. But I knew I was going into this big company, that was just a huge bureaucracy. Matt Stauffer: You're a cog. Steve Schoger: I'm going to be miserable there. But I went there, because this is around the same time I was talking to you guys. And I'm like, "Well, I can make this transition into freelance maybe." And you guys were my first starting point there, and what brought me to Sun Life is "Well, I'm going to work my nine to five, and when I get home from work, I'm going to turn that off. And then turning that off and then I can work on freelance projects." And that's what I was doing for you guys. Matt Stauffer: And that's the type of job you want to have, if you're going to start that transition to freelance, is the type of job where you can turn it off at the end of the day. Which, if it were your soul thing, it would be worse, because you want a job you love, but if it's the thing that's helping you transition, you actually want one that you don't love and you don't care about, that goes away. That's really interesting. Steve Schoger: I almost didn't care if I got fired. It's that kind of thing. I didn't want to get fired, because it paid the bills, but it's ... Matt Stauffer: You weren't emotionally or mentally tied to it, other than showing up and doing the things you should do to get the paycheck basically. Steve Schoger: Yeah exactly. Matt Stauffer: Huh. Okay. Steve Schoger: So, this is where you get more familiar with where I come into the picture. Matt Stauffer: Lets pretend like I don't know it. Steve Schoger: So, I'd work on a few projects with you guys, and I was also doing a few projects with Taylor. And, I think, the first thing I did for him was spark. I did the first Spark website. I did the website and I did a logo for him. And, I think, I did that before I started work with you guys, because Adam recommended me to Taylor, and then he recommended me to you guys. Steve Schoger: And I knew nothing about Laravel at this point. I only know about Laravel, because of Adam. Adam got Laravel famous. And I said, "Hey man, I come with you?" Matt Stauffer: Me too. That's hilarious. Matt Stauffer: Yeah. So, I remember that you were doing that transition stuff. When did you leave Sun Life? What was the the moment right? Steve Schoger: Because I was talking ... I did a few you projects with you guys. And then I'm not sure who suggested it first, but we basically had an arrangement. I think, it might have been you who suggested it. It doesn't matter. But you guys wanted a designer, because you never had a designer at your company. And Taylor just wanted an ongoing designer, but neither of you had enough work to fulfill a 40 hour week. Steve Schoger: So, the arrangement was, well, I do one week with Titan, one week with Taylor, and then I'd have an off week to go find any other freelance work. So, we had that arrangement worked out, and then you guys matched my salary at Sun Life. So, it felt easy going into, it was easy to convince my wife it all worked out. Steve Schoger: So, I made that leap. And that's what brought me to that thing, an I've been working with you guys for ... how long have been with you guys for now? Matt Stauffer: Has it been two years with this arrangement? Steve Schoger: It's funny. I've been with ... every job I've had has been two years. Matt Stauffer: That's it. That's your magic number. Steve Schoger: Yeah. Matt Stauffer: Yeah. I think, it's been two years. Because, I think, we did one year, and at the end of the year, we thought about it, and we re-upped it. So, it's probably been two years this way as well. Steve Schoger: Yeah, and, I mean, we're on pause right now, right? And that's ... we're talking about that shortly. Matt Stauffer: [crosstalk 00:38:17] story. Yeah. Steve Schoger: So, I was doing that, and I don't know ... next question, I guess. Matt Stauffer: Yeah. Matt Stauffer: So, I think, that worked really well, and, I think, it was really great for us. I mean, that's a curious business thing that anybody else can ask any of us more about, is that idea where Dan and I since ... Dan and I are both liberal arts Majors, with the design aesthetics, who are programmers. So, we always wanted a designer. From the earliest days of Titan, we wanted a designer, but it was hard for us to really justify at the beginning. Matt Stauffer: So, this was a really cool way to do this transition. And now we have a full-time designer, and have had Steve working with us for a while. But it took us this kind of experience to start building design into our workflows, and our ways of building. So, just anybody who's curious about that, it worked out really, really, really well, for us. Matt Stauffer: But the next part of the story was what you used in that third week. And that third week, was a combination of, I think, finding other clients, but also starting to become not just Laravel famous, but eventually just web development, broad internet famous, and then there's books and stuff like that. Matt Stauffer: So, where were you thinking? What was your approach? What was your attack? What was your mindset? What were the first steps you took to start using that time and start garnering a reputation? Steve Schoger: Yeah, I think, for the first year, I was doing a lot of ... I was just doing ... I was using the time for freelance, and I was finding new freelance clients. And I don't even remember any of the projects I did in that time, even though it was like a year ago, probably. Two years ago. But they're just a little one off things right? Steve Schoger: But it was still ... the tricky part about that thing. It's like, well, I work on a freelance project for a week, but there was more to do after working after that week ... For you and Taylor, we all had this understanding. Well, I'll be back with you in two or three weeks. But when I get a new client, it's like, well, I had to be ... Full disclosure. I have this [inaudible 00:00:28] going on, so I can work with you this week, but I won't be back with you 'til the following week. Steve Schoger: And they had a deadline, so it's like ... Well, I don't know how long I could do this for. I could only pick certain projects that last ... It was hard to find clients that worked that way. Matt Stauffer: [crosstalk 00:00:40] one week or less at any given moment. Steve Schoger: Yeah. So what I spent my time doing is just working on my personal brand, or working on little side projects, and the first project I did was Hero Patterns. That was a website for ... It's SVG background patterns. You can go on heropatterns.com and it's just a bunch of patterns that you can use for a hero background or whatever you want to use it for. I built that just as a fun project. I wanted to learn more about SVG, so that seemed like the right step, and I just wanted to add it to my portfolio and add to my personal brand. Steve Schoger: Then I released a bunch of icon sets. That's what I was doing in that time, just working on free, open-source projects. Matt Stauffer: Yeah. And those took off pretty quick. I remember seeing Hero Patterns, and I think [Zomicons 00:01:40] as well, on things like CSS Tricks. So it was pretty early on that you were releasing these things, and they were getting picked up pretty broadly. Steve Schoger: Yeah. Well, the Laravel community has certainly helped with growing my Twitter following, because it's such ... The whole community is really active on Twitter, first of all. Then I had Taylor and Adam retweeting my stuff and that really helped. Taylor had probably 50,000 followers at the time, so it all helped. I was growing my following there, and then Hero Patterns was getting posted on Product Hunt, and that really helped. Steve Schoger: From there, where does that bring us to? I was doing all these little open-source projects, and then I started doing the tips. Let's move up to that, 'cause I don't know what else ... Oh, I released another little project, Heroicons, which is like SVG icons, marketing icons ... They weren't meant for in-app experiences, but more if you go on a marketing page, and you're showing a features section. You can put the icons there and customize the colors. I thought it was a pretty interesting idea when I made it and it was a fun little thing, and I could make some money off of it. Steve Schoger: I released that and it did okay. I think I made $10,000 in the first few months, over that period. But Adam was launching his books and his courses, and they were doing insanely well. I saw him doing that and I'm thinking, at this point, I think I could maybe do a design book or something like that. I had all these ideas for what a design book could be for developers, and I was sharing these ideas with Adam. He encouraged me to build my following first. Matt Stauffer: Yeah, yeah. Steve Schoger: 'Cause that's what he did and that's what made his launches so successful. He proved that what he was making was worth it. Steve Schoger: I started doing the tips on Twitter to prove that I know what I'm talking about, and I can provide little ... Basically the tips, if you're not familiar with them, they're little bite-sized design tips. Here's a before of something that a developer might design, and here's an after of how you can improve it. It's like, take it, instant improvement, instant gratification, and they've evolved over time. Steve Schoger: The first tips, I was working on a project for you guys, let's say, and I'd take a screenshot of that project I was working on and post it and that was it. Immediately, they started doing well. People started seeing them and they were like, wow, these are pretty useful. Then they just grow and grow and grow. Steve Schoger: The tip idea, by the way, I stole the hot tip idea from Adam, 'cause he was doing hot code tips, and he stole it from Wes Bos, 'cause Wes Bos has been doing it for years. I talked to Wes Bos about that recently, and he said he stole that idea of a tip from someone else. Matt Stauffer: Really? Steve Schoger: Yeah. But he made it his own by adding the fire emoji. Matt Stauffer: Yeah, yeah. Steve Schoger: But now people think I created the fire tip and there's people copying me. It's all great. It all grows from there. Steve Schoger: Then, like I said, I was working on these projects, and I'd maybe work on something and I'd see, well, that's an interesting insight, and I'd take a screenshot of it. But then they became a higher quality thing. Well, in order to communicate this idea, I need to make this own little thing specific for this. Matt Stauffer: Compose the tweet with all the ... You made a little graphic side-by-side with all the bullet points and everything, right? Steve Schoger: Yeah, exactly. So the very first tips that I was doing, I'm just doing them and not thinking of it, and then Adam would bring in a lot of ideas. He'd share his ... This would be a cool tip for you. Matt Stauffer: Sure. Steve Schoger: Then we'd work on it together, and then they became ... with both of us working on them together, the quality went up and up and up. We'd try to make each tip better than the last, so they eventually just did really well. I think the biggest tip I posted got 13,000 likes and 3,000 retweets. Matt Stauffer: Holy crap. I knew they had gotten big but I didn't realize they'd gotten that big. Steve Schoger: That's by far the biggest one. At the beginning, they were getting ... The very first one I ever did, 40 likes. Then from there, it got 100 likes. Then it was 300 likes. I'm like, whoa. That's so big. Now today, it's like I can't post one without getting at least 2,000 likes and 300 retweets. Matt Stauffer: Geez. Go ahead. Steve Schoger: Yeah. They just spread so far. Matt Stauffer: That's awesome. Steve Schoger: The last tip I tweeted, people are hijacking the first comment, 'cause they know ... They see a little fire emoji in the tip, and they're like, first comment. Matt Stauffer: At least it's first comment, and not, do you see this? You should go to my course, blah blah blah. Steve Schoger: No, it was a friend of mine who's just joking, 'cause on the Kanye posts, people try to hijack it with their art. Matt Stauffer: Yeah. That's awesome. I wanted to point out something really quick here. I think one of the reasons that these spread so much is that, first of all, they're really high quality. You really know what you're doing. There's not a lot of people talking about it this way, and they're really easy to digest and apply. So there's one aspect. They're just really good tips, broadly, this is a really good idea. Matt Stauffer: But I think the other piece about this is that your tips ... You mentioned the fact that [inaudible 00:07:38], there was a lot of dev and not a lot of design. We have talked about this for a long time, about the Laravel community and other programming, especially back in programming communities. I have clients all the time that say, yeah, you can tell this was made by a developer, referring to something that they have that they're asking us to fix up. That means something. "You can tell this was made by a developer" means it doesn't look good, it's hard to understand. The information density is bad, the flow is not good. Matt Stauffer: There's this very big issue, with us as developers, knowing how to put stuff on the page, but not really knowing how to make it and such so that it's going to be ... not even just enjoyable, but understandable for the end user to really get the information out in a reasonable, pleasant way. Matt Stauffer: One of the things I love about your tips and a lot of your teaching is I think it reflects the fact that you do understand developers, and you do understand development, and you do know code, and you know enough developers and work with enough developers to know where our shortcomings are. You're not just putting out generic design tweets, but many of these tweets ... not all, but many of them ... are explicitly useful for people without a design background who are put in context, that because we're application developers, we need to build user interfaces. We don't know what you're doing. Matt Stauffer: I feel like a lot of basic design tips people give tend to be relatively useless to developers 'cause it's the same three things you've heard over and over again, but you really narrow in on practical design tips that help application developers. I wanted to point out that that is something I think probably comes intentionally, but also probably comes a little bit because of the specific background you do as a tech-adjacent designer, right? Steve Schoger: Yeah, and I think also, Adam's involvement too is a huge, huge- Matt Stauffer: Sure. Steve Schoger: I'm more or less the face of Refactoring UI, but it's honestly ... Adam and I are doing it ... Basically, the tips are ... From the birth of a tip idea, me and Adam will be ... Adam might point something out to me and say, this is an interesting little insight, and I'll have a sketch file of all my tips. I'll be able to either take a screenshot of something and I'll passively work on it until it best communicates the idea, and me and Adam are going back and forth at this point. Steve Schoger: Then there's the tip launch day, that we decide we're going to post ... That's a two-week process before we get ready to post it. Then me and Adam jump on a call and spend some time figuring out, how do we want to work this? How do we frame it in a way that communicates it? A lot of time gets put into these. Steve Schoger: But, yeah. Certainly, I have that kind of background that helps communicate to developers. But I don't want to discredit Adam whatsoever. Matt Stauffer: I love that. Steve Schoger: He's equally involved in that process, and he's coming with his developer point of view. Like I said, he's got a really good sense of design as well. And to be fair, some of the tips we've posted, I never even thought of them as tips, 'cause I'm so ... I have a designer mindset. Matt Stauffer: Sure, sure. But Adam was able to help you see- Steve Schoger: Yeah, exactly. Some of them ... It's like, one of the tips, for example, is offsetting a box shadow to make it appear like a light's coming from above to make it look more natural, right? Matt Stauffer: Right. Steve Schoger: And he suggested that tip, that was his idea, 'cause I never even thought of it as a tip. I'm like, I just do that. It's just second nature. I don't even think about it when I do it. Doesn't everyone do that? There's quite a few tips like that, where it's like, I never even thought of it as a tip before, as something insightful. Matt Stauffer: That's cool. One of the things that I pointed out to Adam that he does intentionally, but I don't know if everybody recognizes, is that he has a talent for ... We haven't actually said it. This is Adam Wathan, in case anybody happens to listen to this podcast and doesn't know who Adam is, which I kind of doubt. It's Adam Wathan. Matt Stauffer: He has a knack for recognizing what everybody in a particular community doesn't know, and everybody in another community might know, and then bringing the stuff that the other people know into the community where they don't know it. Refactoring to Collections, if you were to sell that book to someone in a community where they use collections pipelines for everything, they'd be like, why would I spend money for this book? But Adam understands how to bridge that information, so part of his talent, I think, is helping bridge the knowledge that you have as a talented designer and a tech-adjacent talented designer who does have a lot to offer. But he's also able to help you bridge that gap into developer mindset. So I love that you brought that point up. Steve Schoger: Yeah, I think that's very accurate. Adam's probably the best teacher I know. Him and Jeffrey Way are the really good teachers. Adam's probably one of the smartest people I know, and him and my other friend are the smartest people, I know, but the other guy that I'm speaking of is ... He was almost an astronaut. So that's who I compare Adam to. They're both completely different. He couldn't do what Adam does and Adam couldn't do what he does. Matt Stauffer: Well, you mentioned Refactoring UI. That's a perfect segue. So, hot tips was a big thing, and then you and Adam decided you guys were going to make Refactoring UI together. A lot of people have questions about that, you did just launch it. Before we talk about how it started, what did it end up being? If somebody's never gone, what is Refactoring UI right now that they can go purchase? Steve Schoger: Yeah. Refactoring UI is sort of a package. It was pitched as a book, but that takes all of the ... pitched it as a book to help developers get good at design. But we made this whole package, this whole resource for developers to help them make their designs better. So there's the book aspect, and that's probably the main component that everyone's familiar with. But then with that, we provide color palettes. So a big problem with developers is they don't know how to choose colors, so we just provide a bunch of color palettes for them. We provide a bunch of font recommendations, and there's an icon set. So it's this big package that you can go pick up. Matt Stauffer: Yeah. That totally makes sense, and it's good to know it's not just a book, 'cause I think that you guys said, what's the best way we can teach this? It's not just book, it's also resources that help you do the thing. And there's videos too, right? I think you mentioned that. Steve Schoger: Yeah, I didn't mention that. There's videos in the package. The videos are taking the ideas that are introduced in the book and applying them to a real-world example. Matt Stauffer: You tweeted out a couple of those, so if somebody wants to get a sample, they can see what that's like. I think you tweeted some. Steve Schoger: Yeah, there is a one video available you can watch. We emailed it out to the mailing list, so you can sign up and you can get that. You can also check out, if you're interested in that kind of thing, I also have a YouTube channel where I do UI breakdowns, and that's all part of it. Matt Stauffer: Okay. So we now know what it ended up being. And it just launched ... Right now, it's January 11, and it just launched a couple weeks ago- Steve Schoger: A month ago, December 11. Matt Stauffer: Okay, there you go. Steve Schoger: There you go. Matt Stauffer: When did it start, if you remember, and what were you originally thinking? Steve Schoger: Yeah. Like I said, I saw Adam get successful with all his courses and stuff, and I'm thinking, well, I could maybe do that with design for developers. So the original idea was, I was going to write a book. But I was bouncing my ideas back and forth with Adam, and it just made sense to get him involved in the project. And I think this was even before I started doing tips, I thought I was going to write a book. It only made sense to get him involved and make it a 50/50 partnership, 'cause he can bring his developer frame of mind to it, and to articulate the ideas that have much better than I could. Matt Stauffer: Yeah. At that point it was still a book. What thinking process did you guys go to when you were starting to write this book that made you realize it needed to be more than just that? Steve Schoger: Right. I think when we started working on the book, there was a few ideas in the book that ... It was too difficult to communicate in the way we were writing it, the style of writing it was. And there was a few ideas we wanted to communicate that just couldn't be communicated that way. That's when we realized we needed to make some videos attached to it. There's a few insights in the videos that you can't necessarily find in the book, 'cause maybe it's a little more hand-wavy. We like to make the book very- Matt Stauffer: Very concrete? Steve Schoger: Yeah, very concrete, where in the video, there's a few more ideas that are a little more hand-wavy. Matt Stauffer: What was the hardest part about writing this book, about this whole process for you? Steve Schoger: Making the book was a roller coaster of emotions. Matt Stauffer: Oh, yeah? Steve Schoger: Well, you've been through this, right? I think early on, we had all these ideas of what the book was going to be. We spent so much time planning, and not enough just doing it. What we realized is that we should've just started doing it and let it just unfold, right? Matt Stauffer: Right. Steve Schoger: What was the hardest part? The book is more or less a picture book. There's more pictures than there are words. I made about 300 images for the book. Matt Stauffer: Wow. Steve Schoger: And they're not just ... A lot of books will just take a real-world example, take a screenshot of it, and put it in their book. We had really specific points we wanted to communicate, so we thought the best way to do it is design a little UI for it. One of my goals with the images was to make it so ... First of all, I might design an entire UI just to communicate how to do a drop shadow. I thought it'd be cool if every image in the book is something you can go ahead and create yourself, challenge yourself to create that image in the book. And I wanted there to be a little bit of hidden gems within all the images. Steve Schoger: So it's like, oh, we're teaching you how to do a drop shadow here, or a box shadow, but I noticed in this little UI example, you had this, and I never would've thought to do that on my own. So there's a whole bunch of little hidden gems like that in images. That took a long time. Steve Schoger: The way we delegated work with the book was Adam wrote all the words. We worked on all the concepts together to figure out how we communicate these ideas, and Adam wrote all the words, and I did all the images. Matt Stauffer: Got it. Steve Schoger: Some chapters will be like ... There's 200 words, but then nine complex images. So I just couldn't do any of the writing with the amount of time I was spending on the images. Matt Stauffer: For sure. What you're saying is you did all the work and Adam just mailed it in, right? Steve Schoger: Yeah, exactly. Matt Stauffer: I'm just kidding, I'm just kidding. Steve Schoger: No, no. I couldn't have done it without ... Like I said, Adam is far better at articulating these concepts than I could've ever done. If I wrote the book myself, it would've been ... I don't want to say a failure, but it wouldn't be near as good. Matt Stauffer: Yeah. And I want to attest to the fact that I know both of these guys relatively well at this point, and they basically disappeared off the face of the planet for weeks at the end there, because they were both putting in such long days. Tell me a little bit about that time for you. Steve Schoger: Yeah. Just for the listeners, I had my thing, gig with you and Taylor, and I think I sent you guys a note at the end of September, maybe? Matt Stauffer: I think so, yeah. Steve Schoger: Is that about right? And Adam and I were passively working on the book at this point, but we realized it needed a full-time commitment. So I sent you guys a note saying, hey, I know you guys knew we were working on this book. We were getting towards ... gearing up launching this. So I sent you guys a note saying, hey, do you mind if I go on a leave, and you guys were fully understanding about it, and that was awesome. I feel like I'm in debt to you guys for that. Matt Stauffer: No, dude. Not at all. Steve Schoger: Then that was in September, and we already had a launch date in our head. We wanted to get it done before the new year. We already announced that we were going to get it launched by fall 2018, right? Matt Stauffer: Right. Steve Schoger: And then I just worked on ... We worked on the book for three months there. There was a break in between where we were both ... And you were there too ... invited to speak at Laracon Australia. Matt Stauffer: Yeah. Steve Schoger: Both Adam and I made a bit of a family vacation out of that too. We spoke at the conference, but it's like, well, going to Australia is a once in a lifetime opportunity, and our wives want to come, so we brought our whole family along. Matt Stauffer: I got to meet your families and I loved it. Steve Schoger: Yeah. That was a two-week break we had in there. Then when we got home, we realized ... We wanted to launch it at the end of November. That was the original goal. But we got back from Australia, we were like, that is impossible. There's no way to get this amount of work done in that amount of time, so we pushed it back a bit. We didn't actually have a date in mind, but we were thinking, we've gotta get it done before the new year, because if we don't get it done by ... If we didn't get it done in the week we got it done, then we probably would've postponed it to the new year. Matt Stauffer: Yeah, 'cause it was just too close to Christmas and everything's too crazy around then. Steve Schoger: Exactly, exactly. Even at the time we launched, it was a little bit ... I don't know. Yeah. And we were just ... Like you were saying, we disappeared, especially in the last week. That was ... I didn't sleep for three nights, the last three days before the launch. I was up for 72 hours. I got maybe two hours of sleep in that period. Matt Stauffer: Yeah. I saw you at the end of that period. Steve Schoger: Yeah. Matt Stauffer: [crosstalk 00:21:09] Steve Schoger: No, and I was just neglecting my family. My wife was incredible about it. She even said, hey. Would it be helpful if I go sleep at my parents' for the next few nights, just to get out of the house, and you have time to yourself? Matt Stauffer: Wow. Steve Schoger: She was incredible for that. Yeah. That was just ... I was trying to stay active on Twitter, 'cause I needed to keep promoting the book and make it look like I was still alive. But, yeah. Matt Stauffer: Because we're pretty short on time, I try to keep these under an hour and we're going to go a little bit over, I want to ask you a lot more questions, but I want to at least push on this one thing. What did it feel like to put out your first big product, and what were you doing after the launch? Now that it's been a couple weeks, how do you reflect on that experience about having done it, about the launch day ... Does this make you want to go do something like this again, or do you say never again? How do you feel about it right now? Steve Schoger: I don't think I'll ever work on a book again, for sure. But I'm all down for working on projects like this again, big product launches. They're fun. Steve Schoger: I know when Adam did his Refactoring to Collections book, it was like, he was working on that in the evenings and stuff while he was working for you guys, then he had this unexpected huge launch, and that enabled him to quit his job with you guys and pursue that stuff full-time. That was pure excitement for him. Steve Schoger: For me, the build-up to this ... There was kind of an expectation that this was going to do well based on the ... Every time we posted ... Yeah, the hype was so seeded with it. So all the excitement was almost before the launch, and then after the launch, it was kind of like ... I'll say it was incredibly successful. But that success almost hasn't even hit me yet. Matt Stauffer: Was it a little anticlimactic? It was kind of like, work, work, work, work, work, and then it's just out there and then ... Steve Schoger: Like I said, we were up for 72 hours prior to launching, and even after we launched, it was just support emails. We were working incredibly hard after the launch too. Now it's starting to settle in and it's starting to calm down a little bit, and now it's starting to feel like, wow, we did something incredible. It's not even just the success of the launch of the book and all the money it made, but it's also just ... I feel like we actually made something that is big. Matt Stauffer: Yes. Steve Schoger: I feel like the thing that we delivered to the world was ... This is really going to help people, and we really wanted to make something that is going to hold up over time. We didn't want anything that's ... We tried not to be too on-trend in the book. We want it to be really something that's going to be relevant 10 years from now, you know what I mean? Matt Stauffer: Yeah, yeah. Steve Schoger: So that was our goal. That's hard to do, but we did our best at it, I think. Matt Stauffer: I think that the best books that really tell that is when there's a book where the only irrelevance it would ever have is if the things that it teaches have become so internalized by everybody that you then read the book and go, okay, well, yeah. I already knew that. And I think that is the most likely case, if anything, of its irrelevance, is these things become known. There's a couple technical books. One is How to Make the Web Faster, I think it was called, by Steve Souders, and there's one other that I had in my mind. Oh, Adam's Refactoring to Collections book. I used to have questions in our interview process that would best be answered by a collection pipeline, and then Adam released his book, and then after about six to nine months, those questions no longer helped me figure it out 'cause everybody read the book and everybody knew the answers. Steve Schoger: Yeah, yeah. Matt Stauffer: I think if there were any irrelevance of this book or this project going forward, it would hopefully be that so many people consume it, it becomes so well-known that it's still a go-to reference book, but a lot of people say, yeah, I learned that. I like that. Steve Schoger: Yeah. We targeted the book towards developers, but it also resonated with designers. A lot of designers told me that it appealed to them ... It's kind of the back to basics, almost, for designers as well. It's not just ... It's back to basics for visual design. Everything is so hand-wavy, all the information out there. But this is like, here's some concrete knowledge on designing interfaces, doing visual design. Matt Stauffer: Yeah. Steve Schoger: Sorry, I interrupted there. You had a question. Matt Stauffer: No, no, no, that's fine. That was it. I have one big question I'm going to ask you at the end. But I asked people on Twitter what they wanted to ask you, and most of these, they're either silly or they're not appropriate for a podcast or something like that. But there are two I want to ask, just because. One of them is, how tall are you, from Johnson Paige? Steve Schoger: I'm 5' 11". Matt Stauffer: Okay, 5' 11". And one of them is what is the weirdest- Steve Schoger: Not as tall as Matt. Matt Stauffer: Not quite. Steve Schoger: Matt is much taller. Matt Stauffer: 6' 2", it's close. Another one. Aiken Roberts asked, what's the weirdest thing you put in a sandwich? Steve Schoger: I'm a pretty simple man. I don't think I put anything ... Now, there might be something weird I put on a sandwich that's Canadian and foreign to you that's normal for me, so ... Matt Stauffer: Mayonnaise on a burger or something like that? Steve Schoger: Of course I put mayonnaise on a burger. Matt Stauffer: You know that's Canadian, right? Steve Schoger: Really? Matt Stauffer: Yeah. That's super Canadian. Steve Schoger: That's a Canadian thing? No kidding. Matt Stauffer: I do it. But I remember ... I grew up in Michigan, and the first time we went up on a trip and I had McDonald's there, they put mayonnaise on it, and our minds were completely blown. Steve Schoger: No kidding. Matt Stauffer: We were like, why is there mayonnaise on a McDonald's burger? Yeah, that's Canadian. Steve Schoger: What do you guys use mayonnaise for, then? Matt Stauffer: Sandwiches, usually. But just not burgers. Steve Schoger: Okay. Matt Stauffer: I think mayonnaise and burgers are brilliant. My whole family does it. But it's not a normative American thing for sure. Steve Schoger: No kidding. So that's the weird thing I put on burgers. Matt Stauffer: There you go. Okay. Jesse asks, who is your favorite high school teacher? I guess Jesse went to high school with you. Steve Schoger: Yeah, so ... Yeah. We were talking earlier before the podcast. I went to high school with Jesse, and my name started getting more familiar in the Laravel community, and he's already in the Laravel community. He reached out to me one day saying, are you Schoger from high school? And sure enough. Matt Stauffer: That's so awesome. But I am curious, not just because I want to tickle his fancy about high school, but what ... Did you have a subject in high school that you really liked or a teacher you really liked? Steve Schoger: Yeah, my favorite teacher in high school was my art teacher. His name was Mr. Garry. Matt Stauffer: Okay, that makes sense. Steve Schoger: I think he just saw the best in me, I guess, and that's ... 'cause I was kind of a shithead in high school. I was not a good student. Matt Stauffer: You're a rock star, right? Steve Schoger: Yeah, exactly. He just saw the best in me. Matt Stauffer: That's cool. Steve Schoger: Yeah. I think he's retired now. I hope he's doing well. I ran into him a while back ... I don't think he knew my name, though. But he recognized me, and ... Matt Stauffer: That's cool. Steve Schoger: I hope he's doing all right. Matt Stauffer: The last question, other than, how can people follow you, which we'll get to in a second, is ... Let me see who it was that asked it. I should credit them. Sebastian Cozul asked, what's next? Steve Schoger: What's next? Right now, the past few weeks, I'm doing some Refactoring UI updates. Expect a few updates with that. I want to get back into YouTube videos, I want to get back into ... I'm working on a project with Taylor next month. Matt Stauffer: Oh, cool. Steve Schoger: The next thing I'm working on, the next big thing I'm working on, is I'm going to be helping Adam with Tailwind stuff, and we're going to be growing that. Matt Stauffer: Oh, cool. Steve Schoger: I'm not going to announce anything, but we've got some big stuff happening with that. Matt Stauffer: So if somebody is curious about that big stuff that's happening, how should they best follow you? Steve Schoger: You can follow me on Twitter, I'm very active on Twitter. Matt Stauffer: @steveschoger. Steve Schoger: @steveschoger, yeah, that's my handle. Matt Stauffer: You have an email list that you prefer they join right now? Steve Schoger: Yeah. You can sign up at Refactoring UI ... We have two email lists there. We have the refactoringui.com, go to that site and there's ... just to get general Refactoring UI updates. Like, if I do a YouTube video, we'll send you a note. Then there's the book email. They're two different newsletters. So if you just want updates on the book, if you want sample chapters and stuff, it's refactoringui.com/book. Matt Stauffer: Okay. But if they just want to follow what you're doing next, just refactoringui.com and sign up right there? Steve Schoger: Yeah, exactly. Matt Stauffer: Okay. Steve Schoger: I'd say the best way to keep engaged is Twitter, to be honest. Matt Stauffer: Yeah, yeah. And if there's anything else ... Or, is there anything else that you would like to say? Anything we didn't get a chance to talk about, or anything you want people to check out or anything like that that we didn't cover yet? Steve Schoger: I don't think so. We talked a lot. We've been going for almost over an hour now. Oh God. Matt Stauffer: Yeah, yeah, I think so. Yeah. All right, it's been good. Steve Schoger: You're going to have to edit this a little bit and make it down to- Matt Stauffer: No, no, man. They're going to sit through the whole thing. I don't care. They'll love it. They'll wish I had talked to you for an hour longer, just like I always do. Matt Stauffer: Well, Steve, dude, it has been a ton of fun. It's been a ton of fun knowing you as a person and being able to learn from all this stuff, but it's also been a ton of fun talking to you today. Thank you so much for your time and telling us a little bit of your story. Steve Schoger: Yes, thank you. Thank you for having me. Matt Stauffer: All right, that's it. Steve Schoger: Okay.

Interview: Abed Halawi, Tech Lead at Vinelab

August 29, 2018 00:52:11 50.14 MB Downloads: 0

An interview with Abed Halawi, Laracon EU speaker and Tech Lead at Vinelab Abed on twitter Abed's talk at Laracon EU 2016, "The lucid architecture for building scalable applications" VineLab Neo4j NeoEloquent Beirut Transcription sponsored by Larajobs Editing sponsored by Tighten Matt Stauffer: (music) Hi- Abed Halawi: Abed. Matt Stauffer: Abed, hello. All right, ah dang it. Welcome back to Laravel podcast, season three where I mispronounce everybody's names. Today I'm talking to Abed Halawi. I think that's right. He did lots of great packages and stuff, you'll learn more soon, okay bye. (music) All right, welcome back to another episode of Laravel podcast, season three where I mispronounce people's names. I actually got it wrong right before the intro, but then he corrected me. So it's, so the syllable its the emphasis on the wrong syllable. I'm talking to Abed Halawi. And I'm going to let him introduce himself, where he's from and I tell you guys all this every single time when I do this, but I'd like to switch it up between people that you have heard of before. You know, you know an Adam and you know a Taylor and you know whatever. And people who, within certain communities they're well known. They made an amazing package, they're a strong community leader or something, but the whole rest of the world might not know about them. So, the guy I'm talking to today, is a little more in that second one. So I want him to tell us a real quick bit about so who are you? Where do you live? Where do you work? And what are a few things that you are known for in your world? Abed Halawi: All right, so you got my name almost right, this time. Matt Stauffer: All most, I'll take it. Abed Halawi: It's Abed Halawi, in our language. In English usually it's Abed Halawi, so the emphasis is on the middle of that- Matt Stauffer: Wait so when you say it, the emphasis is on the last syllable of your last name, Halawi. Not Halawi. Abed Halawi: Yeah. Matt Stauffer: Oh, okay. Abed Halawi: Yeah. Matt Stauffer: All right, I'm getting there. Sorry, go ahead. Abed Halawi: So, I live in Beirut. I was born here and always been here. I currently work here as well at a company called Vinelab. What we do is, focus on the influencer marketing, building a SAS platform to provide influencer marketing to brands. Basically our website says it all, so if you'd like to know more about that, go to vinelab.com and that will tell you everything about that. So I'm here because mainly about the Lucid Architecture which was first introduced in Laracon EU. The Lucid Architecture is about a collection of experiences that we went through, and we thought that certain ways would improve the ways we work together as a team. We thought that, well actually this is something very interesting and could help others solve their problems as well. The same problems that we've had and solved our way. So maybe our way could help others solve theirs as well. That's one thing, and the other thing is Neo Eloquent, which is the package for Eloquent, and Neo4j. Neo4j is the graph database, and we use that library as the core storage library in our products, with which we bridge between Laravel project and graph databases. Matt Stauffer: So, there's a couple things you said there. If anybody was at Laracon EU, you would have seen Abed give his talk, was it two years ago? 2017? Or that was one year ago I guess- Abed Halawi: Yes. Matt Stauffer: ... that and math is hard. But also make sure I put a link to that in the show notes. So you mentioned that and also you mentioned he maintains and created a package called Neo Eloquent which is kind of an Eloquent style wrap around types of Neo4j. If you ever heard anybody talk about graph databases, it's one of those things where, "Oh my gosh, graph databases are the new hotness." But I think a lot of people don't actually have a lot of experience working with them. Real quick, before we get into your back story, I'd love for you to give me a tiny little pitch on each of those. I don't know if you're familiar with the phrase elevator pitch, but it basically means, imagine you have 30 seconds on an elevator ride to convince a potential user, or founder or funder or something like that, of why your thing's great. Can you give me the elevator pitch, the 30 second pitch on Lucid Architecture, why is it different, what does it help you with? And then I want to get the same one for Neo4j and graph databases. Abed Halawi: All right, no pressure. Matt Stauffer: None at all. Abed Halawi: Okay, so Lucid, it's about eliminating legacy projects completely. You would never have to move to a project that you've worked on three years ago, and say where does this go? Where is this piece of code that I'm looking for? Where do I find this happening? How is this feature implemented? What's the structure of the code? All of these are eliminated with the Lucid Architecture, which basically takes over from where MVC leaves off. Matt Stauffer: What's the one biggest difference with how Lucid Architecture organizes its code relative to your normal MVC project? Abed Halawi: It compliments MVC projects. So it's not a replacement MVC, but basically with MVC, and the controller, you almost have everything. This is where things get a little confusing in controllers, I mean, if you have a project A and you have a project B to each by a different separate team, in the controller if you go there you will find things written differently. And this is where Lucid comes in. What Lucid says that each controller method, only has one line, only. This line is to serve a specific feature. A feature, specifically, is a class by itself. And within that feature, you would define the sequence of steps that accomplishes this feature and we call them in Lucid, jobs. So as each step in the feature is a job, and each job does only one things and is responsible for performing one thing only. You can share jobs between different features, but each job can do only one thing. And each feature serves one user story from the controller. That way you can achieve what we always dream about achieving with MVC, which is the thinnest controllers we can ever reach. Matt Stauffer: Is it similar to envocable controllers, or do your controllers have multiple methods but each of those methods only have one line? Abed Halawi: You can say it's close to what a command bus pattern is. So you can think of your controller as the command bus, and your just executing commands. Matt Stauffer: Got it. Abed Halawi: The commands take different forms. It could be a future or could be a job, so the same form repeats itself. Matt Stauffer: Got it. Okay, and if anybody wants to learn more, it's all written up in the, well it's both written up in the Github, which I'll link, but it's also in your Laracon EU talk, which is on YouTube, and I'll link that one as well. But since this is not an architecture podcast at the moment, it's a person podcast, let's move on real quick to talk about Neo Eloquent. So, Neo Eloquent I understand gives an Eloquent style interface to Neo4j. Let's, if you had to give the elevator pitch again, this time, can you give me a quick elevator pitch for graph databases, and what makes them a little bit different from traditional relational databases? Abed Halawi: Sure. So, with the graph databases, the way we store the data, and visualize the data, and manipulate the data is the same way we think about the data. So the first thing we do when we start a new project, or data modeling for a project. What we do is draw circles and connections between these circles, which later on gets translated and transformed into tables and foreign keys et cetera. But with graph databases, the way you draw the first data model with your hand, on a board, is the way it is stored right away. And you can manipulate that. Matt Stauffer: Okay. Abed Halawi: You can also implement traversal and all the graph algorithms that we study about through out our computer science journey. So, you can apply all of these to the data that is stored. Matt Stauffer: And if anybody, like me, does not have a computer science background, when we're talking about graphs, the easiest way to think about that is when people talk about a social graph. They think about everything being based on relationships, on relationships, on relationships. Abed Halawi: Exactly. And a relationship is what we call a first class citizen in the database. Matt Stauffer: Right, where as with relational databases it's a little more second class, essentially- Abed Halawi: Exactly. Matt Stauffer: ... with foreign keys and everything. Okay cool. Well I'd love to talk more about those things, but today ain't the day for that. So, I want to know a little bit about you. So before we go into your backstory, I'd like to know, first of all, when you meet somebody at the supermarket and they ask you what you do, what do you tell them? Abed Halawi: These days I find it very easy to talk about these things, from how it used to be when I first started. Because, today, especially with today's generation, they take technology for granted. Right? They're born and growing up in the world where cloud is the normal. Right? So, if I were to explain this, I would maybe go to an example by saying, okay I'm a robot, and you tell me what to do. I will do everything you tell me. So this is how it first starts. So when they tell me to do this and do that, I would do them. Then I would say, this is exactly what I do with machines. I will give instructions to machines so that they run them when I am not there. So they keep doing that. Matt Stauffer: Okay, so what is your actual role, are you a developer, are you a tech lead? What's your official title? Abed Halawi: My official title is tech lead. Matt Stauffer: Okay. Abed Halawi: But, we're a start up- Matt Stauffer: Okay, a little bit of everything. Abed Halawi: ... this is where things ... yeah exactly. Matt Stauffer: You can call yourself CTO if you want, right? Abed Halawi: Yeah, yeah, exactly. The thing is, with start ups, mostly, we get the opportunity to wear different hats. Which is interesting, so that we can get horizontal and vertical expertise. Matt Stauffer: Yeah. Abed Halawi: So, by horizontal I mean, different technologies, different areas of technologies, say front end, back end, dev ops and everything related to that. And at each area we get to grow vertically where, we improve ourselves and our skills in each of these areas. This is the most interesting about being in a start up. Matt Stauffer: You mentioned having a computer science degree, so I want to hear a little bit later about the path you took from computer science degree up to being a part of a start up. Real quick, were you one of the founders of the start up or did you join in after it started? Abed Halawi: I'm not the founder, but I'm the first employee. Matt Stauffer: All right, so you're employee number one. So, we'll talk little bit later about your journey from graduating with a computer science degree to being employee number one of a start up. But real quick, when did you first get into computers? Abed Halawi: I was very young. Basically around, I was nine years old, maybe ten years old. And our neighbor had a computer, and I used to go there just to watch them play, they did not allow me to play. My brother used to play, he said. But later on I had my own computer at home, but with no internet, so encyclopedia was our way to go to search for information back then. And mostly gaming. So, we were kids, I enjoyed gaming mostly. [crosstalk 00:11:40] Matt Stauffer: What kind of games did you play? Abed Halawi: This was my introduction to ... mostly fight games, first person shooter. Matt Stauffer: Yeah. Abed Halawi: Delta Force and you know these games. Also strategy, like Edge of Vampires, Red Alert, you know the early versions of those. Yeah. But then, later, the reason why I joined or took the computer science path was a bit of a coincidence- Matt Stauffer: Okay. Abed Halawi: ... kind of. Because at first, I was into medicine, so I wanted to be a doctor at first. I went to the university where I started studying that, for a year. But, after half of that year passed, I did not find myself there. I felt that I'm not doing what I'm supposed to be doing. And the thing is, I passed all my exams and passed everything, and I was doing good. Matt Stauffer: Sure. Abed Halawi: But then, later on, I couldn't feel it. It was just that thing you get at a later stage of doing a thing for a while. Then you say I don't feel like doing this my entire life. Matt Stauffer: Yeah. Abed Halawi: Mainly because I was interested in neurology and everything related to the human brain and human mind. It has kind of a minor to psychology, that's a side interest. But at some point, I decided to shift majors, and I was looking at what universities are in the area that are close by. Saw a software engineering class, by mistake, basically because I was looking at the different area of courses. There was software engineering and I was like, what is software engineering. And didn't know what that was. I went in, I saw a lot of things that had to do with computers, and I though, well that would tell me how these games have always worked. What's interesting is that, I'm going to jump a little forward to say that, with computer science, I've found myself finding out about how humans operate, and psychology specifically. More than I think I could have with medicine, because the amount of people who are using technology today can tell you a lot about how it had changed the way we live. It's everywhere. And it has changed almost every industry. So when you're in technology, it's not only about the code that we write, it's not only about having programs that are written just for the machine to work, but it's more about satisfying the human need. This is the essence of these things. One thing that I had recently a small chat about that has to do with how designers can get to know more about technology, and how technology or developers get to know more about design and maybe do it themselves. The way I like to think about it is that, designers don't need to know technology or development, and developers don't really need to know design, and do it themselves. It's the bridge between them lies in a different area. It's philosophy, it's psychology, it's the bridge between those two. So if these two areas can learn more about these, I think this will close a huge gap between these two areas. Matt Stauffer: You're reminding me a lot of my favorite conference talk I've ever given, which was about empathy. And, I made a lot of the similar pitches, from a little bit different angle than you're talking about, but that understanding people and satisfying people is the best way to be a good programmer is not to know the code better than everybody else, it's to know the end user better than everybody else. And to empathize, both with end users and also, the other developers on your team and the designers and everything like that. I love where you're going there. I moved from working at a non profit where my job was about people, and understanding people, and helping people grow, to running a company. There's a lot more similarity than I expected between the two, because I'm still working with people and helping people grown and helping people do a good ... so I couldn't agree with you more about that and I love hearing you say that. Abed Halawi: Exactly Matt Stauffer: So, you're not the first person to say this. One of my most recent interviews, I can't remember exactly who it was, said the same thing of, "You know what, I wanted to figure out how the games work." So that's really fascinating to me, so, you got in, did you find yourself in there saying, "Oh this is amazing. I love this, this is so great." Or, did you get in there and did you have a moment of being kind of dissatisfied where you said, "Oh I thought it was going to be fun and games all the time and all I'm learning is math." What was your actual experience in those computer science classes? Abed Halawi: At first, I didn't know what to expect. I did not know what computer science was all about. So, with that in mind, and I started learning by myself on the side. Besides what I was being taught at the university. I was very interested in the field. I did not expect to learn everything all in the first day, right? So, with that expectation in mind, I started finding out that I'm good at this. It's all about recognizing patterns, right? I really did not care where I'm putting most of my effort, because I know that everything that is being taught and channeled to us as students is to orient us towards having a certain mindset, so that at some point in the future, we know where to use these techniques and methodologies. It was a bit later in my studies, maybe it was the second year of university that I've discovered that university will not teach you everything. Right? Maybe it was a little late for that, but I knew then that this is not a place that will teach you everything. But what they will do, is teach you how to think about problem solving. How to think about the computer science. And how programming works. It's just the basics and fundamentals, you don't really need to learn every computer language, and every technology out there from university. They just put you on the path and it's all up to you, in terms of where to go and how to take this further. Matt Stauffer: Yeah that's good. So, you did that. Were you having to choose to specialize in a particular type of programming and everything like that, or did you just you got a degree in software engineer or computer science and then you were out in the workplace and had to find something? What was the next big decision you had to make, after you'd made the decision to go into computer science? Abed Halawi: It was the second year also, where I joined the company where I used to work, as a support agent. You know, the regular things, tickets, answering tickets, forums and answering the phone and helping people get their job done on the platform. And at some point in there, as I was studying and working a full time job, the technical department had a certain problem they were trying to solve. I was overhearing, I wasn't very involved in their works, but as I was overhearing and it was in the kitchen where I spent most of my time- Matt Stauffer: Nice. Abed Halawi: ... I overheard this problem they were having that had to do with data storage and transferring data from a place to another. I don't really remember the details of that problem, but I remember, throwing out a word that helped them solve it. And then they were interested. So I was working on this Java project for the university and the head of the developers came into the room and saw me coding at work, which I was not supposed to do. So he asked me, "Why are you coding? This is not your job here." And I said, "Well, I enjoy this. I like to do this when I don't have anything else to do." It was then, when he asked for me to join the development team and start learning web development. It was kind of passive, the way I started learning about web development and the web technologies. But at the same time, I was enjoying doing it. Matt Stauffer: Yeah. Abed Halawi: I enjoyed programming on my free time. And after moving there, the kind of choice I had to make was which area to fill? Because they had an area that had to do with software programming, installed software programming. And they had a web application programming, which was a portal that involved all the areas of the company. So this was the administration interface of everything that everyone does in the company. It was going through a revamp. And I had the chance to join the team who was doing this revamp, and I did not know anything about web development. So I started learning there. Right? It was very tough. That's the least I can say, because back then, I don't remember, there wasn't much courses online to learn from. It was mostly either books or CDs that I'm not proud to say this, but we had to get the cracked version, or the pirated versions of those, so that we can learn. This was basically my transition from being a support agent to starting to work in development. From there on, it was a regular journey where I continued exploring this realm of technologies. So sort of a front end development, doing a little bit of JavaScript here and there. It was, JQuery was booming, at the time. So I started learning that. I was very interested in animations, on ... so it was some kind of an interest between design and implementation of things. I like to see things move on an interface. Matt Stauffer: Yeah. Abed Halawi: With JQuery, I had the chance to do it with very easy instructions. That was the catch for me to say, "Well, I'm glad I chose this major. I'm glad that I'm here today. That's definitely how I'd like to spend my time." Matt Stauffer: Nice. That's very cool. So you were still in school when you were doing all this stuff? Wow. Abed Halawi: Yes. Basically I- Matt Stauffer: Did you sleep? Abed Halawi: ... graduated ... I don't remember doing that no. Matt Stauffer: Sorry what were you saying about graduating? Abed Halawi: Yeah, so basically computer science to study it here, it takes three years, maybe four, with the regular courses. But it too me five plus, because I was working full time so I started understanding that work will teach me much more about practicality than the university will. But still, I was very interested in topics that were given at the university that had to do mostly with organizing work, anything that's related to diagrams, planning, software engineering, and how to organize the work. There was many non tech courses that I was interested in as well, that has to do with management too. So I was learning a bit of both types of programming. It was high level where I learned the web stuff, and it was low level, where I learned the theories and everything that had to do with how a computer works, behind the curtains. It was very interesting. And then I graduated after five years, with three years experience, full time. Which was at the time was, I was very happy to have done that. It was one of the best choices I've ever made. Matt Stauffer: Okay. And so, what was the road from there to being employee number one at your current start up? Was there a lot of different jobs in between there? Abed Halawi: No not much, actually. There was one failed start up that I founded in the university. They had this program where they opened what they called the innovation center. It was a room for people who would like to build their ideas in there. They bring some students together. And if one of these ideas make it, through certain specified competition that they do across universities here, you have to make it for at least the first three positions. If you did they would invest, not money, but they would invest in helping you push this further. Matt Stauffer: Cool. Abed Halawi: Which is what you need at the time, right? As a student that's all you need, a place to apply the work, and an idea to put all the code in place. And that's the first thing after the first job. Then there was a job for a year where I also did a lot of web programming. I learned a lot of Linux there, because I was handling also system administration. Matt Stauffer: Okay. Abed Halawi: And then, after that, I was here where I am today. It was interesting because when you're joining a start up, there's merely any guarantee that this is going to work. Matt Stauffer: Right. Abed Halawi: There's merely an idea based on a certain gap in the market. And I can easily say that this has been almost six years. It will be six years in October. And I can easily say that we've pivoted a lot through out these six years, and it's been the best six years I've ever had. From personal and technical, it wasn't only technical, because when I first started there I was the only developer, and most of my time I was just coding. But then things started to grow. And as a company it started to scale. At the beginning we were doing services, so with services you get exposed to a variety of types of projects. There were mobile projects, there were web projects, and there were things in between as well. So this variety created a lot of needs for the team to grow. As the team grew, my role expanded as well. So I had to occupy a larger gap in the team, and cover not only technical and coding, but it was mostly organization and management to take over. This was a real, I don't know what's the biggest word than challenge. I would say more than a challenge. Because, as a developer all you like to be doing and spending your time doing is coding. But then, if you code and not know where this code is going, at some point these things get lost. So we need to organize things. And what's interesting is this led to creating the Lucid Architecture, because as much as there was chaos in the development process that we were implementing at the time, we had this huge need to organize things, not only from personal and communicational perspective, but also in the code itself. We had so many projects running at the same time and every time we switched between the project and another, it felt like going from one country to another. It felt like you were looking at something that's red and then you're looking at something that's yellow, and then that's white and then that's black. It's a huge difference between those. So, this was the inception of Lucid, where it tries and makes sure that all these projects are normalized. Matt Stauffer: So you felt some kind of chaos, you're switching contexts a lot, and the contexts were different enough that it felt too chaotic and you had to relearn each one. So you created something that applies more of a standardization across projects than what MVC provides. You said, "Now when I entered a new project, and obviously it's much more complicated than this but, I know that every single web request will be serviced by a single feature or job, basically." And you were trying to make it such that on every project it uses the same architecture. Abed Halawi: Exactly. Matt Stauffer: Have you had the opportunity to use it on a pretty significant diversity of projects, or is it still something pretty new for you? Abed Halawi: We're currently using it, so we are implementing microservices, and with microservices, each service we have is a Laravel installation of the Lucid Architecture itself. We currently have around 48 services running at the same time, so you can easily say that we've implemented Lucid in 48 projects. Matt Stauffer: Right. Abed Halawi: So far and they're in production- Matt Stauffer: Are those 48 all serving the same primary product, which is the influencer related stuff, or is it a whole bunch of different products that are all offered to influencers? Abed Halawi: These 48 services are in the same product. Matt Stauffer: Okay. Abed Halawi: It's the SAS platform that we're building. On the side we have some side projects that we use internally, that they're also based on Lucid. I would count two or three are currently running, and they are all in production in life. Matt Stauffer: I am going to ask- Abed Halawi: So we're pretty confident- Matt Stauffer: No, no, you're good. It's a little bit of lag. I'm going to ask you a few questions about Lucid. I can tell you're confident, I can see it in your face and hear it in what you're saying. So, since every single controller method, all it does is it just serves one of these features. A feature is then meant to specifically parse the request, which I assume it gets out of the application container, and also return results. Is it safe to say that a feature, or maybe a job, let's say a feature for now, is the same as a controller method in terms of its scope, in that it takes an HTTP request, and returns and HTTP response? Abed Halawi: It is exactly that. Matt Stauffer: Okay, so, it's obviously more complicated, but the simplest way to think about it is, when you're thinking about those 200 line long controller methods, pull that thing out and make it a class. That's the first step. Abed Halawi: One class. Matt Stauffer: Yeah, so it's very interesting because I gave a talk at Laracon US that talked about, among other things, quite a few code patterns for how to simplify your 200 line long controller methods. I didn't talk about Lucid, but I talked about things you can extract, so that those things in there are pulled out into individual classes. What I kind of recommended more at that point was, well here's a way to simplify the response part, using a custom HTTP response, or something like that. Here's a way to simplify the input part, by using custom HTTP requests, or something like that. Here's a way to customize the database queries, using repositories or whatever else. So I'm super interested to take a look at this and try it out. Are there any open source projects that are using Lucid? Abed Halawi: I'm not aware of any. An open source project as in a full Lucid project that is currently operating and is online with it? Matt Stauffer: Yeah, like if somebody wanted to go see what it looked like, to use an actual functioning application using Lucid? Abed Halawi: There's definitely an example that is on the Github repo. There is work being put into having video tutorials that can teach Lucid in depth. But having a Lucid project online as an open source means, basically that you're exposing the whole project, so that's interesting thought. I'd definitely like to go in something like that. Matt Stauffer: At Titan, we have a whole bunch of ideas that would never make any money. But we just like to provide them as a service, and so we open source their code. So if you one say, "You know what I'd really like? I'd like a website that does X, Y, and Z for me." And you know only 500 people would use it. And those 500 people would never pay any money for it. Or, maybe they'd pay $10 a month for it, but it's not actually worth trying to do all the marketing. Maybe that might be an opportunity for you guys to actually have a real functioning website, that has real users, that has to service real user requests and everything is completely transparent. Because I think that's one of the most interesting ways to have these conversations, and to expose our internal ideas to the world around us. And really let them up to the light of criticism outside of our own organization. We have some ideas at Titan that sound good, until they get exposed to the outside air. And I'm not saying that's going to happen with Lucid, but that is something that has been super valuable for us. Abed Halawi: I would love if that would happen, actually. That's a lovely idea. I'll definitely invest into that. Matt Stauffer: Cool. Well if I ever have an idea I'll throw one your way. But I would say that would be a good selling point for you guys in Lucid to be able to have something like that, that people can really see. This isn't the Lucid interview, as much as I'm interested in these things, so tell me a little bit about your time working with start up. You said when you got started there, you did client services, what I assume by that is you were a consultancy, people hired you to build products for them. So I have a couple questions. The first question I want to ask is, what changes happened to your text stack over the years? When did you come across Laravel? And what aspects of Laravel made you most interested in using Laravel when you decided to use it? Abed Halawi: I first started using Laravel when it was Laravel Three, version three- Matt Stauffer: That's been a while man. Abed Halawi: Yeah, that's a long while. What's interesting is that the project that we built back then was shot down a few months ago, so it was still running until today. That's what makes it, yeah, makes it very interesting. The thing that got me about Laravel was, I can easily say it's the documentation at the beginning. When you read the documentation, you literally understand how much potential this framework has, and how much you can open up and build on top of that. It's easy to start with. We started this project, it took us two, three months and we were up with an administration interface for multiple websites that we had for different clients. That was when we first started Laravel. The text stack back then we Laravel, MySQL database with regular Apache web server, and later on we had this project where it was a publishing platform. This was the first pivot in the business model, so we stopped doing services and then we shifted into building our publishing platform. And with that, there was also ideas about user generated content, and actions that users can take on content published by celebrities. From our services that we've done, we've built a lot of the user network of celebrities that are A class in our region. And from there, we thought, let's build a platform and join them all together where they can have official news and posts that can also integrate with social media, and have people join that platform as well. This is where the first search for a database that can really mimic what the social network would be in data. That was where we discovered Neo4j. This is where we started building the outcome, so that we can build that platform, and we did, for a while and then we figured, that's not really the gap in the business. We were just doing that because we thought it was the point of entry into the entertainment business. But then we also pivoted that into a SaaS, a platform where we can gather data from social media, because if it was for marketing it was booming these days. Especially in the region, it came a little late than we predicted. So we knew this was coming very soon. We thought why not build a platform that can bridge all of this. This was the second shift. This was also the shift from a monolith, a single application, single code base, into microservices, which was a completely different set of challenges that we were facing. Things that we took for granted, like networks, and connections, and discovery services knowing about each other, and communicating between applications. This was taken for granted in a monolith because you don't really have these problems. But once we shifted to microservices, a huge new set of challenges just popped up. We never thought we would have these. And we had a lot of trouble getting around with these tools because we were not experienced in that area. So we had to learn a lot before we could do it, as we do it today. I wouldn't say it's the right way- Matt Stauffer: Sure, sure. Abed Halawi: ... it's just we're doing it and it's working right? Matt Stauffer: Yeah. I hear that. We're getting close to time and I want to make sure that I've asked all the questions I had. Oh, tell me a little bit about Lebanon, and tell me a little bit about Lebanon as a developers, and tell me about Lebanon as a Laravel developer. Abed Halawi: All right, so Lebanon in general, is this small country that you can barely see on the map, let alone Beirut, if you were able to spot that on the map. So it's a very small country, but it's faced a lot of political stuff happening, going around, wars and internal civil wars and then people not liking each other politically et cetera. So this is all going on, even though all of this is happening, the tech community managed to ... well the start up and entrepreneurship communities managed to rise from all of this that was happening. There are certain areas in Beirut where they are dedicated to provide as much as they can, have the humanities to run any idea you have, you can rent, just like any accelerator, or an incubator program. There's plenty of these here today where we can rent a small desk and do whatever you have to do from there. Internet connection was a huge problem, it's becoming much better now a days. If this was to happen a couple of years ago, we maybe couldn't have done this at all. Due to the internet connection, but now a days it's become much different. As a developer, there's plenty of talent in here. We enjoy sharing the knowledge, sharing everything we can get from abroad and from here, from each other. The only problem is that there isn't much people in here. So, it's a double edged sword, right? Everyone knows everybody, but it's the same people that they always see at the events. You don't really get to ... you know this networking time, that you get in conferences, you don't really get to network. We know each other. We try to go abroad for these, more than doing it locally. But at the same time, when we were first starting, there was no community. We did not feel that there's this connection, this circle of people that are trying to build something together. Build a hub of knowledge, hub of experience that they can share among each other. But now, what we're trying to do is tighten the, or strengthen the connections between these people so we can build the more full circle that can incubate everyone in the community as much as possible. And show whoever is starting to get into the technology or development that there is a place for them here. We don't really need to go and work abroad, we can do it from here. We're trying our best to do that. As a Laravel developer, there's plenty of people who are using Laravel nowadays. Matt Stauffer: Okay. Abed Halawi: We gather, we talk a lot about what we do, differently in Laravel, and we talk a lot about how eloquent it is ... exactly. And the way that we can write code and we exchange a lot. We try to provide a lot of open source to each other, open source libraries, and tell each other, well I've written this small script, why don't you use it? Because we know each other, we know what we're working on, right? If we find a common interest, one of us would contribute that and provide it to the rest. So it's a very small community I would say, but it's very interesting because it's still sustaining. For almost six years now, it is sustaining and is growing. Matt Stauffer: That's really cool. Abed Halawi: So I find it, yeah, I find it really cool here to have, I mean for anyone who knows Lebanon and knows how many people there is here. To find this, that's amazing. That's all you need. You don't really need to have much more than this. The only issue in here, is scale. We cannot apply what we work on at scale. Matt Stauffer: Got it. Abed Halawi: And we cannot scale what we work on unless it's provided internationally. And to go international from here, it is really tough, unless it's a branch of an international company that is working here, but provides the business from abroad. It is really not much room for you to scale, compared to other places. That's the only drawback. Matt Stauffer: I did not realize how small it is, because Beirut has a similar population to the very small feeling town that I live in. And I used to live in Chicago, which has, I think it's two and a half million people. And Lebanon entirely has six million people. So I now understand what you're talking about, scale wise. Abed Halawi: Exactly. Matt Stauffer: How far of a drive ... I assume Beirut is kind of like the technical center. Are people coming into Beirut for a lot of meet ups and stuff like that? Is that even that far of a drive? Abed Halawi: It's not far. I mean, it's relatively far, because of the traffic, it is way too far man. But if you were to just measure the numbers you would say, well that's, to you, that's not even a drive. It's just a walk. Matt Stauffer: What's the furthest somebody comes into Beirut for a meet up or a conference who lives in Lebanon? Abed Halawi: No, they do. They do, they do come from- Matt Stauffer: Furthest drive, is it an hour, is it 30 minutes is it 5 hours? What's it look like? Abed Halawi: Five hours? You would be in a different country. Matt Stauffer: That's what I thought. Abed Halawi: But- Matt Stauffer: It's a couple hours max. Abed Halawi: ... it's a couple of hours drive. Matt Stauffer: Okay. Abed Halawi: Well, what's interesting is that we have this, an institution, a small institution called SE Factory. SE standing for Software Engineering Factory, which where they teach Laravel to graduating students. Matt Stauffer: Really? That's really cool. Abed Halawi: Yeah. It is. The more interesting thing about this is that people come to Beirut to study this, on a daily basis from 9:00 in the morning until 7:00 at night, and going over two hours drive from their country towns. Matt Stauffer: Wow. Abed Halawi: Yeah, it's a long drive and you have no idea how draining to energy it is to go through all this traffic on a daily basis, to be able to learn this. Matt Stauffer: That's the first group I've ever heard of that is teaching Laravel as a part of a code school. I'll ask you for the link later and I'll put it in the show notes for everybody. SE Factory. That's really fascinating. Okay. Abed Halawi: It is. Matt Stauffer: I've one last question for you, and that is, what is the best book that you have ever read. It doesn't have to be about programming, just a book across the board. Abed Halawi: Oh yeah, that's a very interesting question because my favorite book is the one that was given to me by the Laravel community when I went to speak at Laracon, we had a dinner, before that. They gave us all books, and it was Godel Escher Bach, which is the book that bridges so many topics. It's between art, and science, mainly and music of course. This is a book that really manifests how I like to think about technology nowadays. Again, it's not about just coding. It's more than that. It's about understanding, well there's a lot of creativity in there to be put. There's a lot of potential and opportunity for someone to expend and to put their all into this and make something out of it. It's endless. The way that these areas were immersed together in this book is fascinating. You just get to see that philosophy, music, and science, they're all in the same place. And how they bridge and share the same fundamentals in terms of creativity, it was very interesting. Matt Stauffer: I'm reading through the preview on Amazon right now, and it's definitely triggering some ... I studied English Literature in school, there's a lot of philosophy in there, but I was as a technologist while I was there. It's definitely, just reading through some of the basic intro stuff here I'm going okay, this is both scary and exciting in seeing those things. But this is super intellectual though. Abed Halawi: It is. Matt Stauffer: At least it looks like it is, okay yeah. Abed Halawi: Yeah and you would feel, after you read this book you would feel like wow, that's a lot that's happening. I'm in a field that's much bigger than I thought it was. It's not the infinite statements that I've written. It's much more than that. That's what makes it more interesting. Matt Stauffer: This is fascinating. Okay, well I'm putting a link to the book in the show notes. It's Godel Escher Bach The Golden Braid, or A Golden Braid or something like that. Abed Halawi: Yes. Matt Stauffer: An Internal Golden Braid. Abed Halawi: An Internal Golden Braid. Matt Stauffer: I will link that in the show notes. Well thank you, I'm really happy. I'm very pleasantly surprised that it was not a programming book, and that was very good. Well we're past time, so I have to cut, which I hate doing, but I have to do. So if people want to follow you or if there's any other last thing you want to shout out or something like that, how do you want people to kind of, what's their one take away? Should they follow you on Twitter? Should they go try out some product? What do you want them to do? Abed Halawi: Sure, so on Twitter, that's one. On Github, that's two and it's the same identity all over the place. It's Mulkave, that's the username that I use everywhere. So if you look up Mulkave on Google, you'll get all my contact mediums and everywhere. There's also the tech blog of Vinelab, where you can find the introduction to also Lucid and stuff we do at work here. Which could be interesting also to look at. Matt Stauffer: Okay. And I'll link all those in the show notes. I do have to ask, what is Mulkave? Abed Halawi: Oh, well, I told you I was into gaming when I was young and there was this game, about vampires. Matt Stauffer: Okay. Abed Halawi: And there was this clan of vampires that are intellectual they're called the Malkavian. I found the introduction of this clan, and the people in this clan, to be very much matching my personality and character, so I thought well, I'll just choose that. One day I had to choose a user name, and so I was like Mulkave, whatever [crosstalk 00:51:18]- Matt Stauffer: The best user names are ones where you know that forever you're going to be able to get it on any social network no matter what. So I like it. Abed Halawi: Exactly. Matt Stauffer: Awesome. Well, I really appreciate you taking your time to talk to me. Abed Halawi: Thank you very much. Matt Stauffer: People who don't know, we have never met before, and I asked around, I said hey I want to meet people in different communities, so Abed was recommended to me and we had a chat a couple weeks ago. I said yeah, this is definitely someone I want to talk to, and it was a total pleasure. I really appreciate it and thanks for your time man. Abed Halawi: Thank you very much for having me on this podcast, I really appreciate your time as well. Thank you. Matt Stauffer: (music)

Interview: Freek Van der Herten, Lead Developer at Spatie

July 22, 2018 00:56:49 54.57 MB Downloads: 0

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.

Interview: Nuno Maduro, creator of Collision and Laravel Zero

July 06, 2018 00:35:06 33.73 MB Downloads: 0

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.

Interview: Adam Wathan, co-creator of Tailwind CSS and Laravel educator

June 07, 2018 01:10:37 67.82 MB Downloads: 0

An interview with Adam Wathan, co-creator of the Tailwind CSS library and author and video producer. Adamwathan.me Test-Driven Laravel Refactoring to Collections Advanced Vue Component Design Tailwind CSS Alberta Oil Sands Reaper Conestoga College Vehikl Desire2Learn Tighten Nitpick CI Adam Wathan's $100k product launch Full-Stack Radio Mark Rippetoe - Starting Strength 5/3/1 Video of Adam lifting tons of weight 5/3/1 calculator Matt's WeightXReps Training Journal Agile Principles, Patterns, and Practices in C# Adam on Twitter Refactoring UI Editing sponsored by Larajobs Transcription sponsored by Tighten Matt Stauffer: Welcome back to the Laravel podcast, season three. Today we're talking to Adam Wathan; author, video maker, teacher of the things, power lifter. Stay tuned. Matt Stauffer: All right, welcome back to the Laravel podcast, season three. This is the version of the Laravel podcast where we get to know less about tech and more about the people behind the tech, and today my guest is none other than Adam Wathan who has taught us all about testing, collections, view, components and many other things. One of things I love about Adam is that he's never satisfied with what's happening around him and he's always taking in stuff from other places, and we'll talk about this more probably later in the podcast, but when I describe Adam to other people, I say he's the guy who basically finds what's good everywhere else and brings it to us in the Laravel world. So if you haven't heard of Adam, my mind is blown. You should go consume everything he's ever made; it's all gold. I will say to some of y'all that his name is pronounced Wa-than, right? That's right? Adam Wathan: Yeah, you got it. Matt Stauffer: Wa-than. Not Way-thin, not Way-than. I'm trying to think about other things I've heard, but Adam Wathan. So Adam, say hi to the people, and the first question I always ask everybody is when you meet somebody in the grocery store how do you introduce yourself? How do you tell them what you do? Adam Wathan: Cool. Yeah, so thanks for having me on. I'm Adam. I usually explain ... It depends on what people ask, because some people ask like what do you do? I say I'm a software developer, although I don't actually get paid to write code, I get paid to teach people about code. So I either describe myself as a software developer who creates courses and e-books and training products for other software developers who are looking to kind of level up. So that's kind of the shortest version that I try and give to people that usually is enough that they kind of either are interested in it and ask me more questions or aren't interested and don't want to hear anymore. Matt Stauffer: Yeah, so I'm already going to cheat a little because I want to ask one little thing about your motivation that I've been curious about for a while and hopefully they'll still come out when we talk about your background but, you know, you're really smart guy, you learn a lot of stuff, but you're also a teacher and you also have like marketing kind of like sensibility, and you just gave an elevator pitch that would make someone who doesn't even understand programming want to go sign up for your product and I don't think that that's really common for a lot of us to know how to talk about it that well, so ... And if this is going to come out later that's cool, but do you have a sense for where your ability to kind of understand how to market something and how to ... And you talk a lot about how to do it in a non-skeezy way, but where did that come from? Is that something you had to work on, or do you feel like you've got some experience that's kind of taught you that? Adam Wathan: That's a good question and I don't think I have a great answer for it. I think I've always just really liked creating things that I was proud of and putting them out into the world with enthusiasm and I think that's been kind of like the simplest version of how I have always tried to share what I've been working on and then I think with the marketing stuff too, I guess I just care just as much about the quality of that as I do about everything I do. I just really like to make everything I do as good as I possibly can and that comes down to even things like, you know, landing pages and how things look on stuff like that. To me, the marketing is a product too and I want it to be good and I want to be proud of it, so it's just something that I just put a lot of effort into I guess the same way I would with something else. Matt Stauffer: Yeah, I mean, I tell this story to people all the time, but when you first joined Tighten, one of the things we were talking about was working on some open source projects together, and we immediately found a conflict in our ways of working where I was like, so what I do with this thing Symposium is I figure out a feature and I spit out the feature as fast as possible and then I move on to the next feature, and you're like what I do is I try to figure out exactly the best way to do this feature and I ponder on it and I make plans and I make diagrams and I get it exactly right so people will really get their needs met and then and only then do I actually build out a feature. Matt Stauffer: And we kind of had this like little head butt moment, and I think that I've kind of ... I would say I've shifted to your way of thinking, but I've been influenced by it a lot. Do you have a sense for where your kind of desire for excellence ... I think you were just talking about like where that comes from, is that just a personality trait? Is that something from your family, and what's that ... Where does that come from? Adam Wathan: I think it's just a personality trait. I've been like that with basically everything that I've ever been interested in my entire life. Like I would sit and play guitar and play the exact same seven notes for four hours straight until I played them perfectly, you know what I mean? So I think I just get a little bit obsessive over the sorts of things that I get interested in. Matt Stauffer: Yeah, I just want to get really good at it. All right, well, I'm sure we'll dip into the stuff a little bit more, but I do want to make sure that I actually have the space for your back story. So the second question I always ask everybody is, where was it that you ... Or what was the context in which you first had interactions with a computer? How old were you and kind of what was your interaction like at that point? Adam Wathan: Yeah, so I have sort of conflicting memories for a lot of some of the stuff. Not necessarily conflicting, but sometimes I have a hard time figuring out like what the timeline was, but some of my earliest memories of working with computers, probably the earliest one that I can think of. is when I was in grade ... It must have been probably grade two, maybe grade three, but I had this librarian at my school who worked with like some of the gifted kids to do little projects and stuff and me and him were working on the super old Mac that we had at the ... It was new at the time I'm sure, right, but like my memory of it's like the old school Mac where everything's black and white and stuff like that. Using hypercard to make this little project we went around and it was actually pretty cool. Adam Wathan: We got to like drive around the neighborhood and I got to like ask questions like different business owners about things and we put together this like little presentation in hypercard, and that's probably like my earliest memory of working with a computer and we got a computer in my family when I was pretty young too, probably grade four or grade five. It was just like kind of your standard ... It was like an Acer or Compaq PC or something with four megs of RAM and, you know, I can't even think, a 500 megabyte hard drive, and we got- Matt Stauffer: Yeah, a 486 or something like that. Adam Wathan: Like our internet a couple years later. Yeah, it was a 486 and I used to dick around on that, you know, looking up game tutorials for my Sega Genesis at GameFacts.com and stuff like that and- Matt Stauffer: What's the best game on the Genesis? What's your favorite, do you remember? Adam Wathan: Favorite Genesis game. I used to play the hockey games a lot. That was probably what I got- Matt Stauffer: You're so Canadian. Adam Wathan: The most fun out of. The funny thing is like I'm not super into hockey, but those were just the most fun like multiplayer games that you could play. That and like Mortal Combat and Street Fighter. Matt Stauffer: Yeah, of course. Adam Wathan: And all the classics. I didn't do much of the single player stuff, just mostly hanging out with friends and playing. Matt Stauffer: No Sonic and Knuckles and things like that? Adam Wathan: I did play Sonic, but I wouldn't say like I have, you know, nostalgic memories about how much I loved that game or whatever. It was a fun game but, yeah. Matt Stauffer: Yeah, I feel like not a lot of people have the same level of memories of Sonic as they did at Mario. I just never quite connected in the same way. Adam Wathan: No, Mario definitely has a more special place in people's hearts, I think. Matt Stauffer: Yeah, you actually got into this a little bit, but my next question is going to be kind of what was your first exposure to the internet? So was that primarily it at least at the start? Adam Wathan: I'm not sure if it would have been at school or at home, but yeah, it would have been most of the time that I spent on the internet would have been at my home desktop computer on our 14.4 connections we used to use. Matt Stauffer: Yeah. So when you were in middle school and high school, what do you think you wanted to do with your life? Did you know? Adam Wathan: I had some conflicting thoughts, so at one point when I was a kid I wanted to be a cartoonist, that was my dream actually. Matt Stauffer: I had no idea. Adam Wathan: I used to draw all the time and I used to like ... You know how you'd have like the book fairs at school, I don't know if you had those in the States. Matt Stauffer: Yeah yeah, Scholastic. We had them here. Adam Wathan: The Scholastic Book Fairs. Matt Stauffer: Yeah. Adam Wathan: I'd always be ordering like the how to draw this or the how to draw that books and I never got really good at it, but it was fun and then eventually I got into like playing guitar and stuff like that and I wanted to be like an audio engineer, but I also wanted to be a programmer and I really liked my programming classes in high school, so I ended up going to university for computer science, but I also considered going to college for music industry arts, which is a program that actually Steve Schoger, who some people might know actually did go to at the college that I used to go to. Matt Stauffer: Oh, he did? Adam Wathan: But I decided against it because it just didn't seem like a profitable career path, so I eventually chose computer science. Matt Stauffer: So you had programming classes in high school. Was this Java or C++ or what kind of stuff were you guys doing there? Adam Wathan: Let me think. So I think we ... I don't think we had computer programming classes 'till like grade 10 and we did a lot of like Pascal and we did C, and we did Java and then we have a web one which was later, which was kind of weird because the Java stuff was ... Even the Java stuff isn't ... When I think back to the fact that we did Java in high school, I don't remember doing any of the stuff that I know about Java now. Like I didn't know what object oriented programming was when I came out of high school, even though Java is an object oriented language. We just would write procedural code in like our main- Matt Stauffer: Good job, yeah. Adam Wathan: Java file or whatever, right? Matt Stauffer: Yeah. Adam Wathan: And stuff like that, but yeah. Matt Stauffer: What made you choose those classes? Adam Wathan: I think I just thought it was really fun to be able to make the computer do stuff. Matt Stauffer: Yeah. Adam Wathan: So I remember like one of my earliest memories of programming actually is when I was a kid I was like super obsessed with pro wrestling, that was like my thing. And I used to download all these like wrestling simulators so you could like ... It's so funny because they weren't ... they're not like games, right? They're like you create characters, you choose their move sets, you give them the statistics and stuff and then you like run simulations and it would spit out like texts, like this guy punched this guy, then this guy powerbombs this guy- Matt Stauffer: Right, and you're not actually controlling what they did, right? Adam Wathan: No, no, no. It's just a computer simulation based on random events- Matt Stauffer: That's fascinating. Adam Wathan: As well as like, you know, the statistics and attributes of the different wrestlers. There's a couple different programs that you could use to do that and I was always looking for different ones to test them out, and then one day I stumbled upon a tutorial online that was like make your own wrestling simulator in QBasic. Matt Stauffer: Oh, nice. QBasic, yes. Adam Wathan: And I was like, okay. And that was my first exposure to QBasic. I followed the tutorial and got everything set up and I didn't know how to like do random stuff or anything like that, so I never got very far with it. It was all just very like ... It was not like conditional logic or anything, you would just do this, this, this. Matt Stauffer: It just takes input- Adam Wathan: I couldn't figure out how to make it do exactly what the other things are doing, but I could make the computer do stuff, and that kind of got me interested in the whole QBasic programming stuff and then I just started looking into more like QBasic tutorials and finding out stuff that you could do, and I remember getting really into ... I don't think I'll ever remember the actual name of it. I found a site that I think might have been it, which is Pete's QBasic tutorials, which I don't know if that was the site for sure, but some of the content looked really familiar, but it had lots of tutorials on like making like tile scrolling RPG engines in QBasic and stuff and- Matt Stauffer: What? Adam Wathan: Where you could create like little sprite characters and you'd make these like 20 pixel by 20 pixel squares and lay them all out and make it scroll as you use the keyboard and stuff like that. So one summer I had this dream of making an RPG, which of course never even remotely happened, but I had a lot of fun just hacking around on the computer getting it to render this stuff and do stuff like that. So I think that's where I really got excited about programming because I don't know if I have a specific passion for programming more than anything else, but it was just like a really perfect kind of platform for just doing creative things, you know what I mean, and making stuff. It's the most like powerful tool for just like making interesting things that I know of so far, right? Matt Stauffer: Yeah. Adam Wathan: So I think that's what kind of got me into that. So I did a bunch of QBasic stuff messing around with that and eventually I started making my own little websites on Geocities an Angelfire and stuff like that and yeah, I've kind of been doing that ever since, so. Matt Stauffer: Yeah, I was thinking about how creation was definitely a trend for you. I mean between music creation, you know, as a guitarist and music production, you know, and the art and everything like this is it's wanting to make things happen and figure out what the tools are, so it's interesting hearing you say, you know, it's the most powerful tool that you can use for that. Adam Wathan: Yeah. Matt Stauffer: Do you ever draw still? Adam Wathan: No, not at all. Matt Stauffer: Do you have any of your old drawings anywhere? Adam Wathan: I might. My parents just sold their house and gave me a big box of like crap lying around that was mine. Matt Stauffer: You got to find something, man. Adam Wathan: I think there's a couple sketchbooks in there so I should maybe- Matt Stauffer: That would be amazing. Adam Wathan: Dig through those. Matt Stauffer: Please. Okay, so you went off to school for computer science and did you have a sense ... Did you have any shifts during school with what kind of aspect of CS that you were interested in or if ... And yes or no, what did you think you were going to do afterwards? Adam Wathan: Yeah, so I actually only went to the university for a single semester, so I did the first semester a bunch of the classes I did find fun like the ones that were direct programming, so we had like a C class where we'd basically get these weekly kind of projects that we have to work on where just have to go through a bunch of problems to get the computer to do that stuff, and that was the stuff that I was really interested in and really excited about, but then we also had classes that weren't as interesting, like digital fundamentals and stuff related to more like computer engineering sides of stuff which is interesting, but it didn't get me excited and want to work on it. Adam Wathan: That stuff was like a chore, and at the time I was also playing in a band and we ... That was all I wanted to do. Like we were playing shows and recording demos and stuff like that, so the computer stuff was not really a big focus for me at the time and I was commuting to school which was about a 45 minute drive away and living at home, so I didn't really get like embedded into the sort of university community that was there. Adam Wathan: So I didn't really like make any friends or meet anyone, I was only there for classes and that was it. So it was really hard for me to sort of, you know, become a university student. That was like this thing on the side I felt like for rest of my life, where my friends were and my hobbies were and stuff like that, so I only stuck with that for a single semester and then dropped out to just basically work full time while I reconsidered what I wanted to do, because it just ... I just wasn't enjoying university and I don't think it was the programming that I wasn't enjoying, it was just the educational side of it and having to get pulled away from the things that I was actually excited about to work on that. So I don't remember what the original question was, but that's kind of that story. Matt Stauffer: Well, no, and that's actually perfect and before I move on from that, I want to ask one question which is, was the distinction between doing versus learning abstract theory, was it about how concrete something was that was the difference between what you did and didn't like, or did I kind of miss that a little bit? Adam Wathan: No, I think that's true. I think the other thing is there's just a lot of classes that you have to take in university that aren't as ... they're not all really like cohesive, you know what I mean? I don't know what the system is like in the U.S., but in Canada we have university and college, which I think is kind of like college and community college in the U.S. Matt Stauffer: I think so, yeah. Adam Wathan: But the way that you pick your classes and stuff a lot of it is you have to go into the school and you have to go and sign up for different classes and you have different requirements, and you have to get credits and different things, but a lot of it is kind of up to you and they don't really put together like a cohesive curriculum. So I had to have X Math credits, X Elective credits, so I took like this history of music class, which is the only class I've ever failed in school in my entire life. Matt Stauffer: Oh, my God. Adam Wathan: And you would think that I ... Just because it's so damn boring, right? Matt Stauffer: Yeah. Adam Wathan: And I just like couldn't get into it at all. But everything was just kind of disconnected. There was like some math over here, some physics over here, and because at the early stages of things it's kind of like when you're in like first year of high school or something, they're just trying to teach you all these fundamental concepts- Matt Stauffer: Basics, yeah. Adam Wathan: Without kind of tying them back to the goal they you're trying to get into and I ended up going back to college years later which we can talk about maybe a little bit later, where the curriculum was much more cohesive and everything is sort of designed to teach you to be a programmer, and I really liked that experience. So yeah, I think it is just the fact that there was only one class that I actually liked, which was the programming class and everything else just felt like high school all over again, you know. Matt Stauffer: Yeah, yeah. No, I totally hear that. I mean there's a lot of conversations happening these days and I'll wait to go into them until we talk more about your later school experience, but around trade school versus university, versus whatever else and what are the pros and cons of each and I think a lot of it ... You know, one of the things I've come down to recently is that I've always been a pro university person with lots of caveats, and one of them is just like the school you're at really makes a big difference, and the classes you take and the professors you have. You know, there's a lot of factors that can give you a very, very, very, varied experience, even in the same type of program in the same type of school. So where did you go from there? You said you kind of were reconsidering your working full time, you were recording with your band and were you doing any touring at that point, too? Adam Wathan: No, we never got successful enough to do anything interesting like that. I was local shows and stuff, but yeah, so I was just working like crappy factory jobs basically. I'm trying to think what was the first job that I got after I left university. I have to try and reconstruct a time line, but the one I remember most specifically was working for a company where I was basically just in a factory building really high-end like antique looking stoves. Adam Wathan: So I did that for like a year while I still played in bands and did stuff like that and then eventually a friend of mine was working up in the Alberta oil sands like way up north and I would have all these construction projects to extract all the oil out of the sand and sell it of all over the world, and his dad actually ran the site up there so he had a lot of pull and one day he just called me and he was like, "Hey, do you want a job up here?" And I was like, "Sure." He's like, "Someone's going to call you tomorrow and offer you a job." And I didn't know- Matt Stauffer: That's awesome. Adam Wathan: What it's going to be. Like I had never seen the job description or anything, but this is just this guy's kind of style and so ... Yeah, I ended up working up there for two years doing like basically data entry stuff for the materials team, so I worked in an office in the frigid cold in Fort McMurray where it's like minus 50 degrees Celsius in the winters. Matt Stauffer: Holy crap! Adam Wathan: Our offices are these little portable trailers on the construction site and I was just there basically in Excel reconciling like purchase orders and invoices and making sure that, you know, we received the materials that we had paid for and that all this ... Just a bunch of really kind of monotonous data entry stuff, but for being like a 20 year old kid it paid really well and I did that for like two years until kind of that whole industry and economy started to suffer a little bit more because gas prices and oil prices dropped and they did a bunch of big layoffs which was ... So I got laid off, which was like a blessing in disguise really because I know a lot of people that basically just stayed up there forever because you can never get paid the same thing to come home. And I would work up there for 14 days straight, 10 hours a day and then they would fly you back to where you lived for seven days off. So I was constantly flying back and forth. which just made it really hard to have like a normal life, right? Matt Stauffer: Yeah. Adam Wathan: So yeah, I got laid off from that, came home, decided I would use that chance to try and get into like the recording stuff, because I was getting into recording a lot when I was up there and doing it when I was coming home just as kind of a hobby, but I thought why don't I try and like find some bands and record and like mix EPs for them and stuff. So I did that for like a year, which is a dumb industry to get into because bands don't have money, especially local bands, so you can't make a lot of money doing that, but what I found is while I was doing that I was using this tool called Reaper, which I still use out of my podcast and stuff like that, and I found that there was a bunch of features that I wished it had that it didn't have, and it was created by the guy who created Winamp originally, and it's like a very hacker friendly tool, so it lets you like extend it with Python or C++ or Lua now as well, so you can write all these sorts of like plugins and extensions for it and the API that they give you to do that stuff is like very powerful, you can access basically everything in the tool and write your own menu options and dialog boxes and all sorts of features and stuff. Adam Wathan: So I started getting into like hacking around with that doing really simple things and then one of the guys in the IRC chat for the software, kind of like this elite group of people who are like hacking on stuff there. I made this thing using Python and he was like, "You should port this to C++ so we can include it in this big extension that they maintain." and I was like, "I'd love to do that, I just don't have any idea how." and he's like "Well, okay, I'll help you." So for the next little while he would kind of like ... He kind of put together like a playground in this extension source code for me to like write my features in and help me figure out how to get XCode compiling it and all this different stuff, and that's when I kind of really like reignited my excitement and passion for programming because I was just having so much fun adding features to this tool and making it easier for me to do my work to the point where I was having way more fun adding features to the tool than I was actually using the tool to record bands. Adam Wathan: And I didn't even get back into web development or anything at that point. I hadn't made a website since like high school. So that's when I decided you know what, I think I'm going to go back to college and do this programming thing again, but I decided to do college and study university specifically because I knew like what I didn't like about university and I wanted to do something that was a lot more practical and focused on making you into a programmer than it was, you know, educating you about computer science. Matt Stauffer: So I had been meaning to ask and that's helpful. Are you familiar with the concept of a trade school? Adam Wathan: Yeah, like where you would go to learn to become like an electrician or something like that? Matt Stauffer: Yeah, that's not the same thing, right? You're more talking about it's a school, but it's more like single focus sort of like our community colleges, but I was wondering whether colleges like a little bit different than communities or if it's just- Adam Wathan: Yeah, I'm not sure. So the college I went to is Conestoga College. I'm going to pull up the website now, but basically here college programs are usually two-year programs and you get a diploma, and university are four years and you get a degree, that's kind of the fundamental difference. So I'm going to try and pull up like the actual program that I did here so I can kind of talk a little bit about the actual curriculum because I think it's kind of interesting. Matt Stauffer: While you do that, this is definitely similar to community college. It literally even in the Google preview says your community ... Ontario Community College and this is definitely not trade school, definitely community college, if that makes sense. Adam Wathan: Yeah, so I did the software engineering program there, and not the computer programmer course, which I got kind of turned on to that by asking around to friends who had gone to the school to kind of figure out like, you know, what are you supposed to do, but if you look at the actual program courses here we can maybe like link to this and then show it to people that are interested, but like in the first year we had classes like software engineering fundamentals, operating system fundamentals, C, C++ programming, computer security, object oriented programming, some of this has changed, but then year two we did like web design and development, relational databases, Windows and mobile programming, microprocessors and embedded systems, software quality, so like in school we learned about automated testing, which is pretty cool. Matt Stauffer: Nice. Adam Wathan: You never learn that in university. Advanced computer security, mobile application and development. Yeah, so it was just like all programming. Every class was programming, but it was just focused around some different kind of element of it using different technologies and stuff like that. So the nice thing about that is that college is really close to my house and unlike university where the schedule it's like really weird, sometimes I'd go to a three-hour lecture and then have seven hours off then have to go back in the night for a one-hour class. Like this is structured so much similar to high school, you know what I mean? Adam Wathan: Like you'd get there in the morning, you'd leave in the afternoon, so you're there for a long period of time, you get to like meet people, you get put on projects with people, and I really got into what I was doing there in terms of like I made a lot of friends, you know, that kind of became like my focus which was I think what made me not stick it out in university. It was just like such a side project, whereas I was able to really sort of like embed myself into what we're doing in this program, so- Matt Stauffer: That's really interesting. Adam Wathan: Yeah, that went really for me. So I did that for two years. It's a three-year program, but the way they do it is kind of weird. They have like three years with co-op, I don't know if people use that term in the U.S. It's kind of an internship- Matt Stauffer: I don't think so. Adam Wathan: Like paid internship. Matt Stauffer: Oh, yeah. Adam Wathan: So if they do like two years of schooling and then for 18 months you go out into the workforce. There was like four work terms across those 18 months I think, something like that. And some people do them all the same company, some people do four different ones, some people split up however, but you get paid to do that, which is pretty cool like 18 bucks an hour or more depending on who the employer is, and then once you're done that kind of co-op internship stuff, you go back and do your third year of schooling and then you get your diploma and then you're done. Matt Stauffer: Oh, cool. Adam Wathan: So I just did the first two years, and then I did my co-op at Vehikl who were called Chrome Media at the time, and I think I was like the only person to apply for that job because everyone else was trying to get a job at Desire2Learn which is a company that makes like education student management software, and it's all C# and Windows stuff and that's what they teach us in school so that's what everyone was excited about and they were kind of like the cool, hip company in the area, but I was like the only kid in my class that used a Mac, so doing the Windows stuff was painful for me. I had to like boot up a VM and do stuff like that, so even with all our projects I would do in school I was always trying to find technologies that I could work with easier on my Mac. Adam Wathan: Because we had a lot of like web based projects, even though we didn't have a lot of web specific courses, but in the later years we'd have like a project that was a two-month project and you could choose the technology, which is cool, so some people did C#, some people did, whatever. I chose PHP because that was the only programming language I knew of that you could do dynamic stuff on the server. Like at the time I didn't know that oh, you can use Ruby to do that or Java or any of these other languages, I just knew from like trying to create PHP scripts I could accept form submissions when I was 16 years old that like PHP was the language that you do ... I used to do stuff on the server, so I started looking into, you know, tools for PHP that could compare with like ASP or C#. Matt Stauffer: Like MVC. Yeah. Adam Wathan: That like framework and I found my code igniter and stuff like that and so we started messing around with those sorts of things, and I was lucky enough to find a handful of people that wanted to work on those technologies with me instead of doing the C# stuff and they were all pretty bright people, so we did a bunch of projects using that stuff and then when it came time to look for co-op opportunities I applied to Desire To Learn and they never got back to me, which is great because if they had and I had gotten a job there I'd probably still be a C# developer now. Adam Wathan: Instead I saw this tiny, little company that was only three people at the time that was doing like Magento sites and some custom app development in PHP, and I was like you know what, I'll apply for that and I ended up being like the only person in my class who applied there and that ended up being like the best way it could have ever possibly worked out because I met some really cool, talented people there that really helped me get my career to where it is now and encouraged me to speak at user groups and get involved in open source and stuff like that. Matt Stauffer: That's awesome. Adam Wathan: So after I went and worked there I did my whole kind of internship co-op stuff there and I just never went back to school because I had a mortgage and stuff like that. I was like 26 at the time or 25, 26, and I couldn't really afford to like not get paid for another year or going back to school and the whole point of going to school was to be able to get a job. and now I had a job and even if I wanted to leave there, well, I had a job doing programming for a living on my resume now so it didn't really matter, you know what I mean? Matt Stauffer: Yeah. Adam Wathan: So I got what I needed out of it and then kind of got into the workforce doing PHP stuff and actually like even when I started there, that's when I really got seriously into Laravel stuff. We actually started using Laravel 4 on a client project before it was officially released when it was still like in a beta, which is cool, so I was getting paid to write Laravel code on my very first programming job. Matt Stauffer: Which is amazing. Adam Wathan: Pretty neat. Matt Stauffer: That's very cool. And who are the three? It was Chris and Grant and who was the third person, do you remember? Adam Wathan: Chris, Grant and Caryn, who is like a ... She's a product designer. Matt Stauffer: Product designer, yeah. Adam Wathan: A UX person there. Matt Stauffer: I didn't know she was employee number one. Adam Wathan: I don't think she was employee number one. They kind of went through a couple different iterations of the company doing different stuff- Matt Stauffer: Got it. Okay. Adam Wathan: Over time, but when I got there it was the three of them and they kind of had their thing figured out. Matt Stauffer: Very cool. All right, so the story from there you did at Vehikl ... So when did you start speaking? Was it the Laracon EU testing talk? Was that your first kind of big conference, or what was your speaking journey like? Adam Wathan: So the first talk that I ever gave was like an intro to Laravel talk at a Meetup that we created so that I could give that talk basically like the vehicle we created like the Kitchener-Waterloo Laravel Meetup which only survived like a few Meetups because we also had this like Guelph PHP user group which half the time we were doing Kitchener anyways and that eventually just became like oh, we'll just do everything there because we'd meet up once a month there. But yeah, so I gave a talk at that user group to about like 30 people or something, which was my first time doing any speaking like that, and I may have done another talk after that to like a local Meetup, but yeah, the first conference talk I think was the community day at Laracon EU 2015 or maybe '14, yeah, and I did the talk- Matt Stauffer: I remember it, but I don't remember the year so, yeah. Adam Wathan: Yeah, I can't remember what the talk was called, TDD the good parts, I think, and then after that I think I gave a talk at True North PHP in Toronto at Chris Hartjes and Peter Meth's conference and from there I just kind of got into it more and more. Once you kind of have one conference under your belt, it's a lot easier to get into the other ones, especially if you make the effort to get them filmed and post them online and be able to use that stuff to help show people hey, I can actually do this and it'll be fun. I'm a grown up I can do a good job. Matt Stauffer: Cool. So at some point you were using Laravel, and you became more aware of some of the world's around there. You were looking into things in Rails, you were talking about Ruby some. What was that journey like from Laravel being the thing that you were spending all your time in, to kind of expanding your exposure to the rest of the web world, I guess. Adam Wathan: I can't say ... I can't think of a specific ... I can't remember exactly how I heard about some of these other things, because like I said, I only remember being in college and being like well, PHP is what I use on a server. I didn't even know Rails existed. Like in some ways, in a lot of ways I wish I had known, because I probably would have never become a Laravel programmer. Not because I don't have ... I have anything against Laravel, but throughout the years it's become pretty clear that philosophically I'm much more aligned with the way people think in kind of the Ruby world, right? Adam Wathan: So I was already kind of like deep into Laravel stuff and feeling like pretty fast and productive with it and I'm sure all I was doing was poking around the internet looking for tutorials, reading things about how to do this and that and somewhere in there someone said similar to how this works in Rails blah, blah, you know what I mean? Like eventually you just kind of like start hearing about these things. Matt Stauffer: Yeah, yeah, yeah. Start hearing it, yeah. Adam Wathan: And the Laravel community was a lot less mature than it is now at that point, so a lot of the really good content that was out there was focused on Rails. Like Rails had a big head start on a lot of what we're doing in the Laravel world. Rails came out in like 2004 I think originally. And there's blog posts written in like 2008, 2009 that are still really useful blog posts for people writing Laravel stuff now, so it was actually really interesting for me to discover that kind of whole world because at the time this was like 2013, 2014 when I was learning Laravel originally. Maybe ... Yeah, probably 2013, there was like eight years worth of high quality Rails content out there. So if I could just figure out- Matt Stauffer: Yeah, sitting out there already. Adam Wathan: How to translate the syntax from Ruby to PHP, you know, there was all this content out there that could make me a better Laravel developer, basically. So I got really, really deep into all that stuff and that's when I discovered companies like Thoughtbot that had done tons of blogging and written books and put together video tutorials or Gary Bernhardt's Destroy All Software, which is all Rails stuff. There was just so much good stuff out there and that's where I basically focused all my learning at that point was taking everything that people had already ... Like I make this joke a lot of the time that any time like someone runs into a problem with Laravel, like a design decision where you're like okay, well, what's the best way to do this in Laravel, take the current year subtract four years, include that in your search query and look for how to do that in Rails and there will be like 100 quality blog posts out there. Adam Wathan: So yeah, I got really into just kind of researching what people were doing in these other ecosystems and finding out what made sense to try to port back and apply to what we were doing in PHP stuff and yeah, that's kind of been like my shtick, I guess. I'm always looking outside my existing community to see if ... I think of myself as like Christopher Columbus like going across the sea to the foreign lands and bringing back treasures for people. Matt Stauffer: Nice. Yeah, so let's see. So you worked at Vehikl for a while and do you know how big Vehikl was when you left? Adam Wathan: So it was still actually just the four of us- Matt Stauffer: Oh, yeah? Okay. Adam Wathan: When I left, which was kind of like my motivation for leaving. I still was really enjoying the work that I was doing there, but I had this like nagging feeling that I was missing out on the ability to grow faster by not being part of a bigger team where there was more ... Not more experienced developers like developers with more experience, but just more developers- Matt Stauffer: More people, yeah, yeah. Adam Wathan: That were experienced- Matt Stauffer: With different experiences, yeah. Adam Wathan: To learn from, right? Matt Stauffer: Yeah. Adam Wathan: And that was kind of stressing me out at the time, so I ended up leaving to go work for a company that did Rails consulting, but when I got there I got dumped onto a project doing C# and Angular, so I only stayed there for like three months because I want to blow my brains out ,and I soon ... Like within the first week of working I was like I can't believe I left my other job, this sucks so bad. And then after being there for a couple months Tighten, this company out of Chicago that does some Laravel stuff, I don't know, people might have heard of them, posted a job posting on the old Laravel job site and I applied for that and ended up going to work there for a while. Matt Stauffer: It's so weird because I've been trying to figure out how to ask you questions about that time, and it's really tough. I don't know how, but maybe I'll just try and throw a broad one at you and see if that goes somewhere. What was the area you grew in the most while you're working at Tighten? I think that may be a question to start with. Adam Wathan: That's a hard one. I can't think exactly what ... I think the biggest changes for me are the things that I had to figure out the most was like the remote working thing. That was like a new thing for me and figuring out how to ask for help with things and get stuff done and get help from people in a way where like I'm just so used to ... I was just so used to working in an office where if you're frustrated with a problem, like the people sitting around you can tell, you know what I mean? Matt Stauffer: Yeah, yeah, yeah. Adam Wathan: And that's not as easy in a remote company, so you have to figure out ways to manage that sort of thing, especially when people are not always like available at the same time because everyone's kind of working ... Like even though you have kind of standard-ish hours, there's still a lot of a synchronicity to it, right? Matt Stauffer: Yeah, yeah. Adam Wathan: Everyone has different calendars with different things going on, which is very different than being in an office. Yeah, people have stuff scheduled and calls and stuff, but you can like see when someone is available. So figuring that out was probably ... That was probably the biggest change and area for me to kind of figure out how to work that way, and yeah, it was good though. I think the remote working set up is the way to do it, as long as you can make sure people are able to communicate when they need to communicate and feel ... You have to be more deliberate about asking for help, which can be hard, you know what I mean? Matt Stauffer: Yeah. Adam Wathan: If you can just be frustrated and people can tell and people offer to help, that's one thing, but sometimes it's like you feel like you have to ask for help every 15 minutes with something, especially when you're starting, right? Matt Stauffer: Yeah. Adam Wathan: And that could be like ... It's like a degree of shame or something like associated with that. That's hard to get over. Matt Stauffer: We've been working ... That's probably been the biggest barrier with bringing on juniors is that the combination of junior, plus remote, it's really an extra level of shame. Adam Wathan: Plus new job, right? Matt Stauffer: Yeah. Adam Wathan: Which is hard for even for like an experienced person, yeah. Matt Stauffer: New job, remote, new tech, I don't know what I'm doing, everybody else here has got it and I'm asking for questions every 15 minutes, I feel like I'm bothering people. Adam Wathan: Yeah. Matt Stauffer: That's definitely tough. Adam Wathan: Yeah. Matt Stauffer: So this is the last question I'll ask about your time at Tighten, but one of the things that was really impactful from our perspective was that you had a lot of thoughts about how a company should be run and a lot of them came from watching Base Camp and and Thoughtbot, and thinking about concepts that you've talked about in the podcasts and some of the times I've talked with you about on podcasts of things like no estimates and stuff like that, where there's a certain way of thinking, and I think that Dan and I say often that your time at Tighten was really impactful in terms of just kind of like sharing those things with us, but it wasn't always just as easy as Adam comes in and teaches something. Matt Stauffer: Often it happened in the context of, you know, there was a ... Not necessarily there was a conflict, but there was sort of like well, why is it not happening this way and we'd be like, "Oh well, I don't know. We'll figure that out." So I was wondering during your time at Tighten, do you feel like you learned anything about what you wanted to kind of do when you grew up kind of vibe in terms of teaching, or were there things that you learned about how you think software should be written or something that happened in the context of those learning moments and those conflicts and everything that we had during those times? Adam Wathan: Yeah, I'm try to think if there's anything specific I can take away as like a learning ... Matt Stauffer: And if not, no worries, I'll just edit out the question. Adam Wathan: Yeah, I think like ... I mean, what I like working on the most at Tighten was being able to create projects for companies, build stuff for other people. I think if anything, what I maybe took away is that ... What's the best way to say this? I like having control I guess of like my own destiny in that sense because working with companies to build new projects for them there's like this of course this whole layer of stuff that comes with that that isn't there when you're just building something for yourself of course, right? Matt Stauffer: Yeah. Adam Wathan: And it can be a real challenge sometimes to get people on board with building something in a way that is in their best interests, even though they might not understand why or agree why, and that's just like a whole thing that you have to figure out how to navigate that can just get in the way of what you want to do which is just like creating the best thing for solving a problem for them, right? Matt Stauffer: Yeah. Adam Wathan: So I think being able to get into what I'm doing now where I get to like create training stuff and stuff like that has been a nice change in that sense, because it lets me focus on just doing ... Creating the thing that I want to create. But yeah, like you said, like I think a lot of the reason that I cared so much at Tighten and everywhere I worked about how to try and run these projects successfully is for that same reason because I just want to make the great project, you know what I mean? Matt Stauffer: Yeah. Adam Wathan: And I think everyone is on the same page there, right? Like you want to figure out a way to navigate the other stuff and minimize it so that you can just focus on doing the work, but because I just care so much about doing the work and that's what I want to do, that it kind of pulls me down this path of figuring out like okay, what is stopping us from being able to just do the work and what ideas are out there in the world that people have that can help us focus on- Matt Stauffer: Help us, yeah. Adam Wathan: Just doing the work for people. So I don't know if that really answers your question in terms of I guess like a specific kind of learnings or take aways, but in terms of, you know, that sort of project management side of things, I think that's sort of like where my motivations at least come from to care about that stuff. Matt Stauffer: Well, it's funny because you say everyone feels that way and of course everyone, you know, hopefully wants to really do a good job for the client, but it also reflects a little bit back on what we were talking about earlier about you love doing things to the best they can possibly be done and it's not just your things, you know, it's also other people's things. Like every project you have a hand in, you want it to be the best possible thing, and if there's stuff getting in the way of that, well, then that's stuff that you need to kind of shave off so that it can just be the optimal it will be. So I totally hear that and that makes a lot of sense. Thanks for answering that kind of convoluted question. Matt Stauffer: So the transition from there was it was during your time there that you wrote your book and you released it and you were able to transition it to be doing your own educational stuff full time. So in terms of that switch, when and what was the process like for you to start thinking you know what, working at somebody else's consultancy may just not end up being the thing for me and I want to try info products or I want to try my own products or something like that? Like what was that journey like for you? Adam Wathan: Yeah, so I think for me what really happened there as I put together this book and released it, I didn't really have crazy expectations for it or anything like that. Again, it was just one of those things where I've always just really liked making polished things that are finished that you can look at and be like this is done and this is tidy and this feels nice. And I used to do that with even like trying to contribute tutorials to Game Facts and stuff back in the day. I never got anything on there, but I would just like agonize over like making some sweet like ASCII art title at the top of these like stupid plain text files- Matt Stauffer: That's perfect. Adam Wathan: And I just wanted it to feel like a polished thing, right? So that was kind of like one of my biggest motivations for making the book was first of all, I've always been interested in like creating something and selling it and seeing like what it's like to make your own money on the internet sort of thing, but I also just like ... It's hard to think back to it now because I have a few products now, but back then I kind of felt like I just had never got to finish anything, if that makes sense? Matt Stauffer: Yeah, definitely. Adam Wathan: And this is a common thing that I think like agencies deal with a lot in general, right? As you get to work with a client, you do a lot of really great work for them, but you're not necessarily like always around 'till the end of the project because maybe eventually they hire their own team which is one of their goals from the beginning, right? They're trying to get like a head start on something so that once they have a little bit of traction they can build their own team around it, because of course that's more economical way to handle that. Adam Wathan: Or the other end of the spectrum is you start working on a project for someone and it turns out that they just aren't able to hold up their end of the bargain really and the project is just not going to work out and you do work for them for six weeks and then they realize like you know what, I'm not ever going to be able to make an app company properly, so you kind of just say okay, thanks for your work, you did a great job, but like that's the end of the project. Like I've worked on so many projects that never even went to production, you know? Matt Stauffer: Yeah. Adam Wathan: Or got any users or anything like that and that's kind of like a ... At the time that was kind of "I just want to finish something. I just want to have something that's done." I did that with my Nitpick too, that little SaaS something- Matt Stauffer: Yeah, I remember. Adam Wathan: That I built, and the whole goal there was just the same thing, like I want to build an app 'till it's done and then put it out on the internet, and that was just like a cool feeling. So I did the same thing with the book and then the book ended up being, you know, pretty successful, and before I worked on that book, I had the idea all along that what I really wanted to do was some sort of testing thing, like some TDD book or course or something, but it was just like ... Sounded like so daunting, it just sounded like a big project. Adam Wathan: So I stumbled on this idea to the collections thing, and that seemed so much more manageable, so once I had finished that and, you know, it was pretty successful, I thought you know what, if I want to do this like testing product, this is the best possible chance that I'm going to have to be able to spend the time on that because the book did well enough that like I can take six months off and focus on this thing. So I thought you know what, I'm not going to get a chance like this again. If I don't do it now then this money is just going to go into an RSP or something and it's just going to ... Yeah, of course that's good, I should have money saved away for a time. Matt Stauffer: Right, right. Adam Wathan: I'm not going to ... Like it's not going to change my life in any way, I'm just going to keep doing the exact same thing that I'm doing. The book's going to be out there, but I'm not like seizing the moment to use it as an opportunity to try something. So I thought you know what, this is like the only chance that I'm going to get to probably do this, so why don't I try it out. So that's when I decided to move on to try and to just do something for myself and see how it panned out and I did the testing course, which was way bigger than I even was worried about it being originally. Adam Wathan: So it's a good thing that I didn't try and put it together when I was still working, but that did really well too, and that's been able to let me focus on continuing to do more stuff like that. I'm always able to stay just like a little bit enough ahead of where I need to be that I have some time to figure out what the next thing is going to be, you know, and I'm just kind of like building the bridge as I try and cross the river. Matt Stauffer: Yeah, that's awesome. I remember one of the things that you said when you let us know that you were going to be going off to do the thing full time and you said, "You know, I don't know how this is going to work out, but I know that if it totally flops in six months I can apply to one of a myriad programming jobs, but if I don't try this, there's no guarantee I'll ever have this chance ever again where there's the traction for my book and I have enough money to kind of try this thing and so I got at least try it." And that really stuck with me, just the idea that like ... And I mean I've had that happen where I've had an influx of cash and it just kind of goes and spreads out across retirement savings and health expenses and whatever else, and your life is exactly the same even though you put all that work into it, and so that idea of those are those moments and it's scary, but like what's the worst thing that's going to happen? I'll use up all the money and then apply for jobs on the other end. Matt Stauffer: You know I'm a little less stable because I'll have to be applying for a job versus having once settled, but there's no guarantee that your job's not going to shut down the next day, you know, and so like the idea that oh well, everything's perfect now, I'll be put ... No, no. You know, I really love that kind of thinking and obviously at least so far it's working out really well for you, so I'm hoping that's an inspiration for other people to kind of consider taking some of those leaps. Matt Stauffer: I would love to ask you a million questions about how you think about product and stuff like that, but we're longer than usual, and thankfully other people have asked you that on their podcasts, so I'm going to try and link some of your stuff with Justin Jackson and some other people, also Full Stack Radio, even though it's you interviewing other people, you do learn a lot about the interviewer by the questions they ask. So all this super interesting stuff that we don't have time for, I hope that we'll be able to ... People will be able to kind of suss that information out anywhere else. Matt Stauffer: But I think one of the things we have not talked about, so every time I'm going to be interviewing somebody in the Laravel podcasts I go into Tighten Slack and I say I'm about to interview this person and I'm actually opening my Slack right now to make sure that new questions ... Yep, a couple of new questions came in, and I say, "Are there any particular questions that y'all want to ask them?" And so I ask that question in Tighten Slack, which is kind of funny because you are still in some of our Slacks and you used to work there, but there's still some questions. Matt Stauffer: So the first question came up for you is, "Do you even lift, bro? Which first of all is fantastic, but second of all in our Slack that actually triggers a gif of you doing a lift, so it's perfect. So we haven't gotten to talk about that at all. Adam Wathan: Yeah. Matt Stauffer: Where did that fit into your whole world? Can you tell everybody a little bit about kind of that part of your life? Adam Wathan: Yeah, so when I was working up in Fort McMurray in Alberta, I've always been kind of like an overweight kid. Matt Stauffer: Same. Adam Wathan: And like most people, like you just want to look better, right? Matt Stauffer: Yeah. Adam Wathan: So when I was working up there, you're just like so bored and you're not using your willpower for basically anything else that it was like an opportunity to finally try and do that seriously, right? It's actually funny because if you follow along with like the bootstrap podcast like Ian and Andre, Andre is kind of doing the same sort of thing. Like he decided to basically take off some time during the year from any really like mentally sort of straining work. Like I think he's just mostly focused on doing some consulting stuff and I'm not even sure if he's working the same amount of hours and stuff that he was doing normally, but he decided like, you know, I want to take this opportunity with this kind of reserve of mental energy that I have and focus on something like really life changing thing, which for him was like getting in shape, right? Matt Stauffer: Yeah. Adam Wathan: And it's funny because I never really thought about it that way, but when I heard him phrase it that way it's like you know what, that's exactly like why I was able to do it originally, because I just didn't have anything else pulling at my brain. So when you're going to make dinner or even going out for dinner with your friends it's easy to order the vegetables instead of the fries because like I just haven't used any of that brainpower, you know what I mean? Matt Stauffer: Yeah. Adam Wathan: So when I was working out there, I just ... It was easier for me to start eating a lot better and get into like home workouts and stuff like that and that led me down this whole path of eventually discovering like strength training. Pro tip; if you're a programmer who wants to like start exercising, the terms that you should be Googling are strength training. That is the term that's going to find you ... At least I think is going to find you the stuff that's going to resonate most with how your brain works in terms of things being really measurable and being able to like science the shit out of everything with lots of percentages and math. Adam Wathan: But eventually I kind of stumbled onto this like form of exercise where you're just focusing on like lots of really high bang for your buck compound exercises like multi joint movements like squats and deadlifts and bench press and overhead press and chin ups and barbell rows and stuff like that, and once I finally found the good stuff online which was like Mark Rippetoe's content and stuff like that, you learn like what you should be doing is progressively trying to increase the weight that you're lifting. Like a lot of people just go to the gym and they just like pick whatever they think is going to be like a good weight to lift that day and just do it or whatever, but they're not actually tracking their progress, so they don't really make progress, but if you can develop a plan where you know like okay, this week this is what I'm lifting, next week I have to try and lift this and it goes up and up and up. Adam Wathan: For me that's what was able to keep me kind of motivated because I was seeing progress on paper because seeing progress in the mirror is a lot harder, it takes a lot longer and it's a lot more subtle and gradual, and if you're not taking the pictures of yourself topless in the mirror every week to compare like okay, do I actually look like I'm getting in better shape, but if you're just like blogging stuff in a notebook it's easy to say okay, I bench pressed 185 for six reps last week and this week I did it for eight reps, that's pretty cool. So I've kind of gone into this whole thing of getting stronger and lifting and eventually started competing in power lifting competitions because like with everything I do I have to take it to the extreme. Adam Wathan: So what started as like 185 pound like skinny fat kid to trying to like look better without his shirt off, turned into like a 260 pound dude deadlifting 600 pounds and winning nationals power lifting gold bells. That was just something ... I would still be doing that, but it's a hard ... Once you get there's like a point of diminishing returns, which I think I definitely hit, where you're just more likely to get injured than you are to make progress, and I've hurt myself a couple times and I have a nagging back injury now that doesn't bother me day to day, but any time I get back into lifting, no matter how light I start, after a couple weeks I do one rep not 100% perfect and my back is messed up for a week, it's really frustrating. Adam Wathan: So it's hard for me to really stay motivated into it these days because the thing that kept me going was like getting stronger. So going to the gym to lift less than I did before is like, whatever. I still need to get back into it more, but yeah, that was a big thing for me for a while. Matt Stauffer: It's funny because as you were saying that, a light was going off in my head. I switched to a new trainer about four months ago and it was the first time the trainer has been trying to teach me the skills to be able to stop working with him versus just kind of like giving himself job security by just kind of telling me what to do. And he's a Mark Rippetoe guy and he just moved to Chicago, or he's moving to Chicago this weekend and so he's like here's everything I know and he set me up with this thing called ... Have you ever heard of the 5-3-1? Adam Wathan: Yep, that's what I always used to do. Jim Wendler. Matt Stauffer: That's literally what I started it this week at the new gym on my own and I've got a 5-3-1 calculator. Adam Wathan: That's awesome. Matt Stauffer: I plug all my information in. Adam Wathan: It's amazing. Jim Wendler is like he's the DHH of weight lifting. Like he's just got that same like everyone over complicates things attitude and there's this quote that I ... So this is so funny because like so many people who get into power lifting are like super nerds about this stuff, right? Like the amount of like just nerds that get into this stuff is outrageous just because of the fact that you get to make spreadsheets, you get to calculate like your estimated one rep max based on how many reps you lift this way or whatever. Adam Wathan: And I'll never forget there's like a F.A.Q. section in one of Jim Wendler's books where someone asks a question and it's like, what is the best ... I can't remember exactly how it was phrased, but basically the question is like what incline should I be using on like the incline bench? Should it be like a 70 degree incline or a 45 degree incline or a 40 degree incline, like what's going to get me the best results? And Jim Wendler's answer is, "The best incline is whatever the incline is on the bench at your gym." Like it just doesn't matter. Matt Stauffer: Just do it. Yeah, yeah, that's awesome. Adam Wathan: So it's just like his stuff like really resonated with me because it's just like such no bullshit sort of attitude towards this stuff. But it totally works too, so. Matt Stauffer: That's encouraging, man. Adam Wathan: Yeah, yeah, it's fun. I'm excited that you're doing that. Matt Stauffer: Oh, I'm so psyched about this. And the way you're describing exactly what's compelling about it and I'll link this in the show notes, but my trainer gave me this thing where you literally just like plug ... It's a giant Java script page, and you just plug in your one rep max's for the four main movements of the bench press, overhead press, squat lift- Adam Wathan: Dead lift, yeah. Matt Stauffer: And squats and then it just says here's what to do for the next four weeks. Adam Wathan: Yeah, so why don't you do this week two and then- Matt Stauffer: Yeah, yeah. Adam Wathan: And then you put in like how many reps did you get on your last set, and it will like calculate your estimated one rep max, and for me that was the key because basically there's this formula that Jim Wendler gives you which I think is like weight times reps, divided by 30, plus weight, which is not accurate in the sense of like it doesn't properly model how the number of reps you lift or the weight like compares to like your one rep max would be, but it's like an approximation that's close enough, even though at certain extremes it's like the curve like breaks down where like oh, now you're weaker because you lifted more ... Like it just doesn't make sense, but in like the actual- Matt Stauffer: The vast majority of- Adam Wathan: Yeah, it's good enough, right? But that was perfect because every week could be lifting different weights for different reps, but you always had this ... Like you could reduce it down to one number to compare like different ... Completely different workouts. So if you bench 185 for like 10 reps or whatever, that's 185 times 10, divided by 30, plus 185, that's ... You have a 247 pound one rep max or whatever, so now you can compare that with lifting and just- Matt Stauffer: And just see those numbers go up. Yeah. Adam Wathan: 205 for seven and you can see which one is better, and even though the workouts are different every week, you can just see over time okay, like this number is continuing to go up. Sometimes maybe it dips down, but overall like the progress is there and that's like a really good way to stay kind of motivated. Matt Stauffer: Yeah, I love though that there's a lot of really great apps that help you track your weight and you see how those things go up and down over time, but like you said so many other things it's really hard to just get like a single fixed point you can track over time and I was just talking with Logan this morning and I was telling him about ... Logan who works at Tighten, I was like "Oh, I'm doing this." and he's like "Well, why don't you post your one rep maxes every week in" ... you know, there's a channel at Tighten called Discussed Gains, and he's like, "Why don't you post it in there is so that we can all kind of see it go up." And I was like, "Oh yeah, that is a big motivator. I hadn't thought about it." Adam Wathan: So I'll give you an insider tip; if you're looking for ... I don't know if this site ever really got popular, but there's a site called Weightxreps.net, which is like a site for people to manage kind of their weightlifting or power lifting, strength training, training journals. Matt Stauffer: Wow. Adam Wathan: And the thing that's sick about this site is that you log your workouts in like a custom version of Markdown and it does all the calculations for you and stuff like that. Matt Stauffer: Wow. Adam Wathan: Yeah, it's pretty cool. Matt Stauffer: All right, all this is going in the show notes, folks. I'm sorry if all y'all don't care about this, but I do, so we're talking about it. This is amazing. This is super cool. Okay. All right, so sorry we're super past time, but I have to at least get one or two more of these questions in here. All right, I'm going to give ... all right. "What inspires you to keep learning?" Adam Wathan: I don't know that I think it's just an intrinsic motivation. I think I just ... When I find some new thing that I don't know enough about, but I'm passionate about it, then I will figure it out 'till it's end. Like that is just my kind of nature and then I'll probably move on to something else after that. So I don't think like I have any like hacks or anything to help people kind of stay inspired to keep learning. For me, a lot of it is like I like to make stuff, so you try and make something, you hit a problem, and you figure out how to solve it. Matt Stauffer: Learn it, yeah. Adam Wathan: And I try not to take short cuts on things either. I think sometimes ... I think it's worth like clarifying this in some ways because I listen to you, like all of Justin Jackson's podcasts and sometimes Justin Jackson will bring me up as an example of something, which is flattering, but he'll always say like what I like about Adam is that whenever he like finds a hard problem like he doesn't like figure out a workaround or anything like that, he'll just like drill through the problem until it's solved. Adam Wathan: And I think that can be misinterpreted a lot of times to sound like you always want to make things perfect to make everything, you know, like unnecessarily perfect. Like you can solve the problem this other way, but you're going to like solve it the hard way for whatever reason, which I think is not ... I think there's a lot of valid situations where you can like Judo a problem. Like I actually take a lot of pride like Base Camp uses this term, I don't know if other people use it, but I think that's where I first saw it. They talk about like trying to Judo a problem, which is just they have some problem that they need to solve, they try and figure out a way like how can we just like make this problem not exist so we don't have to solve it, you know what I mean? Matt Stauffer: Yeah. Adam Wathan: Which I think is a really valuable skill and something that like I take pride in a lot trying to figure out ways like okay, I can't figure this out, how can I just make it not exist by solving something in like a different place or whatever, which I think is a really good thing to do, but I am not willing to make compromises on things where it feels like I'm like putting a Band-Aid on something, you know I mean? Matt Stauffer: Mm-hmm. Yep. Adam Wathan: The analogy to me is like okay, there's a hole in your roof. Like you can either fix the hole or we just put a bucket there and we have to empty the bucket every day, but that's fine, the floor doesn't get wet, so the problem is solved, right? Like to me I don't think that that problem is being solved. Matt Stauffer: Yeah, I totally agree. Adam Wathan: So I can't think of a specific programming analogy necessarily, but like I hate workarounds. I hate things that I feel like Band-Aid fixes. Matt Stauffer: Yeah, but that doesn't mean that you're not going to Judo the problem. Adam Wathan: I need to understand something at its core level. Yeah. Matt Stauffer: You may end up making the problem go away or you may end up, you know, picking the faster fix, but it's that you want to actually fix it, and you want to learn how to actually fix it. Adam Wathan: Yeah. Matt Stauffer: All right, one last question which is, "If you could give everyone you meet one book to read, what book would it be?" Adam Wathan: For every single person, like not necessarily programmers? Matt Stauffer: I was wondering the same question. Answer it either way you prefer. Adam Wathan: So I'm trying to think if I have any books that ... Like I'm sure there's a book that I'm just like blanking on that I think is like just a good book for everyone to read in the world. And I'll probably think about it after the fact, be like, "Duh, that's what I should have said." Matt Stauffer: Yeah, yeah. If you do, I'll put it in the show notes afterwards, you can message it to me. Adam Wathan: I will say from like a programmer's point of view, I think the book that ... The book that really got me started on the right path to learning to program properly and I think a lot of people listening to this podcast probably are already in the right place, but I think it's still worth reading. For me, when I was in college and learning to program in general, the whole idea of like design in terms of like well, architected code was just a concept I didn't even know existed, you know what I mean? Matt Stauffer: Mm-hmm. Adam Wathan: like I just ... There's like code and you write it and you make it solve a problem and like yes, like some solutions are like more elegant than others I guess, but I never really thought of this like community that exists around like design in code. And it wasn't until I read this book called Agile Practices, Patterns and Principles in C#, which is like the C# version of the original book which is written in Java, but that's by Uncle Bob, and it's ... There's a lot of stuff in there that I think is like ... That I probably wouldn't ... I don't know how to say it. It's like it's one of those things where like you have to like learn the rules to like know how to break the rules and like you can get deep into that book and kind of like get too hung up on this mentality of dependency, inject this, interface that, whatever. Adam Wathan: It will make you that way at first, but a lot of people need ... Like everyone needs to go through that phase, but that was the book that I read that ... Like I remember working a part-time job at a warehouse at a retail store and I would be like finding every opportunity I could to like hide in the corner somewhere with my phone to just like read more pages of this book. Because it was just like opening my eyes to so many concepts about writing code that I just wasn't familiar with at all or didn't know existed. So that book really got me started on the right path to even understanding what information to look for on the internet about becoming a better programmer. Adam Wathan: So I think from a programming perspective, that would be the game changing one, although it might not be my favorite book anymore, that was the one that I'll always remember as having a really special sort of place in my heart. I'll keep thinking on like the non-programming stuff in case I can come up with something good and maybe you can add it as an addendum to the show notes or something. Matt Stauffer: Yeah, for sure. Well, yeah, I'm just going to say it. I could talk for hours. There's so many more things we could talk about, but we're in an hour and ten minutes, try to cut down to 45 minutes, so we're going to call it a day. So first of all ... Actually before I talk about how people can follow you, is there anything you wanted to talk about or you kind of wish that people knew about you or parts of your story or your background that we didn't get a chance to cover you want to talk about? Adam Wathan: I don't think so. I think we talked about basically everything. Matt Stauffer: Okay, so if people want to follow you or if they don't already own all of your products, which they should, or anything else, where do they find you? What are you plugging these days? You know, that kind of stuff. Adam Wathan: Yeah, so I'm @AdamWathan on Twitter. That's kind of where I hang out the most. I have a website at Adamwathan.me that I don't do enough stuff on, but I do have a lot of stuff there to look through. The most recent thing I did is I put out a course on advanced Vue component design, which is kind of like we talked about earlier with like the Rails on Laravel stuff, is me figuring out what people are doing and react, the really interesting react stuff and basically bringing some of that stuff back to the Vue Community and showing people how you can do that stuff. So check that out if you're interested in that. Adam Wathan: And aside from that, what can I say? I mean, I'm doing a lot of Tailwind CSS related work these days. It's kind of like my big open source project that I'm working on. Me and Steve Schoger have something pretty exciting in the works around the Refactoring UI content that we've been doing, so keep your eyes peeled for that and yeah, I think that's probably about it. Check out my podcast, Full Stack Radio, if you want to listen to me interviewing people to help solve some these problems I've been solving, trying to solve over the years. I've said it before in other places, but the whole reason I started that podcast was as an excuse to ask Ryan Singer questions, because it seems weird to email him and be like, "Will you answer some questions over Skype?" But if I say, "Will you be a guest on my podcast?" Well, that's a different question. Matt Stauffer: Yeah, a totally different thing. Yeah. Adam Wathan: So that's kind of like the whole motivation there, that's just ... You can definitely go through the history episodes and figure out like what problems I'm trying to solve at the time, so check that out if you're interested in some deep dives into some different technical stuff, but yeah, I think that's it. Matt Stauffer: Okay, Adam dude, it was a total pleasure. I love getting to hang with you any time, but this was especially fun getting to talk about your history and kind of share with everyone, so thank you so much for your time and thank you for all the things you do for the Laravel Community. Adam Wathan: Thank you, man. It's been an absolute pleasure being on and yeah, thanks for all you do with this podcast, it's a really fun one to listen to. It's really cool to hear people's stories. I always see episodes pop up and I kind of think at like a surface level like this doesn't look interesting to me, but I'm going to force myself to listen to it anyways, because I know by the time I'm done or even when I'm half way through I'm just going to be like wow, this is like captivating. Matt Stauffer: Yeah. Adam Wathan: And it's been that way for every single one I've listened to, so if anyone hasn't listened to some of the older episodes because maybe they're with people that you haven't heard of and don't think you're going to be interested in, definitely listen to them, because people have really just fascinating and incredible stories to share and Matt does an awesome job of bringing them out, so definitely check that out. Matt Stauffer: Thanks, man. Yeah, people are fascinating. All right, man, thank you so much. I'll talk to you later. Adam Wathan: All right, thanks, man. Matt Stauffer: All right.

Interview: Samantha Geitz, Senior Developer at Tighten

May 22, 2018 00:45:05 43.32 MB Downloads: 0

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.

OG Reunion #1

April 06, 2018 00:48:31 46.61 MB Downloads: 0

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]

Interview: Snipe, AKA Alison Gianotto

March 21, 2018 00:58:56 56.6 MB Downloads: 0

An interview with Alison Gianotto / Snipe, creator of Snipe IT Snipe.net Snipe-IT @snipeyhead Editing sponsored by Larajobs Transcription sponsored by GoTranscript.com [music] Matt: All right, cool. All right. Welcome back to the latest episode of Laravel Podcast. It's been a little bit of a break for those of you who tune in to every new episode, but I've got another great interview here. As with every single one, I'm interested and excited to introduce someone to you. Some of you have heard of before, a lot of you might not know that she actually works in Laravel. Either way, it's going to be great. This is Snipe. Although in my head, you have been Snipeyhead because I feel that's been your Twitter name for a while. Real name, Alison Gianotto, but I'm probably just going to end up calling you Snipe for rest of this call. Before I go in asking you questions, the first thing I want to do is just I always ask somebody, if you meet somebody in the grocery store who you know isn't technical at all, and they ask you, "What do you do?" What's the first way you answer that question? Snipe: I say I work with computers. Matt: Right, and then if they say, "My cousin works with computers and whatever." Where do you go from there? Snipe: Well, it depends on their answer. If they say, "Do you fix computers?" I'm like, "Not exactly." If they say, "Really? What type of computer work do you do?" I say, "Well, I'm a programmer." They're like, "So you make games?" "Well, not exactly." If they say something like, "Mobile apps or web? What languages?" Then I'm like, "Okay, now I can actually have a conversation." I don't do it to be disrespectful to the person asking. It's just confusing to them, and so I like to keep it bite-sized enough that no one gets confused. Matt: If you talk to a grandma in a store who doesn't have much exposure with computers, and you say, "Well, I work in InfoSec with blah-blah-blah." Then she's going to go, "Huh?" I totally hear you. If somebody does ask and they say, "You know what? I actually work in Rails," or, "I know what a framework is." How do you answer someone when they are more technical? Let's say, somebody-- You understand that this person is going to get all the names that you drop. Where do you go from there? How do you tell someone about what you do? Snipe: I actually usually say that I run a software company. I say, "I run a small software company that basically works on open source software." Usually, they look at me like, "How do you--" Matt: How do you make money? Snipe: Literally makes no sense. [laughter] Matt: Which is where we're going to go. Let's actually go there. Snipe-IT, it's a company that has an open source product. I'm guessing that you make your money by paid support plans and hosting plans. Right? Then you also have the whole thing available for free in open source? Snipe: That's correct. Yes. Matt: Could you give us a little pitch for anybody who doesn't know what Snipe-IT is, and what it does, and who it's for? Snipe: I'm so bad at this. I'm the worst salesperson ever. Matt: Well, I'm helping you grow. [laughter] Matt: Thirty seconds or less. Snipe: If you have any kind of a company and you buy assets like laptops, or desktops, or monitors, you need to keep track of them and you know who has what, what software is installed on what. Then usually I'm like, "I've got this nailed. I've got this nailed." Then I end up saying, "It's not a very sexy project, but people need it." [chuckles] Matt: Right, right, right. You have to justify yourself in your sales. Snipe: I know it. I really do. I'm really the worst at it. People get really excited. We're going to DEF CON this year like we usually do. I'm actually bringing my whole crew. Matt: Cool. Snipe: Because I really want them to be able to experience the way people react when they realize that we are Snipe-IT because they just get so excited. I've had people run across the conference floor to give me a hug that I've never met. Matt: Wow. Snipe: It's really cool. There was another time I was talking to, I think, YTCracker on the conference floor. He introduces me to one of his friends. He's like, "Yes, she's got a IT asset management software." He's like, "Really? I just heard about one of those. That was really great." I know exactly where this is going. I'm watching him look at his phone. He's like, "Yes, I just heard about it. It's really amazing. I think through your competition." I'm just sitting there smirking and I'm like, "Okay." Totally, I know exactly where this is going, but I let him spend five minutes looking it up on his phone. He's like, "It's called Snipe It?" I just look at him like, "Hi, I'm Snipe." [laughter] Snipe: It was actually wonderful. Matt: It's one of the benefits not just of having the company, but actually naming it after yourself. You're like, "No. I'm actually the Snipe. That's me." Snipe: I'm excited to bring my crew out to DEF CON this year so they can really get to experience that first hand. Because like anything else in open source and in company support in general, a lot of times, you only hear the negative stuff. You hear about when something is broken or when something doesn't work exactly the way they want it to work. To actually get just random people coming up-- I'm getting us swag. I'm getting us t-shirts printed out. I'm super excited. Matt: I love it. There's nothing like having the opportunity to see the people who love what you're doing to really motivate you to go back and do it again. I hear that, for sure. Snipe: Definitely. Open source can be really tough with that because for the most part, the only thing that you're hearing is, "It doesn't work," or, "Why doesn't it do it do this thing?" Or people telling you how they think your software should work. To just get basically unbridled love, it really recharges me. It makes me want to work on a project even harder. Matt: Plus, the phrase unbridled love is just fantastic. [laughter] Matt: It should be in our lexicon more often. Snipe: I agree. Matt: It's asset management software. I'm imagining I've got a 500-person company, and every single person gets issued a laptop within certain specs. After it's a certain amount of time old, then it gets replaced. We're going to make sure they have the latest build of whatever, Windows and the latest security patches, and that kind of stuff. It's at the point where you don't have-- My company has, I think, 17 people right now. There is just a spreadsheet somewhere. This is when you get to the point where a spreadsheet is really missing people. People aren't getting their upgrades. People don't have security updates. My guess was the reason there was InfoSec involved in this at DEF CON is because security updates is a big piece of why that's the case. Did I assume right? Could you tell us a little bit more about how InfoSec and security are related to what you're doing here? Snipe: You're kind of right. We don't currently have a network agent, so we don't have anything that listens on the wire. We do have a JSON REST API, though. Basically, we're now working with folks like Jira, Atlassian, and we're going to be working with a JaMP API to try and basically make that stuff easier. I feel like its out of scope for us to try and build another networking agent, but we have an API. If we can just build those bridges, then it just makes it a little bit easier. Ultimately, in terms of security, the real reason why I think people in InfoSec appreciate this tool, especially given the fact that we don't have-- And some people in InfoSec actually like the fact that we don't have a monitoring agent because that actually becomes a separate problem in and of itself. Let me give you a backstory on why I created this in the first place. Matt: Please do. Snipe: Maybe that'll help explain a little bit more. I was the CTO of an ad agency in New York City. We had grown from-- I think I was employee number 12, and we were now at 60 something people. We were using a Google Sheet shared between three IT people, some of which were not necessarily the most diligent- [laughter] Matt: Sure. Snipe: -about keeping things up to date. Basically, when you've got a single point of truth that is no longer a single point of truth, it becomes a bit of a hellish nightmare. Additionally, if you're repurposing-- Because it's an ad agency, so you have a lot of turnover. You don't have any history on any particular asset if this asset is actually bad. If the hard drive on this is actually just bad and should be replaced. If this is bad hardware, then we should consider just unsetting it, and getting a brand new box, whatever. We had to move offices. We were moving our main office and also our data center. Of course, when you're trying to move a 60-person company, and servers, and everything else, the very first thing that you have to do is to know what you have. That was an enlightening experience. It basically turned out that we had about $10,000 worth of hardware that we just didn't know where it was anymore. Matt: Wow. Snipe: People got fired. This is basically before I was a CTO and before I had set up the exiting process. People had been fired or had quit and just taken their laptops with them. That's got company data on it. That was a huge, huge issue for us. I was like, "Okay, we need something that we can integrate into our exit strategy or exit process to make sure that we're reclaiming back all of the data that--" Because some of those stuff is client data. It's actually really sensitive from a corporate perspective. Also, sometimes it's customer data. It was really important to have a way to handle that a bit better. That's it. The asset part is the most important part of that software. We do have support for licenses where the cloud offering portion of that is not as fully developed. We're going to be building in a services section soon. That will describe, for example, if you had Snipe-IT as a vendor, where would we fit in this ecosystem for our customers? We don't actually have a good answer for that. We're going to be building out a services section that lets you know how much money you're paying every month, how many seats you have. Matt: That's great. That would cover not just global stuff, but also individual subscriptions like Adobe and PHP-- Snipe: Sure, sure. Matt: Cool. That's awesome. Snipe: Licenses are really hard. They're hard because you can have-- One of our customers actually has a hundred thousand licenses. Matt: Oh, my Lord. Snipe: Because you've got this notion of a software license and then a bunch of different seats. There are some licenses that have one seat, and only one seat they only ever will. Then there are ones that have tens of thousands. For example, Microsoft Suite. If you have a large company, you're going to have a lot of those licenses. One of the things I care really deeply about in Snipe-IT, and I think one of the reasons why we've been successful in this really saturated marketplace, because it is a really saturated marketplace, is that I care a lot about the users' experience. I know, for example, that our licenses section, the UI on that, the UX on that is not as optimized as it could be. That will be the next thing that we're really tackling is because it is a popular section. It's one that because of the nature of the variability of licenses, makes that a really tricky UX problem to solve. That's one of the things that I love about this work is getting to solve those kinds of problems. Matt: You're just starting to make me interested in this which means you're doing your job of the sales pitch. You said you got something you're super comfortable with. Snipe: [laughs] Matt: I always struggle-- Somebody made a joke and they said something like, "It's a drinking game for how many times Matt says 'I could talk about this for hours' during a podcast." Snipe: I did see that, yes. Matt: We're there already. [laughter] Matt: I want to step back from Snipe-IT just a little bit. Snipe It, I want to call it Snipe It now that you said that. Snipe: Please don't call it that. [laughs] Matt: I won't, I promise. Think a little bit about what got you to here, and what got you to the point where you're a name and an online persona. I saw you had some interactions with @SwiftOnSecurity the other day. Everyone got all excited seeing the two of you interacting. What was the story? I want to eventually go back to when you got into computers in the first place. First, what was the story of the process of you going from just any other person on the Internet, on Twitter, on GitHub, or whatever to being a persona that is relatively well-known across multiple communities? Snipe: I can't really answer that for you because I don't really understand it myself. Other than lots of poop jokes-- Matt: It's the best. Snipe: Yes. [chuckles] I think, probably, I've been on Twitter for a while. Also, I was on IRC for a long time. I think I'm still an op in the ##php channel on Freenode, although I don't visit there as often as I used to. I was really involved in that as I was learning PHP, and as I was helping other people learn PHP. I don't know. I've always been a mouthy broad, and I think that's probably worked because whether you like me or not, you remember me. [laughs] Matt: Yes, for sure. Snipe: I'm doing my very best to not swear on your podcast, by the way. I've caught myself at least five times that I'm like, "No, no, no." [laughs] Matt: If it happens, it happens but I appreciate it. Snipe: I'm doing my very best. I'm at a conference-- Matt: Broad was a good one, yes. All right, exactly. Snipe: Yes, I know. Yes, exactly. I was like, "B-b-b-broad." Matt: [laughs] Snipe: Which is an offensive term in and of itself, but it's still- Matt: We toned it down a little. Snipe: -better than the alternative, I think. [laughter] Matt: I love it. Snipe: I'm trying my best here, Matt. Matt: I appreciate it very much. Was it in the world of PHP? First of all, I heard longevity. I've been here for a while. That's always a big win. Poop jokes, that's also obviously big win. Give the people what they want. Snipe: I don't know if I can say dick jokes on your podcast. Matt: Well, you did. There we are. Snipe: Dick jokes are definitely big part of my repertoire. [laughs] Matt: Yes, I know. Being an interesting person, having been around for a while, but was it in PHP, and teaching PHP, and being around in the PHP world for a while, was that the main space where you came to prominence versus InfoSec, versus being open source business owner? Was it primarily in being a PHP personality where you came to at least your original knownness? Snipe: I think probably. Probably, yes. When I grab onto something, I don't let go of it. I've been doing some Perl work. I've probably started with Perl, but that was back in the days when I ran Linux as a desktop on purpose. [laughs] Matt: Oh, my goodness. Snipe: I was writing some Perl stuff. Heard about this this crazy thing called PHP which looked way easier and was way more readable, and ended up writing some-- Now, terribly insecure. I know this now, because it's like 2000, 2001, something like that. Which is for going back a ways. I had just started to put out stupid scripts like e-card scripts and things like that, because they served the need that I needed to have filled. This is a well-known secret, but I worked Renaissance Fairs for a very long time. I was guild member number four of the International Wenches Guild. Matt: What? Snipe: Yes. That's not even the most interesting thing I can tell you. Anyway, I was running their website Wench.org which now looks terrible because Facebook took over that community. I used to have interactive like sending roses to each other. Because in the Renaissance Fair community, different rose colors have different meaning. It's basically like an online greeting card thing with these built-in rose color meanings. You could pick different colors of roses and send them to people that you liked, or people you didn't like, or whatever. Having this playground of a huge community of people who-- Basically, I would post to the forums. I'd say, "I'm thinking about building this. What do you guys think?" By the time they actually answered me, I had already built it anyway. I was just like, "This looks really interesting. I want to see if I can do this." Matt: To do it, yes. Snipe: Yes, exactly. It was really, really cool to have access to, basically, a beta-testing community that was super excited about anything that I put out. It definitely stoked the fires for me, stretching and doing things that I may not have done if I didn't have a reason to do it before. Matt: Well, I love how much passion plays a part there. Not this ill-defined like, "I'm passionate about programming. That means I spend all my free time doing it," but more like-- I've noticed that a lot of people who are a little bit older had PHP-- Actually, just developers in general which is quite a few people I've had on the show. Snipe: Are you calling me old? Matt: Me too. I'm in the group too. Snipe: Are you calling me old? Oh my God. That's it. This interview is over. [laughter] Matt: You're going to burn the place down. I think those of us who started back when becoming a programmer wasn't necessarily going to make you big and rich. There's a little bit of that idea today. Go do a six-month boot camp, and then you're going to be rich or something. I think when a lot of us started-- I'm putting myself in that bucket, in the '90s and the '80s. When we started, it was because it was something that allowed us to do things we couldn't do otherwise. I don't know your whole back story, so I want to hear it, but a lot of the people I've noticed, "I was in the dancing community. I was in the video game community. I was in the Renaissance whatever Fair community." Snipe: I used to work on Wall Street. That was what I was doing before I got into computers. [laughs] Matt: Okay. Well, before I talk anymore, we need to talk about this. Tell me the story. Tell me about Wall Street, and then tell me when did you actually first get into computers? Snipe: I left high school. I was living with my sister in a tent in Montana for about nine months. Then it got too cold, our toothpaste started to freeze during the day. We were like, "F this business." We went down to Colorado because we'd met some friends at Colorado School of Mines. Stayed there for a little bit. Came back to New Jersey, and was like, "Well, I don't want to go to college. I also don't have any money for college." [laughs] There's that. I ended up waitressing for a little bit. Was waitressing, wearing my indoor soccer shoes, because I was a soccer player for 13 years. The coach from Caine College came in to eat at my restaurant. He looks at me with disdain and he goes, "You actually play soccer with those, or are they just for fashion?" Matt: Oh, my goodness. Snipe: I'm like, "Bitch, I was All-State. What are you talking about?" [laughter] Snipe: He's like, "Do you want to go to college?" I'm like, "I guess." He invited me to go to Caine College where I studied education of the hearing impaired for exactly one semester. [laughter] Snipe: I was like, "Holy crap. This is so boring. I can't do this." Not the education of the hearing impaired part. Matt: Just college. Snipe: Yes, it just wasn't my jam. I was like, "I want to move to New York." I moved to New York City. I pick up a paper, and I'm like, "Okay, I'm super not qualified to do any of these things." Basically, I was a leatherworker at a Renaissance Fair. I'd done makeup work for the adult film industry. I'm like, "Um." Of course, the easiest way to Wall Street is sales. I had the most grueling interview I've ever had in my life, because I didn't know anything about real sales compared to retail. I remember sweating so hard. I'd just dyed my hair back to a normal color. You could still see a little bit of green in it, and I'm wearing my sister's fancy, fancy suit. I have no idea what I'm actually going to be doing there. It is literally out of Glengarry Glen Ross, high-pressure sales that they're expecting from me. I'm like, "I'm 17, 18 years old. I have no idea what I'm doing." I managed to pull it out. At the very last minute, I got the job. Matt: Nice. Snipe: Was working at a place that did forex futures. Then they went out of business because the principals moved back to Argentina with all of our clients' money. That spent a little bit of time in the attorney general's office, making it really clear that we had nothing to do with it. Matt: At least it was there and not jail. Snipe: That's absolutely true. It's not that uncommon that the main traders are the ones that actually have the access to the real money. Then we started working at a stock shop. I realized I was working until six, seven o'clock at night, busting my ass all for lines in a ledger. I was actually pretty good at that job, but I also caught myself using those creepy, sleazy sales techniques on my friends and my family. When you catch yourself saying, "Well, let me ask you this." You're like, "Ah, ah." Matt: "I hate myself. Oh, my God, what am I doing?" Snipe: I know. I just realized that I hated myself, and that I didn't want to do it anymore. I quit my job. I had a boyfriend at that time that had a computer. That's pretty much it. I had done some basic programming, literally BASIC programming in high school. Matt: Like QBasic? Snipe: Yes. BASIC in high school. In fact, funny story, when I wrote my first book-- I almost didn't graduate high school because my parents were getting divorced, and I just checked out. I was good in all my classes, I just checked out. I had to pass a computer programming class in order to graduate. My teacher, who was the track coach as well, Coach Terrell, he knew me from soccer. He calls me into his office. He's like, "Alison, I've got to tell you. You just weren't here, and you know that if you don't show up, I penalize you for that. Did really well on all your tests, but attendance is not optional in this class. I just don't think I can pass you." I'm like, "I'm not going to graduate then." He's like, "All right. Well, the thing is that when you're here, you do really good work. I'm going to let you go this time, but you've really got to get your shit together." Matt: Wow. Snipe: When I published my first programming book, I sent him a copy. [laughter] Matt: That's awesome. Snipe: I wrote on the inside, "Dear Coach Terrell, thanks for having faith in me." [laughs] Matt: That's amazing, and you know he has that sitting on the shelf where everyone can see it. Snipe: Yes, yes, yes. Matt: That's really cool. Snipe: That was really nice of him. [laughs] My life would have had a slightly different outcome if I'd had to take some more time, and get a GED, and everything else just because I didn't show up to my programming class. Matt: Wow. Snipe: Anyway, I left Wall Street because I had a soul, apparently. Matt: Turns out. Snipe: It turns out, "Surprise." I totally still have one. [laughter] Matt: It's funny because you're telling me this whole story, and what I'm seeing in front of my face in Skype is your avatar. For anyone who's never seen this avatar, it's got a star around one eye, smirky, slanty eyes, looking down where you're like, "I'm going to get you." It's funny hearing you tell this story, and just the dissonance is so strong of seeing that, hearing your voice, and then hearing you talk about being on Wall Street. Obviously, I'm looking back. Hindsight is 20/20, but seeing this story turned out the way it has so far does not surprise me, looking at the picture of you that I'm looking at right now. Snipe: Mohawk people have souls too. Matt: It turns out, yes. Snipe: I got that mohawk as a fundraiser for EFF. Matt: Really? Snipe: I raised like $1,500 for EFF a bunch of years ago. Matt: You just liked it and kept it? Snipe: Yes. Once I had it, I was like, "Wait a minute. This completely fits me. Why did I not have this my entire life?" Matt: That's awesome. Snipe: Yes, there was a good reason behind it. Matt: Honestly, what I meant is actually the inverse which is that I associate having the soul-- When you imagine a soulless, crushing New York City job where you hate what you're doing, you don't usually associate it with the sense of owning who I am and myself that is associated with the picture I'm looking at right in front of me. Your boyfriend at that time had a computer, you actually had a little bit of history because you'd studied at least some coding. You said primarily and BASIC in high school. Where did you go from there? Was that when you were doing the Renaissance Fairs, and you started building that? Or was there a step before that? Snipe: No. Remember, this is back when the Web-- I'm 42. Matt: I wasn't making any assumptions about what the Web was like at that point. Snipe: I think there might have been one HTML book that was about to come out. That's where we were. If you wanted to do anything on the Web, you basically figured out how to right-click- Matt: View source them. Snipe: -and view source, and you just poked at things until they did what you wanted. There was no other way around that. I realized that I really liked it because it let me say what I wanted to say, it let me make things look-- For what we had back then, we didn't have JavaScript, or CSS, or any of that stuff. Matt: Right. Use that cover tag. Snipe: Yes, exactly. It was enormously powerful to be able to have things to say, and put them out there, and other people could see it. Then I just started to freelance doing that. I was also doing some graphic design for one of those-- It's like the real estate magazines, like Autotrader type of things but for cars. I used to do photo correction for them using CorelDraw, I think it was. Matt: Oh, my gosh, that's a throwback. Snipe: Yes. I'm an old, old woman. [laughter] Matt: I've used CorelDraw in my day, but it's been a long time. Snipe: Our hard drives would fill up every single day, and so we'd have to figure out what had already gone to press that we can delete it off. Basically, Photoshopping, to use Photoshop as a verb inappropriately, garbage cans and other stuff out of people's black and white, crappy photos. Because he was nice enough to give me a job. I offered and I said, "You know, I can make you a website." He's like, "Yes, the Internet's a fad." I was like, "I'm just trying to build up my portfolio, dude, for you for free." He's like, "Yes, yes, yes, it's not going to stick." I'm like, "Okay." [laughs] Matt: All right, buddy. Snipe: That's where it started. Then I think I moved to Virginia for a short amount of time, and then Georgia. Got a job at a computer telephony company where I was running their website, and also designing trade show materials like booths and stuff, which, by the way, I had no idea how to do. No one was more surprised than I was when they took pictures of the trade show and the booth actually looked amazing. Matt: That should look good. Snipe: I was like, "Look, yes." Matt: "Hey, look at that." [laughter] Snipe: That's very, very lucky. There was definitely a lot of fake it until you make it. Also, I've never designed a trade show booth, but trade show booths do get designed by someone, and at least a handful of those people have never done it before. Matt: Right. I'm relatively intelligent person, I understand the general shape of things. Snipe: Yes. Get me some dimensions, I'm sure I could make this work. Matt: What is the DPI thing again? [chuckles] Snipe: Yes, exactly. That was exciting and fun. Then I moved back to New York to teach web design and graphic design at an extension of Long Island University. Matt: Cool. Snipe: Yes, it was actually very, very cool. The school was owned by these two teeny-tiny Israeli ladies. They were absolutely fabulous. It was kind of a crash course in Hasidic and Orthodox Jewish culture. It was in Flatbush, so basically, 90% of my students were Hasidic or Orthodox. I think I broke every rule ever. The two owners of the school would just look at me and laugh. They wouldn't offer me any guidance. They just liked watching. Matt: Well, it would be awkward. Yes. Snipe: Exactly. I'm like, "Why would you do that to me?" [laughter] Snipe: They're just laughing. I could hear them laughing from upstairs- Matt: That's hilarious. Snipe: -when they knew I was putting my foot in another cultural mess. That was really, really fun. I learned a lot from that. I learned a lot about teaching. I even got to have a deaf student one time, which was great, except I didn't know-- I used to know or still know American sign language, but when I learned, there weren't any computer-related signs. It was actually a weird barrier that I hadn't thought about. We're like, "Okay, I can sign as I'm talking," but then I'm like, "Wait, do I have to spell all this stuff out every single time? I have no idea." That was cool. Then I started just doing HTML for a company called Cybergirl, which is not a porn site. I always have to clarify that. Not that there's anything wrong with porn, but it was not, in fact, a porn site. It was an online women's community. Matt: Cool. Snipe: They weren't really super profitable in the community itself, so they had a separate part that did websites for clients. I was put on to work mostly with their clients. They had stuff written in ASP, ColdFusion. Because the people who had designed it weren't there anymore, I basically had to learn all of these languages. Also, we only had a part time sysadmin, so when we'd hire someone new, I'm like, "I guess I'm creating email accounts for people now." I became a stand-in for a lot of different roles. Got to play with a lot of different languages, some of which I liked vastly better than others. ColdFusion? Really? [laughs] Matt: ASP wasn't that bad. There was worse things than classic ASP. Snipe: Yes, there are. That is a thing that could be said. That is an opinion one might have. [laughter] Matt: Trying to keep a positive spin on it. Snipe: I would say that all of these languages, the ones that are still around, have come a very long way since then, including PHP. Matt: Yes, yes. .NET is not a classic ASP. PHP 5, whatever. PHP 7 is no PHP 3, for sure. Snipe: Certainly. Matt: Were you using PHP at that point already, then? Was that one your-- Snipe: Yes. That was one I was-- Because I'd already done some Perl stuff, and it just wasn't that hard. One of our clients had a website, I think it was The Bone Marrow Foundation, had their website in PHP. That forced me to do a bit more legwork on it. That was the beginnings, the very beginnings. Matt: At that point, we're probably talking about single-page PHP files for each page. At the top, you've got a common.inc that you're doing your database connections. Then below that, it's just a template, right? Okay. Snipe: Functions.inc and usually some sort of PHTML. [laughs] Matt: God, PHTML, yes. Okay, all right. Snipe: I told you, I am an old, old lady. Matt: Honestly, we worked on a site that still used PHTML and things like four or five years ago. I was like, "I didn't even know that PHP parser is still allowed for this." Apparently, some of these things still stick around. Snipe: Whatever you set as your acceptable file formats, it'll parse. Matt: Yes, you can make it happen. Snipe: I can have a .dot site file extension if I wanted to. Matt: I like that idea now. Jeez. When was the transition? What were the steps between there and ending up where you are now? Are we still many steps behind, or did you get out on your own pretty quickly after that? Snipe: I was doing some contract work. Thanks to a friend that I'd met through IRC. I was doing some contract work for a company out in San Diego. They were an ad agency. This is the beginning of the days when marketing companies were trying to own digital, and they were trying to build up their digital departments. They moved me out there because they're like, "You're amazing, so come on out here and build up our team." I did. I built up their team. We had some really cool clients. We had San Diego Zoo, San Diego Padres, California Avocado Commission. At that time, I didn't like avocados. I was giving away free avocados that I did not like. Matt: [chuckles] Oh, no. That's so good. Snipe: I hate myself now for knowing how many avocados I could have had. [laughs] I got to build lots of custom web apps, all the database-y stuff. That was really fun. I left there, started my own web design company for lack of a better term, where I was basically using PHP, but also pretending like I knew how to design anything at all. Sorry, hang on. Incoming call. Building my own custom applications for people. None of it is really that fancy, but whatever. That was fun. Then I broke my foot. This is before the ACA, and so I had no insurance. Thousands of dollars and a spiral fracture later, I'm like, "Maybe I should get a real job." [laughter] Snipe: I started to work for the San Diego Blood Bank, which was a great gig. It's probably my favorite job. The pay wasn't that great, but my coworkers were great. Your hours were your hours. There was no overtime. If you had to work overtime, you got paid double time and a half, something like that. It was insane. Matt: Especially compared to the ad agency world, which is basically the exact opposite. Snipe: Yes. Yes. There's no amount of blood you can show to prove that you're loyal to that particular market. I ended up moving back to New York and ended up working for the Village Voice for a little while. Matt: Really? That's cool. Snipe: Yes, that was cool. Unfortunately, they had already been bought out by Newtimes, and so they were not the Village Voice that I grew up with, the one that warmed the liberal cockles of my heart. It was actually a crap place to work, to be honest. People were getting fired all the time. There was this one guy, he used to hang out in the archives room with an X-Acto blade and a piece of paper and would just cut at the piece of paper. He was actually scary. Everyone was afraid of him, because that's office shooter kind of crazy. Matt: Exactly, exactly. Snipe: I left there, finally, and worked for another ad agency. That's the one that I was working at when I finally started to work with Snipe-IT. Finally started to make Snipe-IT. For a while, while I was in California, the nice thing about running your own gig back then, because it was like a one-man shop, so I didn't have people that I had to worry about. I got a chance to work with tigers for about a year. It was just exhausting. That was around the time when I was writing my book, too. Working with tigers, commuting four hours a day, coming home stinking like raw chicken and tiger pee. Then working on my book, and then whatever I can possibly eke out for customers. It was pretty chaotic and definitely exhausting, but they were good times. Matt: I don't want to preach too far on this, but I feel like the more of our story that takes us around different aspects of life and different experiences, the more we bring to the thing we're in right now. That's one of the reasons I keep pushing on people having histories before they came to tech or diverse histories in tech. It's not to say that someone who just graduated from college and instantly got a job as a developer is therefore now incomplete, but I think that a lot of what makes a lot of people interesting is what they bring outside. That's true for anybody, right? What makes you different from the people around you makes you different, and makes you interesting, and it makes you have a perspective to be able to bring that the people around you don't. It sounds like you have quite a few of those, at least as you enter into the communities that I'm asking you from the perspective of whether PHP, or Laravel, or anything like that. I don't know where I'm going with that, but anyway. Snipe: [laughs] Matt: That's very interesting to hear. Snipe: I always say I sound really interesting on paper. I'm not really that interesting to talk to, but when you actually look at all the crap I've done, it's like, "Wow. That's kind of a lot." Matt: Right. That is a lot going on. Snipe: It's all weird. Weird stuff. Matt: If I remember right, the book that you wrote was a Wrox PHP book, right? Snipe: Yes, yes. You can still get it on Amazon, but it costs more to ship. Matt: Really? I got to-- Snipe: Actually, I'm not sure. It may just be eBay. The last time I checked, it was selling for $2.95 and costs like $80 to ship. [laughs] Matt: Professional PHP4 Web Development Solutions. Snipe: Yes. Matt: I don't see a Mohawk. I don't know which one's you. Snipe: No, no. Matt: [laughs] Snipe: Yes, I know. Gosh, it's a mystery of the ages, isn't it? [laughs] Matt: All right. Yes. $22.99. Wow. What was your experience like writing a book? Would you do it again? Snipe: Possibly, but I would need a bit more written assurances up front about how-- This is a co-authored book. Basically, we were not given communication information with each other. We were writing these chapters completely independently and it sucked. I offered to set up a bulletin board just so we could-- For some reason, they didn't want us talking to each other or something. I don't know, but I was like, "Because I don't know where this chapter is going to fall, I want to make sure that I'm not rehashing a thing that's already been discussed, or touching on something that needs more information." They never facilitated that. They actually pushed back against it. It was really frustrating. You're literally writing chapters in a vacuum that then have to be cohesive when you string them all together. I would need to know if it was going to be a co-authorship. I would need to know that this will truly be collaborative. Because the way it looks on the cover, it looks like we're all hanging out. No, I don't think I've ever spoken to those people ever. [laughs] Matt: Wow. Jeez. Snipe: It's really weird. It's really weird. I did not like that. I thought that was really just not a way to give the best experience to the reader. If I was going to collaborate, I would have to make sure that there was something like that. I've toyed with writing a couple of books over the last few years. It is also a bit of a time suck. Matt: Yes, it is. My perception, what I've told people in the past is that people often ask me, "Should I write a book with a traditional publisher like you did?" Because mine was with O'Reilly. "Or should I self-publish like a lot of the people in our community have?" My general perception has been, if you want to make money, self-publish. Snipe: Definitely. Matt: If you want reach that's outside of your current ability, then consider a traditional publisher. You've got quite a bit of reach and I wonder whether it's-- Snipe: This is like 2003, though. Matt: I don't mean for them, but I mean now. If you're going at it now. It seems like there'll probably be less of a reason for you to do a traditional publisher at this point. Snipe: I don't know, though. I still kind of O'Reilly. Matt: You still like it? Snipe: Being a published O'Reilly author, I still toy with that, honestly. Matt: I tell people I got a degree in secondary English education, basically. This O'Reilly book is my proof that I'm actually a real programmer. Snipe: [laughs] You know what? Honestly, that was really important to me back then. Snipe: Me too, really. Matt: I don't know where things would have gone, I don't know if I would have-- I probably would have stuck with it because I really, really liked it. I think that gave me a bit of confidence that I really needed. Proof, again, because I didn't graduate college. I nearly didn't graduate high school because of the programming class. [laughs] It was a way for me to say not just to the rest of the world, but to myself, like, "Hey, I actually know what I'm talking about." Matt: You can't underappreciate just how significant that is. I love that you said it. It's not just to everybody else, it's to you, too. Snipe: More than anyone else, to myself, honestly. I don't care what you guys think. [laughs] Matt: I spent several thousand hours writing a book with a major publisher so that I can overcome impostor syndrome. It's totally worth it. [laughter] Snipe: I still have it. That's a thing, I have it. Matt: I still have it, but maybe a little less. Snipe: At least if someone actually pushes the impostor syndrome too far, I'll be like, "I wrote a book. What have you done?" Matt: Exactly. Snipe: Meanwhile, I go off and rock in the corner as if, "Oh, my God. I don't deserve to be here. I don't deserve to be here." Matt: Exactly. It certainly doesn't make it go away, but maybe it's a tool in our arsenal to battle it. Snipe: That's a very good way to describe it. Matt: I like it. Snipe: I would need that to be a bit more of a tighter process. Matt: Well, if you decide to write with O'Reilly, I know some people. Just give me a call. Snipe: [laughs] I also know some people in O'Reilly. Matt: I was just going to say I'm pretty sure you don't need me for any of that kind of stuff. I just had to say it to try and seem like I actually matter, so this works. Snipe: Of course, you matter. Matt: I matter. Snipe: I got up early for you, Matt. I got up early for you. Matt: That's true. Snipe: You don't have any idea. Matt: That's true, this is quite early your time. I appreciate it. Snipe: [laughs] Matt: I'm trying to not talk forever. I'm trying to move us on even though I'm just my usual caveats, everyone take a drink. You eventually started Snipe-IT. I think we skipped a couple of things. We were talking about you becoming the CTO of the ad agency and being in a place where you needed to manage that kind of stuff. You started Snipe-IT. You now have a remote team. Could you tell me a little about the makeup of your team, and what it's like running a remote team, and the pros and cons you've experienced, and anything else that you would want to share about what that experience is like for you? Snipe: Well, I'm really lucky, first of all, because although our team is remote, we're all also local. We can actually see each other, we'll go out and have beers when we hit a major milestone. We'll go out and have some champagne and celebrate that we do get to see each other's faces. Also, we were friends first, so that helps. It's totally, totally different. If you're looking for advice on how to run a real remote team, that I can't help you with. I can't tell you how to manage your friends through Slack, though. [laughs] Matt: Basically, you and a bunch of friends live like an hour driving distance to each other or whatever and choose to work from home? Snipe: More like seven minutes. [laughs] Matt: Jeez. Snipe: Yes, yes. Matt: Okay, so this is really just like, "We just don't feel like going to an office," kind of vibe. Snipe: It's pants, it's pants. I'm not putting on pants. I've worked too hard in my career to have to put on pants anymore. There is a reason this isn't a video call, Matt. Seriously. [laughter] Matt: I wish that this was one of the podcasts-- Snipe: I think I just made Matt blush, by the way. Matt: I wish this was one of the podcasts where they name each episode, because that would have been the name right there for this episode. I might have to, just for this one, just give it a name just for that. Okay. I hear you. I get it. Snipe: The thing is I hadn't actually planned on hiring when I did. The reality is I should have, because I was really buckling under the helpdesk. That customer support load was a lot. It was causing me a great deal of anxiety. Looking back at it now, it was really untenable. Of course, I think that I'm 10 feet tall and bulletproof, so I'm like, "I got this. I got this." Meanwhile, it's four o'clock in the morning and I can't even see straight anymore. I ended up having to hire someone for a personal reason. She's actually worked out great. She's an absolute rock star on the helpdesk. She's never worked a helpdesk before, and she owns it. It's actually really, really great. Once I'd hired her, I think-- The onboarding takes a little bit. Especially, literally never worked a helpdesk before, so it's not just onboarding with my company, it's like onboarding the entire concept. As soon as she got her footing, she just completely handled it. It was really great. The next hire was a developer/sysadmin that I've known for a while. He is just fantastic. He's actually the harder one because he, I think, requires a little bit more structure, and a little bit more face time. I need to be better. I do. I need to be better about working with that because in my head, I'm still managing this the way that I want to be managed. I forget that that's actually not my job anymore. Matt: People are different. Snipe: Yes, people are different. Also, not everybody wants what I want. Frankly, it doesn't matter what I want. Ultimately, that's no longer a luxury that I have, caring more about how I want things to go for myself. That priority has shifted, and so I'm having to painfully learn [chuckles] that lesson. Not painfully. I love my entire team. They're absolutely amazing. I'm super, super grateful for them every day that goes by. Every time one of them takes vacation, we all hold on to our desks. We're like, "Okay, we can get through this, we can get through this." It's a learning curve, certainly. I've run my own small business, I've run dev teams. This is a different thing though, because the reason why I wanted to make this a company instead of just running this as a side project is because I've worked for tons of shitty companies. I want to build the company that I wish I'd worked for. Matt: I'm so sorry for doing this, but I was doing that thing where you're hearing somebody talking and waiting for your chance to talk. I literally was about to say Dan and I, when we started Tighten, the first thing we said was, "We want to build the company we want to work for." You just said and I'm like, "Exactly." That introduces the problem you're talking about, which is you just assume everybody wants the same things you want. It also means nobody else gets to force you to put people through things that you wouldn't want to be put through. It's an incredible freedom if you can make it profitable. Snipe: Yes. Absolutely. Getting to institute stuff that I think is really worker-friendly. We all make our own hours. We have office hours so that when Victoria's handling the helpdesk, she's got access to the text that she needs during a certain amount of time. In general, she's got a kid. We have to have that flexibility, so that she-- Honestly, she just lets us know that she's going to pick up her kid. It's like, "Okay, cool. See you back in half an hour or whatever." Vacation, she had not had a real vacation in probably 10 or 15 years. Last year, we were like, "You are taking vacation." She kept checking into Slack. I'm like, "Girl, I will actually revoke your credentials." Matt: [laughs] Exactly. Snipe: Do not play with me. Matt: I love it. Snipe: This year, I've decided that there's two weeks basically mandatory vacation, and we're going to put $3,000 towards each person's vacation funds- Matt: That's cool. Snipe: -so that they can actually go and do something awesome, and relaxing, and not stress about money while they're there, and just get to go and actually enjoy things, and come back refreshed and ready to work. It's pretty cool being able to come up with stuff like this and really like, "What would I have needed?" Because when I was working at the ad agencies especially, I would accrue my PTO. Honestly, that's why Snipe-IT existed. It was because I had two and a half weeks, three weeks of PTO that was not going to roll over. They made me take vacation in November. They wouldn't let me do it in December. They made me do it in November, and I was like, "Yes, three weeks of just relaxing, playing video games." That didn't work. I accidentally the product. [laughs] Now, I accidentally the business. Matt: That's awesome. One of the things I often talk about as an entrepreneur, as a business owner is something that I think people are scared of talking about, which is power. Because being a business owner means you get to hire, you get to figure out how money is spent, you get to figure out what pressures are and are not put in the people you work with. I call that power, but I think power doesn't have to be a scary word because, really, what matters is what you do with the power. When we hear power as a negative thing, it is usually because the people on power are benefiting themselves. I think that something is really beautiful, and wonderful, and we need more of in the world is when we can see power as a positive thing, because people get power and then use it for the benefit of other people. I just want to applaud and affirm what you're doing, because you just described that. It's like, "I got power, and the first thing I did was work to make other people's lives better understanding what the situation that they were in was." I love hearing that. I'm really glad that we got to talk about this today. Snipe: Well, thank you. I'm looking forward to coming up with more stuff like that. Matt: I love it. Snipe: It's super important to me. Our customers are incredibly important to us, obviously, but my staff is as important. You can't have one without the other either direction. Matt: In the end, they're just both people who you work with. The hope is that you're able to make both groups of people really have lives that are better because they had a chance to interact with you. Snipe: Yes, absolutely. Matt: Okay. We are almost out of time. I asked people at Tighten if they had any questions for you. They gave me a million, and I haven't gotten any of them. They're all going to be mad at me, so I'm trying to look at the one that I could pull up that won't turn into a 30-minute long conversation. Snipe: I'm Italian. There is literally nothing you can talk to me about that won't turn into a 30-minute conversation. [laughs] Matt: All right. I'll literally go with the question that has the least words in it and see if that gets us anywhere. Coffee or tea? Snipe: Red Bull. Matt: There you go. See how short that was? All right. Snipe: This podcast is sponsored by Red Bull. [laughter] Matt: It's so funny that it's been the thing at Tighten for the longest time, where those of us who started the company and the first hires were primarily coffee people. There's one tea holdout, but over time, the tea contingent has grown. Just within the last nine months, we hired two people who are Red Bull addicts. All of a sudden, we're shopping for the company on-site and they're like, "Orange Red Bull, no sugar, energy, blah, blah, blah." I'm like, I have a course in Red Bull flavors. Anyway, I still think it's pretty gross, but I did try some of them. Snipe: It's disgusting. No, it is utterly vile. It is really, really gross. [laughter] Matt: I don't get it. Please pitch me on why I would drink red Bull instead of coffee then. Snipe: No. If you don't drink Red Bull, then there will be more for me. First of all, I'm not going to pitch that. Matt: World's dwindling storage of Red Bull. Snipe: Obviously, we buy our stores out of local Red Bull, it's ridiculous. We have a main store, and then we have a failover store. Listen, you don't drink it because it tastes good. It tastes like dog ass, but it wakes you up. It keeps you awake. It feels the same role that coffee does, and frankly, I don't think that coffee tastes that good. Matt: Okay. Fair enough. Snipe: I can ask the same question to you. Matt: Right. For you, it's a combination. You don't like the flavor of either, but one of them you can buy in bulk and throw in the fridge? Snipe: Yes, yes. Matt: Got it. I get that. I love the flavor of coffee, but I'm like a geek. I have all the equipment, and all that kind of stuff. Snipe: Of course, you do. [laughter] Matt: Am I predictable? I am predictable. Okay. Snipe: I will neither confirm nor deny. My lawyer has advised me. [laughs] Matt: Not to make a statement on this particular-- I have one more and I'm praying that I can make it short, but I probably won't. You are a member of the Laravel community. You use Laravel. You share things every once in a while, but for someone who is such a big name, who's a member of the Laravel community, much of your popularity is not within the Laravel community. You're not popular because you're speaking at Laracon, you're not creating Laravel packages that all the people are consuming. It's this interesting thing where you're a very well-known person who uses Laravel and is a member of the Laravel community but is not necessarily gaining all that fame within Laravel space. It's an interesting overlap. As someone who does have exposure to lots of the tech communities, you're in the InfoSec world, you've been in PHP for a while, but you're also solidly Laravel. Do you have any perspectives on either, maybe the differences between InfoSec and PHP, differences between InfoSec and Laravel, and/or is there anything that you would say to the Laravel community, or things you'd either applaud or hope to see grow? Is there anything you just want to say about the way Laravel compares, or connects, or overlaps, or whatever with the rest of the world that you're in? Snipe It's always an ongoing joke in the InfoSec community. PHP developers are pretty much the easiest punching bag in the InfoSec community. Matt: And everywhere else. Snipe: In fact, I think just yesterday, I submitted an eye-rolling gift in relation to someone at InfoSec, bagging on PHP developers. I get it. When the language first came out, it was really easy to learn. You didn't need to have any knowledge of programming, or discipline, or best practices. There were no best practices for quite some time in PHP. I totally get that. The thing is that that's not really the world that we live in anymore. It's actually hard to write a PHP application without using a framework these days. Because the frameworks are so much better and it's so much faster, that for me, I'm pretty sure I could still write a PHP application without a framework, but why the hell would? If I ever have to write another gddmn login auth routine, I'll kill myself. I will actually kill myself. Comparing InfoSec to PHP or Laravel is like comparing apples to orangutans. They're entirely different animals and there is a little bit of overlap, but typically not. In general, PHP has a bad reputation in InfoSec. In fact, I will tell you a very brief story about how I got into InfoSec. This one's always a fun one. I used to run a nonprofit organization when I moved to California the first time. It was basically like Megan's Law for animal abusers. Criminal animal abuse. I would pull in data, break it down statistically based on a couple of different pointers like domestic violence connection, blah blah blah blah blah, and basically run statistics on that stuff. This was going back a very, very long time when nobody really knew or gave a crap at all about AppSec. At one point, my website got hacked. The organization's website got hacked. I am literally on my way to speak at a conference in Florida, an animal welfare conference. I'm checking in. I'm like, "Hi, I'm Alison Gionatto. I'm a speaker." She goes, "You're petabuse.com. That's great. I'm so sorry to hear about what happened." I'm like, "I've been on a plane for a couple of hours." I'm like, "Wait, what?" [chuckles] I run to my hotel room, and somebody has defaced the website with an animated GIF, and a song playing in the background which was basically a clip from Meetspin, and they linked to Meatspin. If any of your listeners don't know what Meatspin is- Matt: I don't. Snipe: -please do not Google that. You can google it, but have safe search on. Matt: Is it like Goatse kind of stuff? Snipe: Yes. "You spin me right round, baby, right round" playing in the background on autoloop. To this day, when I hear that song, I shiver a little bit. Matt: Trigger, yes. Snipe: Exactly. I ended up actually talking to this guy who thought that we were a much bigger organization than we were. He was trying to extort money, of course. I was like, "Dude, you have you have no idea. We get like $800 in donations every month. You are barking up the wrong tree." He's like, "I thought you were bigger. I'm sorry, but it is what it is." I toyed with him long enough to figure out what he had done. The thing is, this is on a Cobalt RaQ server. First of all, we're going back. Second of all, those are not exactly going for their security, but it was what I could afford. Honestly, it's what I could afford. I figured it out, I locked him out. I did leave him one final kind of F you text. [laughter] Snipe: Just so that he knew. That was how I got into this in the first place was basically a horrific, horrific internet meme and the defacement of my organization's website. Again, this is 2004, 2005. Application security became really important to me, and that’s why I’m here. [chuckles] That’s why I go to DEF CON. That’s why I speak about application security and security in general. To get back to your original question, there isn’t really an overlap. There is this disdainful relationship, for the most part, coming from both directions because InfoSec people don’t typically treat programmers in general very well, but especially not PHP developers. PHP developers are tired of getting shit on, and so they don’t necessarily treat-- It becomes a bit of a self-fulfilling-- Matt: Impostor, yes. Exactly. Snipe: Honestly, it’s all just a bunch of dumbass egos and it's stupid. If we would just talk to each other a little bit more, we'd probably be a little better off. Matt: Come on, somebody. You’ll be surprised to hear that I could talk about InfoSec and PHP for an hour, but we’re out of time. I don’t know if I’m going to have you back sometime or I don’t know what, but this’s been amazing. I really appreciate you spending some time with me. Before we cut off for the day and I cry because of all the topics I’m not going to cover, is there anything you wanted to talk about? Anything you want to plug, anything you want to cover, anything you want to say to the people that we haven’t got to cover today? Snipe: Nothing that really comes to mind. I am still really passionate about AppSec. If you’re using a framework and you’re not utilizing all of the security stuff that’s built in already, specifically Laravel is really good with that. I've had write some Middleware to add some additional CSP headers and things like that. If you’re already paying the price, the overhead of using a framework, then freaking use it. Actually use all of the bits that are good, not just the bits that you don’t feel like writing. Laravel makes it really hard to avoid the CSRF tokens. You’ll actually have to go out of your way to disable those. I like that about Laravel. I like that it's opinionated. I like that it doesn’t want you to screw this up. That said, any developer left to their own devices sufficiently motivated will still screw it up. Matt: Will screw something up, yes. Snipe: Yes, Exactly. Frameworks like Laravel, I think once that are headed in the right direction, so your default login already uses bcrypt to hash the password. You would, again, have to go out of your way to write something that would store something in cleartext or MD5. I think it’s a step in the right direction. Use your frameworks, learn what their built-in security functionality is, and use them. Matt: Use it. [laughs] Snipe: One of the packages I’m actually writing for Laravel right now is an XSS package which will basically walk through your schema, and will try and inject rows of XSS stuff in there so that when you reload the app and if you got to any kind of functional testing or acceptance testing setup, you’ll be able to see very quickly what you've forgotten to escape. Matt: I love it. Snipe: For a normal Laravel app, that's actually hard to do because the double braces will escape everything. For example, if you're using data from an API, maybe you’re not cleaning it as well or whatever. That’s one of the packages that I actually am working on. Matt: That’s great. Also, if you're using JavaScript, it's really common for people to not escape it, and so that all of a sudden, they forget to clean it. Snipe: Exactly. I wanted one quick way to basically just check and see how boned I was. That'll be fun. Matt: Yes. Does it have a name yet that we can watch for or would you just link it once you have it? Snipe: Well, the only name-- You know how the mocking data packages called Faker? You can imagine what I’m considering calling this that I probably won’t call it? [laughs] Matt: Probably won’t, but now we can all remember it that way? Yes. Snipe: No promises. Absolutely no promises is all I'm saying. [laughs] Matt: Assuming it’s safe for work, I will link the name in the show notes later. If not, you could just go-- [crosstalk] [laughter] Snipe: Again, no promises. Matt: I like it. Okay. You all have taken enough drinks, so I won’t say my usual ending for you to drink too. Snipe, Alison, thank you so much. Thank you for the ways you have spoken up for a lot of things that really matter both in this call and our community as a whole. Thank you for hopefully helping me but also our entire community get better going forward, but also the things you brought to us in the past in terms of application security. I don’t know why I didn’t say this earlier, but Mr. Rogers is maybe one of my top heroes of all time. That was what was going through my mind when you were talking about running your company. Thank you for being that force both for running companies that way and taking care of people, and then, of course, by proxy for just the people who you're working with. The more people that are out there doing that, I think the better it is for all of us. This has been ridiculously fun. If anyone wants to follow you on Twitter, what’s your Twitter handle and what are other things they should check out? That URL for Snipe-IT? I will put all of these in the show notes, but I just wanted you to get a chance to say them all at the end. Snipe: My Twitter handle is @snipeyhead, because @snipe was taken. I'm still pissed at that guy. [laughter] Snipe: The URL for Snipe-IT is snipeitapp.com. Not very creative. All of our issues are on GitHub. Your pool of requests are welcome. [laughter] Snipe: As always. Matt: Nice. Snipe: It is free. If it helps you solve some of your problems at your organization, we would love for you to try it out. If you'd like to give us money, that's awesome too. Ultimately, the more people who are using it, the better. Matt: Nice. Okay. Well, thank you so much for your time. Everyone, check out the show notes as always. We'll see you again in a couple of weeks with a special episode. I'll tell you more what it is when that one happens. See you. Snipe: [chuckles] Thank you so much, Matt.