I think all of these tools are mandatory for being a productive Ruby programmer. You'll encounter them soon enough:
- RVM/rbenv: these are tools used to manage multiple Ruby versions on the same machine. I've been using RVM without complaint for quite a while, though there are people who will go up in arms against RVM for various reasons. As a beginner, you should be comfortable with either.
- RubyGems: a gem for anything, a gem for everything. If you are using RVM, it will install RubyGems by default for you. http://docs.rubygems.org/read/chapter/4
- Bundler: You'll learn it easy enough if you are using Rails. But even for non-Rails projects, Bundler is now the de-facto tool to handle gems and dependencies. It is one of those tools that when you see for the first time you would wonder how you ever lived without it.
- Git: You are a git if you don't use git yet. If you are not even using any version control at all, good for you - there aren't bad practices that you need to unlearn. If you are on SVN, or God forbid CVS, jump now. http://git-scm.com/book/en/ Getting-Started-About-Version- Control
- Github: You have a Github handle, right? 'nuff said.
I don't care. Pick one, use it well. If you're on Vim and is on Insert mode all the time, then use Notepad instead. It would be more productive. Learn your editor.
Here is a list of editors/IDEs people generally use for Ruby development:
- RubyMine
- Geany
- Sublime Text
- Textmate
- Vim
- emacs