Ruby Developer in Richfield, MN at APEX Systems

Date Posted: 2/28/2018

Job Snapshot

Job Description

Job #:  810014

Title: Senior Ruby Developer

Duration: Projected through 7/13/18

Work Location: Richfield, MN


Local preferred, open to non-local; non-local must do Skype from local agency office

1 role - 6 month assignment


Business Overview:   

Tell me about your department:

Dotcom – Operations Development / Automation Team

Current suite of tools in continuous development include but not limited to:

  • Custom command line applications for deployment and infrastructure management. (Ruby)
  • Custom web based deployment and management portal. (Ruby)
  • Custom monitoring portal(s) (PHP / Ruby)

Position Overview:


Responsibilities/Deliverables that the resource will be responsible for:

  • Software and API Development and Design
  • Working in Simi-Paired Programming Environment
  • Unit testing and QA
  • Deployments / Releases of own tools
  • Work with infrastructure provisioning tools such as Chef, Vagrant, Kitchen, and Fog.
  • Learning and keeping up with latest trends in automation patterns and practices.


What would a normal day for this position look like??

  • Current team of 6
  • Heads down doing developing and design.
  • Collaboratively working with, reporting to, and taking direction from current Sr. Ruby Developer
  • Status update meetings


Skills Overview:

What are the MUST have skills that you are looking for in a candidate?

  1. Experienced Ruby Ninja - Writing ruby without the need of Rails or ActiveSupport dependencies.
  2. 7+ Years Professional Ruby Developer Experience or Equivalent Development Experience.
  3. Strong Knowledge of Object Oriented Programming and Design Patterns
  4. Strong Knowledge of MVC Architectural Patterns.
  5. Strong Knowledge of working with and creating web services.
  6. Strong Knowledge of Client / Server Communications
  7. Strong Knowledge of Concurrent and Parallel programing concepts.
  8. Experience with Automating one or more of the following: OpenStack, Openshift, AWS, or other Cloud Providers
  9. Understanding of Deployment Automation concepts and patterns
  10. Continuous Integration concepts and patterns
  11. Frontend Development with AngularJS and TypeScript (Bonus)
  12. Experience with Fog gem (Bonus)
  13. Experience with Message Queuing Technologies - (Bonus)
  14. Chef or Puppet (Bonus)

What are the soft skills that you feel candidates must-have in order to be successful in this role?

  1. Collaborative
  2. Ability to Listen
  3. Ability to offer ideas on technical direction
  4. Team Player
  5. Desire to contribute to overall direction of project

Will there be testing required for this role? If so, what test would you like administered & who would you like to administer?

Hacker Rank will need to be issued.

May be required to code during interview.

Please provide three industries that would produce fitting candidates:

  1. Large Enterprise – preferred
  2. Large Projects with many applications and components - preferred

Prescreening Questions – MUST INCLUDE TO BE CONSIDERED

  • Please have candidate include code sample of their work to be considered.  Please do not send code from current or past employers.
  • Please also have candidate complete the following prescreen scenario:

Code Scenario Requirements; Please make sure candidates are running their code to ensure it works before submitting.

Base Car Class

+ current speed (property) – default value 0

+ accelerate (method)

+ drive (method)

+ brand (property) - default value ‘unknown’

+ max speed (property) - default value 0

Camaro Car Class

+ Inherits Base Car

+ brand (property) - default value ‘Chevy’

+ max speed (property) – default value 200

Code Scenario:

In this example we will create an instance of Camaro and tell it to drive, we will assume it’s moving in a straight line and there are no other driving factors.  The car will accelerate until it hits its max speed.  It is required that drive will call accelerate. It is required accelerate will increment the current speed by 1.  Once the Camaro reaches max speed it should stop accelerating and print that it hit the cars max speed.  The execution of drive should then also stop.


Interview Process Overview (Please include the date the manager would like to start interviewing):


30 minute phone interview followed by 60-90 min – on site interview (Skype if needed for not local candidates)

**Please note: Manager will be considering Local Candidates FIRST ***