Job Description
About the job
Writing performant, reusable, scalable, and testable code powering the MVC components of a complete Web application using the Ruby on Rails framework.
- Understanding Ruby on Rails philosophy of DRY and KISS and using design patterns to maintain a cleaner and organized codebase.
- Creating custom, general use modules, libraries, and engines that extend the functionality of core framework or gems which can be reused across projects.
- Performing analysis of project requirements or development tasks of complex nature which may require extensive research.
- Coordinating the communication between multiple teams and stakeholders and planning your work to make sure that the project delivery deadlines are met.
- Involving and contributing to design, architectural and technical decisions for Rails projects.
- Overall min experience - 3+ years AND relevant min experience - 3+ years.
- Experience working with Rails 6 and above.
- Good understanding of Web application development and Client-server architecture.
- Proficiency in Object-oriented programming concepts.
- Thorough understanding of the Rails framework capabilities and shortfalls.
- Hands-on Experience working with Relational and Non-relational datastores.
- Hands-on Experience working with ERB and other templating engines.
- Deep knowledge in customizing and implementing a variety of gems to implement authentication, authorization, pagination, file management, and other feature sets.
- Good Experience working on performance optimization of Rails applications using different strategies.
- Good understanding of Architectural patterns and deployment strategies for Rails applications.
- Good understanding of TDD, BDD, and experience working with libraries and frameworks like Rspec, Cucumber, Minitest, etc.
- Proficiency in Javascript, CSS3, HTML5.
- Experience working with Bootstrap, SASS, and Typescript.
- Experience working with Javascript build tools.
- Experience with building the infrastructure for serving the front-end assets.
- Good understanding of AJAX and Javascript DOM manipulation techniques.
- Hands-on experience working with data exchange formats like JSON, XML, and YAML.
- Experience working with front-end frameworks and libraries like Angular, React, and Vue is a huge plus.
- Experience working with older versions of Ruby and Rails is a plus.
- Experience in migrating Rails applications from older versions to the latest versions is a plus.
- Experience working with git and Github/Gitlab.
- Experience working on projects using Agile methodology.
- Good critical thinking and problem-solving skills.
- Good time-management skills and ability to work in cross-functional teams of any size and shape.
- Good interpersonal and communication skills.
- Bachelors degree in Computer Science or Engineering.