Benefits Data Trust (BDT), a not-for-profit organization located in center city Philadelphia, has an outstanding opportunity for an experienced full-time Ruby on Rails Developer to join our team. BDT is committed to transforming the way people in need access public benefits.
Our organization (60+ employees) is growing rapidly and we are looking to expand our in-house development team to meet the continued demand for technology innovation. BDT supports a collaborative environment and values teamwork. We strive for a healthy, productive work environment, and want our staff to enjoy the opportunity they have to substantially contribute to the direction and success of our organization.
The primary focus of this position will be to collaborate on the development of the organization’s custom web application (PRISM). PRISM supports our call center by acting as a benefit’s screening, data collection, and customer management tool. Secondary focus will be on our website, database optimization and server automation.
The ideal candidate will have:
- Thorough experience with Ruby on Rails frame work (minimum 2 yrs developing a large rails applications or 1-2 yrs experience with 3+ small applications);
- Ability to represent domain concepts in an object-oriented way;
- Willingness to pair program;
- Experience with Ruby framework outside of rails (Redis, EventMachine, etc);
- A College Degree - Computer Science preferred;
- Experience designing and optimizing relational databases;
- Excellent problem solving and communication skills, a detail-oriented personality, a collaborative spirit, and a love for technology that will ultimately impact the lives of others.
The following skills are a plus:
- Experience working with an open-source project;
- Presentation experience within a programming user group or conference;
- Asterisk, internet telephony experience.
- Implement new application features;
- Write Ruby classes and modules using in a object-oriented style;
- Code reviews;
- Test first with cucumber (acceptance) and RSpec (behavior, unit, and integration);
- Pair with other developers to troubleshoot, refactor, and assist one another as needed;
- Checkout, rebase, and merge git repository branches;
- Build standardized, tableless HTML5 pages using CSS (Sass);
- Provide design suggestions from the UX to the SQL indices;
- Complete assigned coding tasks thoroughly and on time;
- Assist with sysadmin tasks using ssh;
- Communicate effectively (the ability to provide reasons for why you chose specific application approaches).
Salary will be commensurate with experience. BDT offers a generous benefits package and casual work environment.
BDT is open to contract-for-hire arrangements. Must be a U.S. resident. Must live near Philadelphia or be willing to relocate.
Click the 'Apply Now' button to submit a copy of our completed Questionnaire (see below), your cover letter with salary requirements. Please be sure to include “IND-Ruby on Rails Developer” in your cover letter.
RUBY ON RAILS DEVELOPER QUESTIONNAIRE
1. Do you have Ruby on Rails experience?
_ No Experience – Willing to Learn
_ Some Experience (1-2 years)
_ Moderate Experience (3-4 years)
_ Extensive Experience (5+ years)
2. Which distributed version control systems do you have experience working with? (check all that apply)
_ Other: _________________________
3. What is your involvement with the open-source community? (check all that apply)
_ I prefer to write my own code
_ I use open-source code in my projects
_ I have contributed to an open-source project
_ I am an owner of an open-source project
_ I am not familiar with the open-source community
4. Have you read anything by Robert "Uncle Bob" Martin? If so, what stuck out the most? If no, what other authors have influenced your abilities and how?
5. What would you change about the following code implementation?
class Address < ActiveRecord::Base
belongs_to : customer
class Customer < ActiveRecord::Base
has_one : address
has_many : invoices
class Invoice < ActiveRecord::Base
belongs_to : customer
< %= @invoice.customer.name %> < %= @invoice.customer.address.street %>
< %= @invoice.customer.address.city %>,
< %= @invoice.customer.address.state %>
< %= @invoice.customer.address.zip_code %>
6. What would you change about the following code structure?
class PostsController < ApplicationController
before_filter : authorize
before_filter : find_post, except: [: index]
@post.update_attributes params[: post]
@posts = Post.all
# … authorization code
@post = Post.find params[: id]