Rails Challenges
Help for Ruby on Rails beginners
Daniel Kehoe
@rails_apps
Rails example applications
Rails Composer
Hard skills and soft skills
Rails can be difficult for beginners
- Rails is popular
- Rails is powerful
- but Rails isn’t easy to learn
Resistance
- when we're tired and discouraged
- when we're overwhelmed
- doubts and negative thoughts
Resistance
- resistance makes learning more difficult
- attaches to imaginary problems
- attaches to real problems
Overcoming resistance
- recognize resistance
- break the problem down
- investigate the obstacle
- seek support
If you're a mentor
- acknowledge real problems
- scale down the magnitude of the problem
- provide resources and problem-solving approaches
1. It is difficult to install Ruby.
- a beginner's first big obstacle
- it's not like installing a consumer app
- every system is unique
2. Rails is a nightmare on Windows.
- open source devs use Unix-based tooling
- some gems won't work on Windows
3. Rails error reporting is cryptic.
- stack traces are intimidating
- error messages are "too technical"
- why can't it be simpler?
Rails error reporting is actually very good.
- provides all the details an experienced developer needs
- can't say what you did wrong, only what happened when you did it
- learn to read stack traces
4. There is too much magic.
- “convention over configuration” leads to obscurity
- implementation is hidden in the depths of the Rails
The magic is there to serve you.
- do you like to know how things work?
- dig into the source code, or...
- take on faith that “it just works”
5. Rails contains lots of things I don’t understand.
- so many files and folders
- code that is unfamiliar
- what parts do I need to know?
You'll gain understanding over time.
- you don't need to know all of Rails
- experienced developers are always learning
6. There is too much to learn.
- why learning Rails is hard (infographic)
- how do you learn it all?
- how do you keep up?
There is joy in learning.
- your career will never be dull
- you can specialize
- lots of great resources we didn't have before
7. It is difficult to find up-to-date advice.
- new major releases of Rails every 2 years
- Google or Stack Overflow advice can be out-of-date
Learn how to evaluate advice.
- filter the results in Google
- check the dates in Stack Overflow
8. It is difficult to know what gems to use.
- how do you find gems?
- which are best?
9. How to transition from tutorials to my own applications?
- copy and pasting gets me started, but...
- how do I build from scratch?
Focus on the process.
- start with user stories
- look for code samples
- try "spikes"
10. I’m not sure where the code goes.
- does it go in the model or the controller?
- should all my controller actions be RESTful?
Get peer support.
- read the blogs
- study examples
- go to hack nights
11. People like me don’t go into programming.
- not everyone has the same background
- being different can be challenging
- not every programmer looks like one
We can be more welcoming.
- as engineers, we can optimize for inclusion
- get involved with peer support organizations
how do you help beginners with Rails challenges?
Daniel Kehoe