ruby on rails: from zero to hero - epic-org.eu · about me i learned more about programming in last...
TRANSCRIPT
Ruby on Rails: From Zero to HeroTeach yourself how to program in Ruby on Rails.
@patrikbona
Me (beginning of 2013)
● Non-programming job● X years of “programming” experience● Git? GitHub? Tdd? Rails? What?
About me
● I learned more about programming in last 1 and half year than ever before
● Ruby on Rails developer at Toptal
Resources
Ruby on Rails Tutorial
● Start here!● Full stack
○ Ruby on Rails○ Git/GitHub○ HTML/CSS○ TDD○ Heroku○ …
● http://www.railstutorial.org/
Rails Guides
● Official and up to date documentation● I still use it● http://guides.rubyonrails.org/
Agile Web Development with Rails 4
● Build e-commerce site in Rails way● Up to date● https://pragprog.com/book/rails4/agile-web-
development-with-rails-4
Upcase by thoughtbot
● Exercises● Forum● Source code access● Workshops, videos● Mentoring● https://upcase.com/
Google and Stackoverflow
● Because someone else already had the same problem
● But try to understand it anyway!
Railscasts
● Small Rails screencasts● Not up to date, but still useful● http://railscasts.com/
Tips & Tricks
Practice 1/2
"If you want to pick up a new skill, you must practice. There's no other way. Make the time, and do the work. The only time you can choose to practice is today."
Josh Kaufman (The First 20 Hours)
Practice 2/2
● Find yourself some project○ Toy project for yourself○ Something for a friend○ Work for free
Improve your typing
● http://type-fu.com/● http://goo.gl/Az3WJc (Google Chrome
extension)
Master your editor and environment
● Remove all obstacles● Learn one thing at the time
Programming Katas
● Simple programming problems● Do them again and again● FizzBuzz under 6 minutes
Spaced repetition
● Scientific approach to learning● http://sivers.org/srs● http://ankisrs.net/
Make notes
● Because spaced repetition doesn’t work for complex things
● Be quick● https://github.com/mrhead/notes
Pair programming
● Most effective way to share knowledge● Immediate feedback loop● Try it!
KISS
● Keep it simple, stupid● Work on small issues
Conclusion
● Try to understand things● Don’t try to learn everything at once● Practice (a lot)● Be pragmatic
Q&A