Skill-Testing Questions: Mandatory Knowledge for Rails Beginners

In 2012, I wrote this list of 'skill-testing' questions for what you ought to know before starting Rails. I still think they're relevant today, even if I don't use Rails that frequently. These are good things to know, but they're the bare minimum.

You must know how to turn on a computer, and how to do basic operations. You must not be afraid to type.

  1. Have you read How to Ask Good Questions?
  2. What operating system are you running?
  3. What text editor do you use?
  4. Does it have syntax highlighting? (If you answer 'no' to this question, as well, you fail it).
  5. What is a command line? How do you access it on your operating system?
  6. What does a programmer do? (Judge yourself: if you have no real idea beyond 'makes a computer work', then you fail it).
  7. What sort of operations would I use to move one line of text of a file to another part of the same file?
  8. What is the difference between a web application and a web page or web site?

If you can answer these questions, you win this category.

This is a tough thing to say, though. If your answer to #2 was 'Windows', you need to understand that Rails—and indeed, most modern, cutting-edge programming stuff—is not meant for you. Accuse me of elitism, sure, but it's a simple fact of the matter that many, if not most big-name programmers program on one of these two platforms (or some more extreme variant). You can program and do Rails on Windows, but you are swimming against the current. You are going to fight battles learning to program, so ask yourself: is using this operating system the battle you wish to fight? The correct answer is no, but you might have your reasons. Nevertheless, you can download and install a copy of Linux so amazingly easy these days that you're making it hard if you choose not to.

You must understand some command-line basics.

We're out of the category where you can pass just by having a pulse and understanding what programmers do for a living. Here, you have to have a basic knowledge of how to navigate the file structure, create files and directories, open, edit, and delete files.

Rails, of course, makes heavy use of the command line. You literally cannot start programming in Rails if you cannot use it.

How many of these commands do you know? You don't have to know every single one, but if you're uncomfortable with more than one or two of these, spend a little more time here.

  1. cd
  2. ls
  3. pwd
  4. mkdir
  5. rmdir
  6. rm
  7. mv
  8. cp
  9. touch
  10. vim / nano / pico / emacs (one of these)
  11. chmod
  12. chown
  13. grep

You must understand some Ruby.

In particular, focus on the methods dealing with Arrays and Hashes, and make sure you understand block syntax and the concepts behind yield.

Once you learn these things, you will find that promised efficiency—I promise you.

You should be able to explain what each of the following code samples does:


If you make it to this point, you should be good to start learning Rails. This doesn't mean that you can stop learning more about the command line or about Ruby, but you won't spend the gross majority of your time fighting these things.

About Me

I write about self-improvement at Think Really Hard.

I live in Brockville, Ontario, Canada, where I spend most of my time singing, cooking, and homeschooling my wonderful four-year-old Linus with my wife Becky.

Stay In Touch!