Ruby Academy Course Outline – What will I learn?

Update: Ruby Academy places 2015 have now been filled… but you can still find some useful info below to prepare for next year, and find out what it’s like working in development at On the Beach.

 

The Ruby Academy 2015 will be a 5 week intensive training course designed to give you the preparation you need to become a Ruby Developer in one of the most technologically progressive online travel agents in the UK.

Once the 5 week training component of the academy has been completed, you will begin your three month probation as a Graduate Ruby Developer and then will be unleashed into the On the Beach “Dev” team where you can continue to learn and grow with some of the best techies in the industry at your side.

The training will be based around a worked example which will gradually build out over the whole course.  Break out into groups to study particular topics in depth, before returning to the worked example.

Ruby Academy Course Outline
Ruby Academy course outline

The course will cover the following specific subjects. But the programme plan is also adapted to suit the pace that the candidates prefer, based on feedback on areas they would like to concentrate on:

Ruby language syntax

Ruby tooling ecosystem:

  • Rake
  • Ruby Gems
  • Bundler
  • Version managers

Habitual use of Git, including branching, merging, rebasing and use of pull requests for code review:

  • Frequent, small commits
  • Green tests on every commit
  • Good commit messages (subject/body)

Habitual use of TDD/BDD with RSpec and Cucumber:

  • Listening to tests for design feedback
  • Fast (isolated) tests vs integrated tests
  • Importance of refactoring
  • BDD inner/outer loops

Object-Orientated Design – SOLID principles

Basic introduction to Rails

Working in a service-orientated architecture:

  • HTTP/ REST/ JSON/ HATEOAS
  • Sinatra
  • Message queues
Written on 20th July 2015 by

Kiran Flynn

Leave a Reply

Your email address will not be published. Required fields are marked *