What Ruby and Rails Developers Ought To Know?
What should someone know as an Entry Level, Mid-level, and Senior Developer working with Rails? Across the board: theoretical knowledge, development tools, gems and more. What issues usually are at the interview?
- Analyse and profile an application for performance and memory issues
- Analyses and profile an application for security issues
- Understand database modeling and query analysis
- Tune a production deployment (Passenger, Thin, Apache etc)
- Understand and use Ruby metaprogramming
- Mentoring skills
- Communication skills
- Planning and Estimation
- Setup and deploy a Rails App for production
- Understand the Rails stack - callbacks, filters, plugins, engines, gems, rack
- Understand and use Active Record associations
- Understand and use scopes to define model abstractions
- Define tests using Cucumber and rSpec
- Understand and use Object Orientation
- Understand and use Design Patterns (explain what they are, know some basic patterns)
- Create and setup a Rails environment
- Use generators to create models, controllers and migrations
- Create and use a migration to manage the database
- Create a unit test using rspec/etc
- Create a model and basic validations
- Handle a GET request using a Controller, Model, and View
- Handle a POST request using a Controller, Model, and View
- Basic GIT - clone, commit, push
I wrote down some questions and answers that I have experienced from my interviews and some additional logic questions that you might find useful.
How to setup and deploy Rails apps to production environment
I think for the seniority level you should be able to answer most of the following questions:
Here is my blog link.
Understand ruby blocks and iterators for traversing and manipulating datasets.