These are some of the topics you should learn to improve your rails coding skills.
- Basics of Rails / how a rails app is organized (rails folder staructure)
- API request / response cycle
- Deploy Rails app in server and configuring server instances
- Advanced ruby concepts including metaprogramming, creating gems etc..,
- Getting gems from unusual sources, such as on your own disk, Github, etc.
- Using non-standard databases. I don’t just mean swapping Postgres in for MySQL, but non-relational databases, and preferably not just one style such as key-value or document stores, but also graph and time-series and other types of databases… and when to use each of them (including relational).
- Background jobs, when to use them or not, common things that can go wrong, etc., and preferably different processors (such as Sidekiq and Resque) and their differences and relative merits.
- Distributed processing, including various messaging options, and creating distributed systems, including from an extant all-in-one app.
- REST APIs, including designing, implementing, and consuming them. Maybe SOAP too.
- Working with front-end JS app frameworks like Ember, Backbone, Angular, etc. You don’t need to be expert in them, just be able to deal with them, including basic setup and minor modifications, in the context of a Rails app.
- Caching, including how Rails does it, plus use of specific caching mechanisms like Redis or memcached.
- Testing, preferably including both MiniTest and RSpec, and Cucumber and other such high-level things. (You may choose not to use Cucumber, but it should be an informed choice, not discarding it because you don’t know it.)