Responsibilities:
- Engage in in-depth technical dialogues with the software engineering team, comprehend software workflows and use cases, and ensure the system's testability.
- Define requirements and propose solutions to streamline the testing process with a strong commitment to ownership.
- Design, develop, and maintain test scripts, automated test frameworks and suites using Java-based frameworks such as JUnit, TestNG to validate backend functionalities.
- Collaborate closely with software engineers, product managers, and other stakeholders to understand requirements and ensure comprehensive test coverage.
- Implement and execute test plans and test cases to ensure comprehensive test coverage.
- Perform API testing using tools like REST Assured (for Java), Cypress (for JavaScript) and other tools to validate data integrity and functionality of backend services.
- Deliver timely and precise updates on testing status and quality metrics to stakeholders throughout all testing phases and compile Quality outcomes summary upon project completion. Advocate for superior software testing practices within the team and foster adoption across the organization, promoting software development methodologies that enhance overall software quality.
Requirements:
- Bachelor’s Degree in Computer Science, Software Engineering, or a related field; advanced degree preferred.
- At least 10 or more years of experience in large-scale applications development projects using open-source technologies, with extensive experience in software development, particularly in full stack projects, demonstrating adherence to standard development best practices.
- High proficiency in Java and Selenium programming, has played a major role in designing, developing and evolving the test architecture of large scale, highly available cloud solutions, with a strong understanding of Cloud-Native architectures and practices.
- Strong coding and scripting ability in Python, Shell and/or Ruby on both Windows and Linux platforms, with experience in troubleshooting and optimizing existing codebases.
- Familiarity with Golang and Laravel codebases—able to write basic test scripts or helpers
- Experience testing microservices architectures and RESTful/gRPC APIs
- Strong knowledge Cucumber, TESTNG, Rest Assured API Automation.
- Expert level skills in writing NUnit or JUnit tests scripts and Test cases, has driven positive change towards Continuous testing, DevOps and Agile.
- Proficiency in working with SQL, RDBMS and In-Memory Databases.
- Coding experience with C#, Kotlin or other Object oriented programming languages is advantageous.
- A sound understanding of agile methods of software delivery and the principles and practices of BDD, ATDD and TDD.
- Excellent knowledge of CI/CD tools such as Jenkins or GitLab CI
- Strong knowledge of Docker and AWS (public cloud)
- Knowledge of Kubernetes (EKS) and Kafka is desirable
- The ability to work closely with technical and non-technical stakeholders in order to determine appropriate acceptance criteria for both business and technical needs.
- Excellent communication skills: written & verbal
- Ability to make tactical as well as strategic decisions and recommendations based on incomplete or ambiguous information
- Strong analytical and problem-solving skills to effectively debug and resolve complex technical issues.