Senior Rails Engineer
Our client is consistently ranked as one of the best places to work in SF (and the country for that matter). They are currently looking for a Rails Software Engineer who can help build a new product offering from the ground up. The company provides payroll software to small/medium sized businesses and there is a major “mission driven” component to the new product that you would help build—basically, it allows for payday advances without having to wait in the embarrassing lines of the Check Cashing places and avoid exorbitant fees.
Not so Fun Fact: 40% of Americans are living check to check and can’t absorb an unexpected $400 expense. This product will help with that!
Your primary focus will be development of all server-side logic, definition and maintenance of the central database, and ensuring high performance and responsiveness to requests from the front-end. You will also be responsible for integrating the front-end elements built by your co-workers into the application. Therefore, a basic understanding of front-end technologies is necessary as well.
- Design, build, and maintain efficient, reusable, and reliable Ruby code
- Integration of data storage solutions
- Integration of user-facing elements developed by front-end developers with server side logic
- Identify bottlenecks and bugs, and devise solutions to these problems
- Help maintain code quality, organization and automatization
- Experience with Ruby on Rails, along with other common libraries such as RSpec and Resque
- Good understanding of the syntax of Ruby and its nuances
- Solid understanding of object-oriented programming
- Good understanding of server-side templating languages
- Good understanding of server-side CSS preprocessors
- Familiarity with concepts of MVC, Mocking, ORM, and RESTful
- A knack for writing clean, readable Ruby code
- Ability to integrate multiple data sources and databases into one system
- Understanding of fundamental design principles behind a scalable application
- Able to create database schemas that represent and support business processes
- Able to implement automated testing platforms and unit tests
- Proficient understanding of code versioning tools (Git, Mercurial or SVN)
- Familiarity with development aiding tools
Familiarity with continuous integration