This series follows my Ruby on Rails Mastery study program: six phases, one hour a day, always building something.
The rhythm
Every session splits into two blocks:
- Reading/study (~40–45 min): one chapter, one concept, one spell
- Deliberate practice (~15–20 min): a mini-project, a refactor, or a blog post
Reading without typing is useless. The practice block is where mastery is forged.
Phases at a glance
Phase 0: Foundations (optional)
The Well-Grounded Rubyist: refresh blocks, mixins, and Ruby’s object model.
Phase 1: Object-Oriented Design
POODR + Design Patterns in Ruby: SRP, duck typing, composition. Milestone: board game in pure Ruby.
Phase 2: Metaprogramming
Metaprogramming Ruby 2 + Ruby Under a Microscope: DSLs, method_missing, YARV. Milestone: publish a gem.
Phase 3: Testing
Effective Testing with RSpec 3: doubles, matchers, TDD. Milestone: full RSpec suite for the board game.
Phase 4: Performance
Polished Ruby Programming + Ruby Performance Optimization: profiling, GC, concurrency. Milestone: 2× speed or ½ memory.
Phase 5: Rails
Sustainable Web Development, Growing Rails Applications, Layered Design: form objects, query objects, engines. Milestone: non-trivial Rails app.
Phase 6: Continuous mastery
Clean Code, Pragmatic Programmer, Working Effectively with Legacy Code: ongoing.
Follow along
The study scaffold on GitHub has the folder structure, starter code, and checklists. Posts tagged Mastery document what I’m learning at each step.
