If you've worked on a Rails app for a while, chances are you've seen your development speed slow down.

Some of this is inevitable—as the number of features goes up, adding more tends to get harder. However, smart programming decisions can delay this slowdown, and that's what this course is all about.

I've been writing and maintaining Rails apps for 8 years (including 6 at thoughtbot). This course contains the hard-won wisdom I wish I'd had when I got started.

Refactoring Rails contains three types of lessons:

  • Refactoring techniques you can apply today to help with the specific pains you're facing.
  • Best practices you can implement over time, leading to a steady lift in code quality.
  • Rails features best avoided, to prevent the creeping complexity so common in older apps.

Topics Covered

  • ActiveRecord callbacks, their drawbacks, and alternatives
  • Layering on new functionality with Decorators
  • Simplifying your app with Form Objects
  • Addressing compound conditionals
  • Why it's worth thinking about levels of abstractions
  • Control Couples, and why to avoid them
  • Improving tests with Page Objects
  • Following REST to improve your design
  • Speeding up your test suite significantly
  • A nuanced look at “Tell, Don't Ask”
  • The four-phase test pattern
  • Improving the clarity of test failures
  • Avoiding the Mystery Guest smell
  • (And many more!)

A Quick Sample

Compliments of the dining car.

Frequently Asked Questions

Who is this for?

Developers who have seen their shipping speed slow down due to the technical complexity in their Rails app(s).

What are the videos like?

Tons of live coding. You'll learn from the core content of the videos, but also seeing how I tackle problems, perform TDD, use my editor and recover from errors.

How many videos are there?

The course consists of 8 videos. Total runtime is about 2.5 hours.

Can I purchase this for my team?

Yep, just click the purchase button on the Full Course tier (on the right) and you'll see bulk purchase options.

Is this course for beginners?

Not this time. The skill level varies from intermediate to advanced. Familiarity with Rails is assumed.

Can I get a refund if I don't like the course?

You bet!

Will I get a receipt with purchase?

Yep, and you'll have a VAT ID on there if necessary.

Can I pay with PayPal?

Believe it or not, you can!

What if I have a question that's not answered here?

Email me, and I'll get you straightened out.

About Me

I'm Ben Orenstein.

You might recognize me as the creator of Refactoring from Good to Great, or How to Talk to Developers.

I spent the last 6 years working at thoughtbot in Boston, where we obsessed about code quality and keeping shipping speed high. In a way, Refactoring Rails is the distillation of the best ideas I took from my time there.

That's the Ticket!

What's being said about Refactoring Rails

I’ve seen some of what Ben is putting together and it’s REALLY good. Rails Devs: You should check it out!
I’m loving the preview vids for Refactoring Rails.
I would highly recommend @r00k’s Refactoring Rails course if you want to level up your Rails skills!


Just The Videos

  • All course videos (DRM-free, downloadable, chock full of live-coding and knowledge bombs)
Get the videos

The Full Course

  • All course videos
  • The source code shown in the videos (with branches so you can view each refactoring as a diff, and flip between the before and after).
  • Detailed notes on all topics, so you can quickly reference a refactoring or best practice without scrubbing through the videos.
Get the full course!