Ruby Job Description Template

Ruby is a general purpose programming language typically used for back-end web development but can be used for general-purpose command line tools as well. It was made popular by the Ruby on Rails web framework but can be used to great effect for a range of applications, like data processing or command line tools. Ruby is a dynamic and expressive language. If you are looking for a Ruby on Rails developer, please see our Ruby on Rails Job description template.


Ruby is a general purpose programming language typically used for back-end web development but can be used for general-purpose command line tools as well. It was made popular by the Ruby on Rails web framework but can be used to great effect for a range of applications, like data processing or command line tools. Ruby is a dynamic and expressive language. If you are looking for a Ruby on Rails developer, please see our Ruby on Rails Job description template.

Since Rails is a very popular framework for Ruby, many Ruby job descriptions mix terminology of Ruby and Rails. Similarly, many developers focusing on Rails apply to Ruby job offers, so care must be taken to make the distinction clear. This template description will help you find the right specialist and create an effective job description.


Company Introduction

[Start your job description with a convincing and engaging pitch of of your company. Let the candidate know about your mission, working culture, perks and benefits (like opportunities to work remote) and your corporate social responsibilitiy activities. Extra tip: If you are hiring into an existing team, include an "Meet your new team" section that introducces the team your new hire would join, inlucding it's role within the company, and the team's working style.]

Job Description

We are looking for a Ruby on Rails developer responsible for building data-driven web products. Your primary focus will be development of all back-end logic, definition and maintenance of the central database. Maintaining scalability, high performance and responsiveness for front-end requests will also be part of your domain. You will also be responsible for integrating the front-end components built by your teammates into the application, so a basic understanding of front-end technologies is necessary as well.

Responsibilities

  • Design, develop and maintain efficient, reusable, maintainable and reliable Ruby code
  • Integration of databases and other storage solutions (if you have specific database technology you require, specify it here - i. e. SQL, Mongo, Redis, graph databases, ...)
  • Integration of user-facing components developed by front-end developers with back-end logic
  • Identify performance issues and bugs and solve these issues
  • Help maintain code quality, best practices, organization and automatization
  • Add other responsibilities here that are relevant or specific to your needs

Required Skills & Qualifications

  • Strong understanding of Ruby syntax and concepts
  • Solid understanding of object-oriented programming and understanding of design patterns
  • Understanding of how to use Ruby functional-style
  • Familiarity with the ideas behind MVC, Mocking, ORM, and RESTful
  • Capability to write reusable Ruby libraries
  • Working knowledge of common web application frameworks (this depends on project requirements, i. e. Lotus, Rails, ...)
  • Know how to write idiomatic, clean, readable Ruby code
  • Ability to integrate one ore more data sources / databases into one application
  • Understanding of fundamental design principles behind a scalable application
  • Ability to create database schemas that accurate modal and support business processes
  • Proficiency with code versioning systems
  • Knowledge of how to implement automated testing platforms and unit tests
  • Familiarity with modern web development tools (if you have requirements for these tools [like npm, grunt, bundler, rake] you should list them here)
  • Familiarity with continuous integration systems
  • There might be other libraries, frameworks or tools your project or team uses, add them here
  • Add education requirements