Displaying episodes 1 - 30 of 66 in total

Knowing when to use new language or framework features

New PHP version! New Laravel version! So exciting! But when does it make sense to upgrade, and when does it make sense to start using new language or framework features?

Going on a bug hunt

How can a bug be fun, and not frustrating? When you treat it like a puzzle. Let's walk through a recent bug with CSV mime type validation and go deep down the rabbit h...

Thinking about the user, even in the details

User experience is a term we hear a lot as developers, but it can mean different things depending on the context. We discuss a recent project where decisions around wh...

Why do you write your tests like that?

We discuss two "interesting" patterns we've observed in a number of Laravel projects. Let's take a step back and think about why we write tests the way we do.

Avoid painting yourself into a corner

We've all been there: a thorny piece of code works, but it seems like there must be a better way to simplify it or make it more readable. We share one example when thi...

Look before you leap

Hear about some cool new tool or coding technique on Twitter? Great, jump right in and use it on your biggest production app! Or . . . maybe don't. We share some thoug...

Don't plan to do too much

Do you always finish everything you plan on doing? Probably not, very few developers do. The problem isn't always how you work. Some of it is how you plan. We discuss ...

Isolate the problem

What do you do when you're stuck? Aaron shares a tip on how he breaks down a problem when he's feeling stuck.

What should I test?

We all know we should write tests, but what should we test? Is there anything it doesn't make sense to test? We talk through a high-level approach to how we do feature...

Picking a strategy for translation in Laravel

There are different ways to structure your translation assets in Laravel. We discuss how we approached this on a recent project, and why we chose the method we did.

Should a factory follow all business rules?

Factories are really useful in tests, but could they give you a false sense of security if they don't generate models exactly like a user of your application would? We...

Understanding different learning styles

What a surprise, Joel and Aaron have a different learning style. We talk through our different approaches to learning, and what we've found useful.

Sometimes it's good to be boring

Do you like to fiddle with settings? Joel doesn't. Find out why, and hear about one example where we like deviating from the defaults.

What was this developer thinking??

Maybe you've inherited a project and just looking at how the code is organized makes your head hurt. Before you go ripping it apart and "making it better", it can be u...

Should you fix all bugs in a legacy project?

You've inherited a legacy app. It's "running fine" in production, but when you add an error reporting tool, you see hundreds of errors, warnings, and notices logged ea...

Learning from other communities

Can a Laravel developer learn something from the Rails or Erlang communities? We share some perspective on how to broaden your horizons, and when might be a good time ...

Uh-oh, that proof of concept is going into production. Now what?

Many of us have built something we thought was "throw-away" code, only to have someone decide it's good enough to ship to production. How can you prepare for this, and...

The benefits of sharing what you learn

If you are listening to this, you probably enjoy hearing other people share what they've learned. In this episode, we turn the tables and explain why you should consid...

How to deal with interruptions

How can you handle an interruption to your work, especially if it is an urgent request for help? We discuss how to do this without derailing your planned work for the ...

Should I write this weird code or is there a Laravel feature I can use instead?

We walk through a recent experience where Joel was about to "burn down the world," as Aaron calls it. Instead, after doing a little exploration of the Laravel framewor...

Take time to look back and review

It feels good to finish a project, but before you move on, there are benefits to pausing and reflecting on what went well and what could have been better.

The benefits of testing, even under a deadline

We have to ship this feature in 2 weeks! Do we have time to test? In this episode we talk through this scenario and share some benefits of testing even under the press...

When to calculate a value versus when to store it in the database

For some values, it can be tricky to know whether it's better to calculate it on the fly or when to calculate it once and store in the database. We talk through a rece...

Should I use an event/listener or a model observer?

We share a few rules that help guide us to determine when to manually fire an event versus when to wire up a model observer.

How we wrap up a project

Wrapping up our series on how we work, we talk through the end of a project and how to make sure there are no surprises.

Don't be afraid to change your mind

You learned a best practice, and it served you well. Is it set in stone? Or should you be open to re-evaluate later?

The proper way to argue

We've all had disagreements about how to write or organize code, or how a feature should work. We share some tips on how to discuss it productively.

What makes a good staging environment?

Setting up a useful staging environment involves a number of choices. We discuss our preferred strategies and talk about why having a staging environment is a good thing.

Your project is not special

This isn't meant to be an insult. It's actually a good thing that your project isn't completely unique, and you can benefit from what other people have already learned.

Planning out a week of work

Continuing our series on "how we work", today we finally get to the dev work. How we organize it, plan it, and communicate with the project stakeholders.

No Compromises, LLC