Senior Ruby Developer job description
Job brief
Ruby on Rails developer responsible for managing the interchange of data between the server and the users. 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.
Responsibilities
- Development of new web applications
- Maintenance of existing web applications
- Writing server-side web application logic in Ruby
- Create back-end components
- Connect the application with the other web services
- Extending and maintaining JSON and Liquid-based APIs
- Identify bottlenecks and bugs, and devise solutions to these problems
- Help maintain code quality, organization, and automatization.
Requirements
– 10 plus years of experience as a technical lead, senior engineer, or solutions architect on enterprise programs.
– 5 plus years developing applications using Ruby on Rails.
– 5 plus years of experience developing client-side JavaScript using Jquery.
– Experience with current JavaScript frameworks, such as React.
– Deep understanding of HTML5, CSS, and Bootstrap.
– Deeply knowledgeable about: Object Oriented Programming, concurrency, enterprise design patterns, RESTful Web service implementation, Service Oriented Architecture, Test-Driven Development.
– 10 plus years of experience with relational databases, especially SQL Server. Experienced with data modeling and SQL queries.
– Experience with automated continuous integration and deployment tools, especially Atlassian Bamboo.
– Deep understanding of HTTP and Web development.
– Deep understanding of distributed and multi-tier system design and development.
– Proficient in the use of Rails and JavaScript tooling, e.g. RSpec, Rake, Bundler, as well as npm, bower, and Jasmine.
– Excellent problem solving skills.
– Agile or Lean Software Development experience such as Kanban, Scrum, Test-Driven Development, and/or Extreme Programming methodologies