We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Justin Searls - The Empowered Programmer - Rails World 2024
Learn key traits and practices for building sustainable Rails apps from Justin Searls. Covers architectural choices, testing strategies, and dev philosophy for empowered programming.
- 
    Rails helps solo developers build ambitious features by providing smart defaults while allowing flexibility when needed 
- 
    Key traits of an “empowered programmer”: - Courage to tackle risky features early
- Discipline to say no to unnecessary complexity
- Efficiency in choosing the right tools/approaches
- Resilience in planning for long-term maintenance
- Meticulous attention to details
- Dexterity in knowing when to deviate from conventions
 
- 
    Architectural recommendations: - Use email-based authentication for simplicity and reliability
- Leverage ActiveStorage for handling complex file uploads
- Embrace Hotwire/Stimulus for interactive features without heavy JS
- Consider import maps to avoid complex build processes
- Use Tailwind CSS for maintainable styling
- Implement fragment caching for performance
 
- 
    Testing best practices: - Use Playwright instead of Selenium for more reliable system tests
- Address flaky tests early - they indicate brittle implementations
- Ensure tests work reliably across different environments
 
- 
    Development philosophy: - Start with the riskiest features first
- Store only essential data permanently
- Optimize for future maintenance
- Focus on user experience over technical purity
- Make deliberate choices about what features to exclude
- Build for long-term maintainability
 
- 
    Success metrics should focus on: - Reducing future technical debt
- Maintaining predictable costs as usage grows
- Delivering genuine user value
- Building sustainable, maintainable systems