Chapter 16. Overview of the skills needed in Rails

For those who want to get an overview of the skills required in Rails, I have listed them. As you can see, the range of skills/knowledge required is a bit broader than for native application development. Of course, not all of these are necessary for every system.

* The slash separators indicate options.

  • Server Side
    • Ruby on Rails
      • MVC(Model, View, Controller, etc.)
      • Task, Seed, Job, Migrate
      • Gems
      • Service Classes
    • HTTP Communication
      • REST
    • RDB
      • MySQL / PostgreSQL, etc.
    • Development Tools
      • Rails commands
      • Rubocop
      • RSpec
        • Factory
        • Model spec
        • Request spec
        • System spec
    • Monolithic / API Mode
  • Frontend
    • HTML
      • ERB / Slim / Haml
    • Javascript
      • Vanilla JS / jQuery / Coffeescript / Typescript
      • Vue.js / React
      • Ajax
      • Jest
      • Eslint
    • CSS
      • SCSS
      • Bootstrap
      • CSS Framework (e.g. Bulma)
    • Development Tools
      • Asset Pipeline(Sprockets) / Webpack(er)
      • npm, Yarn
  • Site infrastructure
    • Linux, Linux commands
    • Docker, docker-compose, Virtual Environment, Virtualization
    • Deployment, AWS / GCP / Heroku
    • Redis
  • Others
    • Git, Github
    • CircleCI / Github Actions
    • Editors, IDEs, Snippet tools, Terminal software
    • Communication tools (Slack / Discord)
    • Agile, Scrum
    • Progress management
      • Github Issues/Projects, Jira, Redmine
  • Depending on requirements
    • External file manipulation, File upload/download
      • images, text, CSV, excel/spreadsheets, zip, yaml, json, xml, pdf
    • Knowledge of vulnerabilities (SQL injection, etc.)
    • Large data, Mass access (load balancing)
      • NoSQL (MongoDB / Elasticsearch / Redis)
    • Sessions, Cookies
      • OAuth
    • Encryption, Decription, Hashing
    • Cron
    • CDN