I am Jeffrey Way. Ask me anything.
Jeffrey Way is the owner of Laracasts.com and is an influential voice in the web development community. He is a co-host on the official Laravel podcast, has written a number of successful books, built popular packages, contributed to many open-source projects, spoken at every Laracon conference, been a guest on countless podcasts (including PHP Town Hall, Shop Talk, No Capes, and Full Stack Radio), and has contributed to the largest web development magazines in the world.
Shoot any questions you want Jeffrey to answer!
Why am I so much better than you at Rocket League? 😇
You're not. If we consider the way things are going, the reality is that I've been the better player for weeks now. Yes...a month or two ago, when I was still learning, you won a number of games. I commend you for that. But that was the past, and I'm the type of guy who looks at the most recent games.
Like I explained to you on Telegram, even when you do manage a win, it's typically due to cheap scores that could happen to anyone. When I score, on the other hand, I'm leveraging complex decision making skills that you're simply not capable of replicating.
But honestly man, I don't want to take anything away from you. You're an excellent little player. But there's a new sheriff in town.
I love your videos and you are my guru for laravel and vuejs, thanks for that.
Few questions, hope you won't mind..
- What software and hardware tools you use while recording for laracast videos and podcasts ?
- How long it took for you to be in this position after your professional education?
- How many hours you worked per day/week when you at startup and after success of Laracast?
- What is your worst failure(s) in your career, after education?
- Are you simultaneously recording the video and audio for Laracast?
I use a Rode NTG-2 mic, Screenflow for recording/editing, and Auphonic.com for podcast audio processing. The latter is used for all Laravel Podcast and Laracasts Snippet episodes.
I dropped out of college in my second year. Not to discredit those who got a lot out of their experience, but it wasn't right for me. Leaving was the best decision I could have made. I've been coding for 11-12 years at this point, but, even after all that time, I'm very aware of how little I actually know about programming.
I do about a 8-10 hour day Monday-Friday. On the weekend, I'll also try to sneak in an hour or two. This really helps me manage the rest of my week. Otherwise, emails pile up and I get overwhelmed.
Nothing specific is coming to my mind at the moment. Rather than any huge colossal failure, I've made countless little embarrassing mistakes. Accidentally auto-sending a user fifty duplicate emails...stuff like that.
Yes. I would never recommend doing them separate.
Hey Jeff, I'm curious to know in your opinion what's the single most important book that a software engineer should read? Thank you!
I've honestly benefited far more from studying open source projects. When I was younger, I rarely did this. Not sure why. Maybe I was scared of being overwhelmed by the complexity.
But, seriously, if you want to be a better developer, there's no short cut. Write and read a lot of code.
If I had to pick one book, though, it might be "Clean Code."
What motivated you to start Laracasts? How did you get initial subscribers and traction?
Before Laracasts, I was in charge of the web development branch of an education site, Tuts+ (you might remember a site called Nettuts+). Around 2013, I had been with the company for a number of years - and was ready for a change. It's not good to stay in one place for too long - especially if you notice that you're no longer learning anything new.
I launched Laracasts because:
- I was certain that Laravel was the next big thing, and wanted to help push it.
- I wanted to be the sole decision maker for a product, for better or worse. It's not fun debating a team of people for weeks, every time you want to make a change to your site.
Because I spent so many years building up Nettuts+, I was lucky enough to have built up a sizable number of Twitter followers/friends. As a result, Laracasts became profitable on day one.
Hello, Jeffrey Way) Many people think that huge projects can't be well developed with php and developers should use java, asp.net, bla,bla... instead. What is your personal opinion about that?
A wish feature in laravel??
Hmm, so many of my wishes have been implemented at this point. Laravel is incredibly well-polished these days.
Do you have any step by step guide to makes us great developers like you?
- How do you choose what lesson / series to work on next? Do you have any rules, like how many people will benefit from it or how many people requested that topic?
- Will we ever see a "Build an API with Laravel / Lumen from scratch" series similar to "Build your first app" series where you show us not-so-popular tips and tricks?
- Have you ever thought of building a quiz / test system after each video so people can test their knowledge and see what they've learned from the video?
- Have you ever thought of making videos for explaining other concepts like planning, database design, maybe explaining some agile methodologies / practices outside of the coding world etc. stuff that is connected to web development in general?
- How would you go about component based features in Laravel? What I mean is, being able to turn on and off features without touching the code. Similar to how you can do that with including / excluding modules in Angular.
No rules, really. Generally, I like to have two or there series going at once. That way I make each skill level happy. Often the content will reflect what I'm currently spending a lot of time on. For example, in the last month I've been creating a number of graphs for the business subscriptions on the site. So that's why there's a charting series in progress. https://laracasts.com/series/charting-and-you
Yep, it's on my list.
It turns out that, the longer a series is, the more likely it is that viewers will taper off. People simply don't have the attention spans. So it's tough.
Yes, but it all comes down to time and where my energy is best put. Right now, it's not on a quiz engine.
Yes. In fact, a Database Design series is coming in May.
I am exploring starting a business. How did you go about it (in reference to dealing with account, taxes, paying yourself, etc)? How do you keep business finances separate from personal finances? What software do you use to manage the business end of things?
Frankly, it sucks.
I launched Laracasts with a business checking account. That's it. People have a tendency to worry about this stuff way too much...before they've had a chance to determine if the world even cares about what they've just released. Hit deploy, get it out there, and then you can play catch up on the business end.
However, my advice would be:
- Once the business has proven itself, get an accountant fast - and a good accountant. Don't go to the random local guy next to the grocery store. Find a big team who will take care of you. They will also guide through the formalities of incorporating the business (if that's the right way for you to go), and a number of other requirements that you may not know about.
- Don't stress yourself out too much. Do one thing at a time.
Laracasts subscriber and former NetTuts+ subsbriber here.
Do you work on projects -- i.e. freelancing -- outside of your Laracasts work? Are you at a state where Laracasts is your main source of income?
Hey, Mike -
I don't do any freelance or contractor work at this point. Laracasts requires the majority of my time. But, yes, I work on a number of other personal and open source projects. For example, this last week, I've been prepping the next release of Laravel Elixir, which I maintain.
Hi! Just curious.. How and when did you meet Taylor?
I met Taylor right when he launched Laravel 3. I was still learning the framework, and he was nice enough to offer any assistance that I needed. This was back in the days when there was a dedicated Laravel.com forum.
He's a good guy. Struggles with Rocket League a bit, but I try to look beyond that.
If you don't mind sharing, what are your productivity hacks? How do you get rid of mental blocks when starting a new project/feature etc.?
Hmm, productivity hacks...
- I set the key-repeat setting for my Mac very, very fast.
- I use Dash's text expander functionality all the time - particularly when answering emails.
- I create tasks for everything. My life doesn't work without them. Maybe it's because I'm getting older, but if I don't write an idea or todo down in Wunderlist, I will 100% forget about it.
- I'm a big advocate for mastering every inch of your code editor. Don't simply learn the basics; harness every inch of productivity you can get out of it.
- I try to automate any task that I find myself repeating over and over.
- I never touch the Mac dock. I "ctrl+space" everything.
Praise: I am a huge fan. You have molded not only my knowledge, but my way of thinking as a developer. Many thanks.
Question: My biggest insufficiency as a developer right now: I feel like I am in this niche of Laravel developers using Vue. I bet there are many like me who watched your series, loved what they saw, started using Vue as a jQuery replacement, learned more and used it more and more. Now our apps use Vue components mostly and call on the server via api endpoints from our routes. I feel like I am working between two paradigms. If I had started with an SPA and used laravel for the backend I'm sure I wouldn't feel this way, but I feel like I'm in an awkward place architecturally. (it also doesn't help that there is fairly limited info out there about vue patterns and architectures compared to laravel)
I know that's vague, but hoping you can provide some insight / direction because I'm sure you've heard this before or experienced it yourself. I am also sure I am guilty of one of your snippets: "taking it too far is a right of passage"
How do you manage all the "legal" stuff at Laracasts? Privacy, terms, trademark, business registration, accounting, taxes and so on.
There is so much choice out there for everything "Front end Framework" "Back end Framework" "Librairies" etc etc.
How can one make a choice between for example VueJS, EmberJS, AngularJS, ReactJS, those looks all good tools ?
What do you consider when making such choice ? Is it API, Community, Documentation, Long Term Support ?
What are your advices for us ?
It's tough. The good news is that they're all great tools - so this is a good problem to have, compared to 2006.
As for what I consider when picking a tool:
- Does the API and usage examples fit my brain? Do I understand the basic idea almost instantly?
- Does the creator(s) of this tool invest a lot of their energy into it? How actively is it committed to on GitHub?
- Is the design of the main website attractive? This matters.
- Documentation must be superb.
Hi Jeff !
- Which Laracasts video /serie was the hardest to create and why ?
- Do you plan to extend Laracasts topics like sys admin / mobile or other programing languages ?
- What's for you the hottest thing in tech right now ?
- Hmm, usually the ones where you build an app from scratch end up being incredibly difficult. In real life, you spend 100+ hours building an app. Condensing that down to two for a video series is very tough.
- Laracasts will always remain focused on one type of developer. The minute I start teaching, say, iOS development, I'll instantly alienate the core community. Not gonna do that.
- I'd leave my wife for Vue. http://vuejs.org
At what point did you decide to Incorporate Laracasts? Did you come up with the idea first and then after it made money incorporate or was it planned from the beginning? What made you choose Inc. over LLC or other structures for Laracasts?
I launched Laracasts as a sole-proprietor. No use in forming an LLC, if nobody wants to buy what you're selling. I say "get it out the door first" -- especially when it's just you testing a business idea online.
My accountant advised me on the most ideal option for incorporating. This is why it's very important to pick an excellent accountant. They'll help guide you...and pay for themselves so quickly.
I have only one question, I work on big project based on Laravel and my problem is the organization. I have a lot of controllers and models and sometime I cannot find what I am looking for...
I have few questions, thanks for your time.
I saw that you start with Ruby and RoR, why did you change to PHP?
Have you give it a try to NodeJS and what do you think of?
Which software do you use to keep yourself organised (workflow)?
Do you think that the full stack MeteorJS is really the future? (many people think that)
If you should build a big SPA, which framework would you use and why? VueJS, React, Aurelia, Angular, Ember, ...
You do awesome work, keep it up!
- I still have a project or two that uses Rails. I have no complaints; it's great. PHP gets a lot of flack, but I honestly don't have too many complaints these days.
- Yes, I use Node a good bit. It's fine; not a huge fan of pulling in packages for every possible piece of basic functionality, but oh well.
- Wunderlist is my main organization tool. Everything goes in there.
- I've never used MeteorJS, so it's best for me to not weigh in. I'll say I don't hear people talk about it as much these days...
How did you first get into teaching? Do you have any recommendations/advice for anyone who wants to get into the world of making online courses/tutorials?
Mostly by accident. I used to have a blog called "Detached Designs," where I would document everything I learned. Back then, it was less meant to teach others, and more to educate my future self.
I'd finally understand a particular concept, and would instantly write a blog entry. It turns out that people actually read these articles. One day, I learned that 400 visitors had visited my blog. These days, Laracasts has millions of visitors each month, but back then, 400 in one day was unbelievable. I was hooked.
As for advice:
- Teach what you're passionate about.
- It's okay if you're not the best developer in the world. You still have value to those just below you.
- Don't waste the viewer's time. No need to spend the first five minutes explaining what could be done in twenty seconds.
How many paying customers does laracasts have? :) Is Laracasts your fulltime job or do you also make any freelance work?
Hello Sir Jeff, am one of your students from laracast, you are a great educator I commend you from that.. My question is, what things are needed to be a competitive web developer... or what tools i must be equipped of.. Thanks
More important than the languages or tools is experience. There's no substitute. Build toy projects constantly - even if you delete them the following week.
Laracasts is one person, teaching one type of developer. While it's great that Lynda teaches the internet everything, well.. that doesn't really interest me much.
Hi Jeff I've been using Docker with Laravel a lot lately and one thing I've noticed is there isn't a whole lot of information out there about it but a handful of people asking about it.
What are your thoughts on Laravel + Docker? Is this something you foresee being covered on Laracasts? If not, would you like to see it covered by someone?
I'm really impressed with the content you put out on Laracasts and you seem to be having a lot of other things going on. Right now I'm working on a rather big project, but I keep on getting sidetracked with new things I seemingly need to learn before I can move ahead. On one hand, I'm extremely impressed with the things I've learned in the last months, on the other hand, seeing how much actual useful progress I made towards "getting it done" is just depressing. At night I still feel anxious because I feel like I still have so much to learn, it just never stops. But learning isn't bringing any money in the bank. Right now I feel like I need to choose between staying on top of the game or getting things done, but how do you ever build something great that way?
I'd like to know how you personally organise yourself to get things done while still moving forward at the pace you do.
Hope I'm making sense, thanks for taking the time!
I did a whole conference talk last year about the extent to which developers are overwhelmed. You're not alone, if that helps.
You're never going to build the perfectly architected app. So don't pause your work, simply because you think there's more to learn first. Developers fall into this trap a lot, so be careful.
Give yourself a launch date for any side project you're working on, and force yourself to meet that deadline. It won't be perfect, and that's okay.
Hi Jeffrey i am a guy you inspired to change career some years ago, and i really want to thank you :-)
So i haven't only become a developer but i really love to share my knowledge like you do with other smart people. I run a couple of meetups and apart from my daily pro routine i really struggle to support a side-project (100% on my own, sounds familiar right?) with short js tutorials here angularjs-recipes.com. I am pretty sure that i am not going to make this for a living but i really want to offer a platform with useful content for others out there. What would be your advice?
Will Spark power Laracasts once it is released?
Will Spark be covered on Laracasts?
Are you excited about Spark? Personally, I'm ready to get my hands on it!
- No - but only because I've already built that functionality. If I were building Laracasts from scratch today, I would use Spark.
- Yes. Taylor is recording a series himself. It'll be available to watch the day Spark is released.
- Of course! I'm also looking forward to studying the source code. Always fun to see how others structure things.
Hello Jeffrey. Thanks again for everything you've done for my skillset and career.
Why do you seem to switch between Vim, Sublime Text, and PHPStorm so often? You produced the series on "Being Awesome in PHPStorm," and seemingly stopped using it soon after.
If you are supposed to remake laracast website then which technology would you use in frontend? React? Angular? or Vue?
Why is Vue somuch famous in laravel world instead of react?
Great job on dropping knowledge over numerous platform (vuejs,laravel, php in general), here are some questions that I am curious about:
1) With so many types of series that you have produced or want to produce, are you going to have another developer(helper) make the videos over a pre-scripted plan that you give them to put out more videos? (ever though of doing that so that you can cover more lessons?) 2) You have went from Sublime, PhpStorm, and vim (mvim technically) - In a previous video on phpstorm where you have mentioned to not ditch sublime, how come you have decided to mostly produce your videos in mvim now more than ever. 3) What is your thought process in order to debug code? dd() everywhere? xdebug? Or do you hope that BDD and TDD helps you prevent bugs.
I have no plans to bring on a second teacher. I think part of the charm of Laracasts is that you get one point of view on programming. You're not inundated with fifty different people providing conflicting advice.
They're all excellent choices. Like anyone else, I toy around with my editors. I've used Vim for a long time now, so often reach for it. But, if I find myself doing a lot of refactoring-heavy work, I'll reach for PHPStorm. I ensure that each editor uses identical keybindings, so that helps a bunch.
- I write lots of tests, and have no shame over using
Hi Jeff. What is your Recommendation for learning TDD, BDD? any resources? And how to implements them in PHP and Laravel. And What about Design Patterns? And what your favorite JS framework?
There are a few videos where you show a little bit of Laracasts source code as example. I am sure I am not the only one who willing to see your code in action.
I know asking for Laracasts code will be too much, but what about the forum? I am sure users will learn a lot reading the code. Any plans about open sourcing it? Or at least a few videos (or serie) about how it internally works, troubles you found, stages...?
Do you plan to do PHP fundamentals or JS fundamentals type of series in Laracasts? Laracasts may be more focused on specific things. But I'm curious because that PHP fundamentals series you did in Tuts+ was amazing. I don't wanna learn JS from anybody else.
What is the best way to learn programming language ? And how you started learning programming language ?
Where could I find more "patterns" like this? (https://laracasts.com/series/whip-monstrous-code-into-shape/episodes/1, https://laracasts.com/series/eloquent-techniques/episodes/4).
Are they a thing or it that something you made up over time?
That query string lesson you linked to is just some code I whipped up. There's no pattern in place there, other than "construct simple code." The former lesson you linked to is about form objects, which a number of developers have written about.
Pick up a general design patterns book, and do your best to work through it. They're a lot to take in, but you'll pick up some tips. Just be careful of taking them too far. Design patterns are meant to help you...they're not intended to lock you into uncomfortable architectures.
Which are your advices for those who want to become a great teacher?
- Don't use big words to sound smarter.
- Don't assume the viewer knows something they don't.
- Don't waste the viewer's time. Get to the point.
- Don't paste in massive blocks of code. Write it out, and explain what each line does.
- Show some level of passion for what you're teaching.
Do you write detailed scripts for your videos, or do you hit the ground running with only a rough outline?
Hey jeff , i know you might be tired already typing so many answers but i need your guidance so let's get to the point: I'm 19 year old , started learning PHP last year after that came across laravel ,first and only PHP framework for me. It's insanely awesome. Have developed 2 webapps in laravel since then from scratch , a gym management system and an onboarding system for online store. Obviously Laracasts was the key for me. The question is where to go from here? What should I learn? JS in more depth then Vue? Or stick to PHP? I am still weak in object oriented programming. What practises should i follow to strengthen it? What steps should a 19 year old like me follow from here to be a good developer ? Hoping for a perfect Jeffrey way opinion like always :)
Hi Jeffrey - I'm a student who will graduate university with a B.S. in computer science. I love writing code (particularly Laravel). If there was one tip you could give a prospective graduate looking to enter the world of software development - what would it be?
Never let anyone convince you that simple, clear code is undesirable or unmaintainable.
There's that famous comic that shows how a 1-year developer codes a "Hello World" app, versus the 2-year, 3-year, 10-year, etc. The basic idea is that the design of the application becomes increasingly convoluted and complex until a certain tipping point, where the developer has enough experience to realize that the basic, simple version was best all along.
What in your opinion in the best practice in Laravel to adding small, custom classes? I've seen and used a "library" folder in app. Of course, anything that is going to be larger than a single class would be abstracted into its own package.