REQUIREMENTS:
- Experience 5+ years
- Extensive knowledge of Ruby programming language and Rails framework.
- Experience with object-oriented programming principles and design patterns.
- Good understanding of Integrate third-party APIs
- Strong understanding of relational databases (e.g., PostgreSQL, MySQL).
- Familiarity with front-end technologies such as HTML, CSS, and JavaScript.
- Experience with front-end frameworks like React or Angular is a plus.
- Strong experience with unit testing and test-driven development
- Experience working with Linux/Unix Operating system comfortable with the command line.
- Experience with modern software engineering workflows and tools(e.g. Agile, JIRA, Git, CI/CD, Amazon Web Services, ELK, APM).
- Strong understanding of agile software development principles and methodologies
- Excellent problem-solving and debugging skills.
- Strong communication and collaboration skills.
- Experience with agile development methodologies such as Scrum or Kanban.
- Ability to work independently and as part of a team in a fast-paced environment.
- Flexible to work in shifts as required, with coverage for morning and evening shift IST. (6:00AM- 3:00PM or 1:00PM 10:00 PM IST)
RESPONSIBILITIES:
- Writing and reviewing great quality code
- Understanding the clients business use cases and technical requirements and be able to convert them in to technical design which elegantly meets the requirements
- Mapping decisions with requirements and be able to translate the same to developers.
- Identifying different solutions and being able to narrow down the best option that meets the clients requirements.
- Defining guidelines and benchmarks for NFR considerations during project implementation
- Writing and reviewing design document explaining overall architecture, framework, and high-level design of the application for the developers
- Reviewing architecture and design on various aspects like extensibility, scalability, security, design patterns, user experience, NFRs, etc., and ensure that all relevant best practices are followed.
- Developing and designing the overall solution for defined functional and non-functional requirements; and defining technologies, patterns, and frameworks to materialize it
- Understanding and relating technology integration scenarios and applying these learnings in projects
- Resolving issues that are raised during code/review, through exhaustive systematic analysis of the root cause, and being able to justify the decision taken.
- Carrying out POCs to make sure that suggested design/technologies meet the requirements
Bachelor's or Master's degree in computer science, Information Technology, or a related field.