Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Ruby

tamirg
tamirg
6,201 Points

Ruby path question

Hey Jason,

I know that there may not be a simple answer to this question but I must ask. I feel like my head is spinning just a bit, not because I don't understand the course (although I'm sure I will get stuck from time to time) but more so because I feel like I should know or be studying/practicing other things at the same time.

I am a pretty determined gal and believe I have the brains and go getting attitude to become an excellent programmer but I just don't know where to start?

I am currently doing your course which I totally dig but is it enough? What else can I do to practice and get better?

Any guidance you could provide would be great!

2 Answers

Dylan Shine
Dylan Shine
17,565 Points

This is the course of action you should take if you want to become a Rails dev.

  1. Read "Learn to Program" by Chris Pine for a general understanding of the Ruby programming language https://pine.fm/LearnToProgram/
  2. Read "The Well-Grounded Rubyist" by David Black for a more in-depth understanding of Ruby
  3. Read "Practical Object-Oriented Design in Ruby" by Sandi Metz to get a really good understanding of OOP in the realm of Ruby http://www.poodr.com/
  4. Read "RUBY ON RAILS TUTORIAL" by Michael Hartl to get a solid foundation of the Rails framework https://www.railstutorial.org/
  5. Read Everyday Rails Testing with RSpec by Aaron Sumner to learn how to properly test your Rails Apps https://leanpub.com/everydayrailsrspec
  6. Hack Away...

The treehouse course gives a very basic understanding of ruby.

If you really want to get better, you need to

  1. Practice
  2. Read

Solve programming problems in ruby. For example websites like CodeWars and Hackerrank allow you to solve many small problems to improve your coding skills (and maybe even get hired!).

You can devise your own problems. Is there something that you need? Perhaps a repetitive everyday task that you can automate? Write a ruby script that makes your life better.

Write a command line app that does something useful, or write a game in ruby. Watch this for some inspiration. Making games is always fun and rewarding.

If rails is your thing, practice rails. Make a web app. Share with your friends.

Read the documentation. Almost always, that's the best place to start.

Expand your knowledge of ruby by reading more. Here are some free resources to become more pro:

  1. RubyMonk - Interactive concise ruby tutorial from basics to advanced
  2. Refactoring Notes on Ruby - improve your ruby codebase
  3. Ruby Style Guide - common ruby idioms and styling
  4. Idiosyncratic Ruby - a nice blog about ruby tips and tricks

Watch some podcasts:

  1. Ruby Rogues - a nice ruby podcast show
  2. 5by5 - the best rails podcast

More reads!

EDIT:

I forgot to mention one very important thing.

If you are a beginner programmer and ruby is your first programming language, make sure you stick with ruby for some time. Concentrate on ruby. It is important to first understand programming concepts well. Don't jump languages! (HTML and CSS are okay as they are not really programming languages,) Don't learn 3 programming languages in 3 months. Your time will be better spent learning and mastering ruby in those 3 months. Once you learn one programming language well and you are very comfortable with it, you will find it extremely easy to learn another.

Programming is the art of solving problems. It is not about the language, but how you think about the problem. That is the key to becoming a good programmer. Syntax is secondary.

Good luck!