Skip to content

Instantly share code, notes, and snippets.

@carlisia
Created September 1, 2015 16:54
Show Gist options
  • Save carlisia/340bb8cb51efed61ddc4 to your computer and use it in GitHub Desktop.
Save carlisia/340bb8cb51efed61ddc4 to your computer and use it in GitHub Desktop.
Resources for becoming a better Ruby/Ruby on Rails Developer
@carlisia
Copy link
Author

carlisia commented Sep 1, 2015

On your way to a Senior Ruby/Ruby on Rails developer

General

Exercism

I highly recommend Exercism.io. Reasons: practice material for many languages, tests included, extremely high quality, concise, free. You get good comments on your code, and thus learn what good comments look like. Open source.
http://exercism.io/

Low hanging fruit: connascence

Please learn this. It's easy stuff that will transform the way you think about code. Huge bang for your time. After you learn it, apply, apply, apply.
https://en.wikipedia.org/wiki/Connascence_(computer_programming)

OO

If you didn't learn this in school, or need a refresher, this is a very useful and easy to understand book on OO.
http://www.amazon.com/Practical-Object-Oriented-Design-Ruby-Addison-Wesley/dp/0321721330

Learn about SOLID

Learn a few of the most used design patterns really well (MVC, factory, singleton, adapter)

Podcasts

Listen to this, all the time: https://devchat.tv/ruby-rogues/
Others:
http://giantrobots.fm/
https://changelog.com/podcast/

Blog

The only one you need:
https://changelog.com/

Other

  • Learn how to test and how to test well.
  • Master git. There are a ton of videos and other resources out there.
  • Pair program every chance you get.
  • Contribute to open source, even if it's only opening an issue.
  • Go to meetups, or found one, or offer to help organize.
  • Know SQL and DB design
  • Know about key,value pair data storage.
  • Know your data structures well. Why do we use hash all the time and what if you needed to optimize some data handling, what else could you use?

Take it up a notch

Confreaks

http://confreaks.tv/presenters/sandi-metz
http://confreaks.tv/presenters/katrina-owen
http://confreaks.tv/presenters/avdi-grimm
http://confreaks.tv/presenters/james-edward-gray-ii

Special case: Watch all of Jim's videos on Connascence. Then watch others according to your interest:
http://confreaks.tv/presenters/jim-weirich

Missed a conference? No problem, all the talks will probably be here:
http://confreaks.tv

Other Videos

https://www.hakkalabs.co/tags/rails
https://www.hakkalabs.co/tags/ruby

Other

  • Do code challenges.
  • Chat with people (irc, slack, etc), help beginners.
  • Pick a gem you use and like and contribute to it.
  • Go to a conference at least once in a while, ideally every year.
  • Learn when to benchmark and how to optimize performance at various layers.

Starting out

@manbeardave
Copy link

Thanks!! I will dig into upcase tonight!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment