KEY RESPONSIBILITIES:
- Design, develop, implement, and maintain software to test the product/application
- Define automation strategy, automation cases as well as Design tools for unit, functional, and performance testing in a programmatic manner
- Participate in design and code inspections
- Propose improvements to our existing processes and build automated tools, libraries and utilities in order to improve the team's speed, quality and efficiency
- Work with a wide variety of technologies from front-end UI to back-end distributed web services
- Own the design and implementation of tests that will help in end-to-end quality of major deliverables working closely with multiple engineers and teams to implement them
- Integration of both the tests and infrastructure automation into the CI/CD pipeline is also a key responsibility in this position
- Ensure adherence to security standards and compliance with privacy rules and regulations early in the development.
- Be aggressive to resolve and prevent technical debt.
- Actively engage in Agile software development activities, including sprint planning, daily standups, and retrospectives, with an aim to continuously improve.
- Collaborate frequently to share ideas and gain perspective. Communicate critical information in a clear and timely manner, listen to others, and seek clarification to confirm shared understanding.
- Initiate and lead code reviews and continuous improvement efforts.
- Create usable documentation/playbook(s)
- Effectively analyze tradeoffs between usability and performance needs communicate these across the team.
- Optimize pace and meet deadlines.
- Administer product upgrades and patches.
- Provide assistance and support other team members where required
WHAT YOU NEED TO SUCCEED (MINIMUM QUALIFICATIONS):
- 3 + years of experience in Information Technology with expertise in test automation of applications from UI and API layer.
- Candidate should have experience writing, maintaining automated tests for APIs written in Java, JavaScript, Python using various open-source testing libraries like Selenium, Cypress, REST Assured, etc.
- Experience in OOPs languages like Java and scripting languages like Python, Perl, Shell, Bash etc.
- Strong knowledge of AWS server technologies, including S3, Lambda, VPC, Route53, MSK, Kinesis, Aurora, RDS, and DynamoDB.
- Experience with API and Microservices testing and automation
- Knowledge of Test Driven Development(TDD), Behavior Driven Development(BDD) with a testing framework like Cucumber or JBehave
- Prior experience with one or more querying languages such SQL (preferred), Oracle, MySQL and/or No SQL databases (Cassandra, MongoDB etc)
- Experience deploying applications in AWS or OpenShift (Kubernetes)
- Experience working in distributed agile teams using agile frameworks such as SCRUM , SAFe, XP etc.
- Knowledge of continuous integration tools such Jenkins
- Able to independently create and maintain automation test jobs with tools such as Jenkins
- Experience working with source code management tools such as GitLab, GitHub, AWS Code Commit, etc. and a strong ability to create test reports from automation test run using Cucumber report, Extent report, etc.
- Ability to connect with peers, business analysts, and domain experts and the ability to listen to customers and colleagues; convey ideas effectively; prepare written documentation
- Excellent judgment and problem-solving skills; individual should be able to resolve urgent problems in a calm and quick manner and display a high degree of initiative and drive.
- Proactive in nature with a customer-centric focus
- Excellent verbal and written communication
- Embraces Diverse people, thinking and styles
- Consistently makes safety and security, of self and others, the priority
WHAT WILL GIVE YOU A COMPETITIVE EDGE (PREFERRED QUALIFICATIONS):
- Prior travel industry experience
- Infrastructure automation using Docker and tools like Chef, Puppet, Terraform
- Experience of working with various AWS cloud services such as EC2, s3 bucket, AWS code pipeline, CloudFormation, etc.
- Experience virtualizing services for test automation using tools such as Wire Mock, Mockito etc.
- Experience with test management and agile management tools such as VersionOne, qTest etc.
- Experience of non-functional testing such as performance, load, stress, security, accessibility and usability testing.