Cellulant is Africa’s no.1 company in the payments & transfers category - FIntech Awards 2016. We are a PPISP (Payment Platform Infrastructure Service Provider) regulated by the Central Bank of Nigeria (CBN) and insured by Nigerian Deposit Insurance Corporation (NDIC).
We are recruiting to fill the position below:
Job Title: Senior Software Engineer In Test - QA Engineer
Location: Lagos
Employment Type: Full Time
Job Description
As a Software Quality Test Engineer, you will utilize your experience and technical expertise to make your mark in our software development's life cycle. Relish the chance to create an impact in this key role where you will liaise with talented engineers and business experts.
Your understanding of end to end testing life cycle will see you liaise seamlessly with a broad cross-section of colleagues, product owners and stakeholders, and contribute to process implementation improvements for advice delivery.
Key Relationships:
Software Engineers.DevOps, and
Product Managers within existing product teams to deliver high quality software releases
Responsibilities
Expanding our existing test automation framework and test coverage.
Developing new tests and tools for our core products, backend APIs and services and CI/CD pipelines
Collaborating with a product and development teams to understand how new features should be tested and to contribute to automated tests for these new features.
Collaborate with other QA Engineers to perform quality planning and improve test coverage.
Participate in test pipeline on-call rotation to ensure timely triage, addressing, and communication of pipeline failures.
Contribute to improving test stability in both production and non-production environments.
Contribute to the development of new test framework tooling and provide feedback on proposed approaches. Enhance deploy processes, deployment scripts, and build pipelines in collaboration with other Software Engineers in Test.
Expand knowledge of provisioning and setup tools such as Omnibus, the Orchestrator, Terraform, Ansible, Kubernetes, Helm Charts, GCP, or AWS for effective test environment management.
Take ownership of tasks within assigned OKRs. Regularly manage project schedules, ensuring alignment with team and department goals. Exercise judgment and independently identify next steps.
Clearly document processes and knowledge in collaboration with team members to facilitate knowledge sharing and ensure information accessibility.
Collaborating with engineers to define and implement mechanisms to inject testing earlier into the software development process.
Identifying, sharing, and nurturing the adoption of best practices in code health, testing, testability, and maintainability in collaboration with the wider Quality Engineering department. You should champion clean code and the concept of the test pyramid.
Analyzing complex software systems and collaborating with others to improve the overall design, testability, and quality.
Striving for the fastest feedback possible. Test parallelization should be a top priority. You see distributed systems as a core challenge of good test automation infrastructure.
Configuring automated tests to execute reliably and efficiently in CI/CD environments.
Tracking and communicating test results in a timely, effective, and automated manner.
Qualifications
Having obtained a Degree in a relevant Computer Science.
Qualified to ISEB/ISTQB Foundation Level or better.
You've got a working knowledge of Docker.
You're interested in growing your knowledge and skills in Test Environment Provisioning and Configuring using technologies like Terraform, Ansible, Kubernetes, GCP, or AWS.h
Knowledge Continuous Integration systems (e.g., Jenkins, Travis, GitLab), Programming languages and tools: Python, Selenium, Java, XML, SQL, JavaScript and REST API testing tools such as Postman, SOAP UI, JMeter.
At least 5 years automated testing Experience.
Solid background in test automation, including experience with test automation frameworks, tools, and scripting languages (e.g., Selenium, Appium, JUnit, TestNG, Python, etc.).
Hands-on experience in testing backend APIs and services. This includes knowledge of API testing tools (e.g., Postman, REST Assured) and proficiency in designing and executing tests for API endpoints, data validation, error handling, and performance.
Experience with CI/CD pipelines and DevOps practices is crucial AND be adept at integrating automated tests into the CI/CD process, configuring test environments, and ensuring reliable and efficient test execution within these environments.
Be able to understand new feature requirements, contribute to test planning, and effectively communicate test results and progress to stakeholders.
Have a strong understanding of test design principles, including designing tests for complex software systems.
Be capable of analyzing system architecture and collaborating with others to improve testability, design efficient test cases, and identify areas for test automation.
Be well-versed in quality assurance best practices and be able to champion clean code, the test pyramid concept, and other relevant methodologies.
Actively promote code health, testing, testability, and maintainability within the wider Quality Engineering department.
Experience in tracking and communicating test results effectively and in an automated manner is important. The candidate should be capable of providing timely and accurate test reports, including metrics related to test coverage, test efficiency, defect tracking, and schedule variance.
Skills:
Test Framework Development.
Performance and Load Testing
Security Testing working with tools like OWASP ZAP or Burp Suite.
Test-Driven Development (TDD)
Cloud and Distributed Systems Testing
Mobile Testing- (iOS, Android) and devices with mobile testing frameworks (e.g., Appium, XCTest, Espresso) and testing mobile-specific functionalities (e.g., push notifications, geolocation) would be valuable.
Agile/Scrum Methodologies- particularly Scrum, would be beneficial to have experience with Agile-specific testing practices (e.g., sprint planning, user story refinement, retrospectives)