eHealth Africa designs and implements data-driven solutions and technologies to improve health systems for and with local communities. eHA’s technology works in low connectivity settings and uses data to drive decision-making by local governments and partner agencies to get optimum results.
We are recruiting to fill the position below:
Job Title: Software Quality Assurance Engineer
Department: GHI Projects & Shared Resources
Employment Type: Full-Time National Employee
Purpose of the Position
- The Quality Assurance Engineer develops and establishes quality assurance standards and measures for the software application services within eHA
- S/he will also gather and analyze data in support of business cases, proposed projects and system requirements. This will include writing test plans, scripts for tracking defects, fixes in product development and software application development
- The Quality Assurance Engineer will lead a team in an Agile environment and have extensive knowledge of the Software Development Life Cycle
- This individual will apply proven analytical and problem-solving skills to help validate IT processes through careful testing in order to maximize the benefit of business investments in IT initiatives.
What You’ll Do
- To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. Other duties may be assigned.
- Develop and establish quality assurance measures and testing standards for new applications, products and/or enhancements to existing applications throughout their development/product life cycles.
- Conduct internal audits to measure and assure adherence to established QA standards for software development, application integration, information system performance, and corresponding documentation.
- Create and execute test plans and scripts that will determine optimal application performance according to specifications.
- Verify and revise quality assurance standards as needed.
- Ensure that testing activities allow applications to meet business requirements and systems goals. Fulfill end-user requirements and identify existing or potential issues.
- Prepare and deliver reports, recommendations, or alternatives that address existing or potential trouble areas in IT systems and projects across the organization.
- Collaborate with software/systems personnel in application testing, such as system, unit, regression, load and acceptance testing.
- Make recommendations for improvement of applications to programmers and software developers or engineers.
- Communicate test progress, test results and other relevant information to project stakeholders and management.
- Test any new software to ensure integration into company systems meets functional requirements, system compliance, and technical specifications.
- Analyze formal test results in order to discover and report any defects, bugs, errors, configuration issues, and interoperability flaws.
- Assist in the development of change control processes, practices, and guidelines for new and existing technologies.
- Assure that output from the software development process includes adequate identification and interpretation of product requirements, such as a) traceability requirements, b) test requirements, c) usability, etc.
- Participate in developing, distributing and coordinating in-depth end-user reviews for modified and new systems and applications.
- Monitor program performance after implementation to prevent the reoccurrence of program operating problems and ensure the efficiency of operation.
- Recommend design improvements or corrections to engineers throughout the development process.
- Maintain effective communication with the project software engineers on project limitation, capability, performance requirement and hardware interface changes.
- Cultivate and disseminate knowledge of quality assurance best practices.
- Conduct post-release / post-implementation testing
- Work with cross-functional teams to ensure quality throughout the software development lifecycle
- Contribute toward the continuous improvement of project management methodology utilized within the Development team.
- Miscellaneous projects and duties as assigned to support the management team.
Who You Are
- Bachelor’s Degree from College or University in Computer Science, Computer Engineering, Information Systems Technology or related field.
- Minimum of 5 years of experience in Quality Assurance and Software Development of education and experience.
- Strong understanding of Python and desirably Django.
- Thorough understanding of RESTful API design, usage, and best practices.
- Good understanding of asynchronous request handling, partial page updates, and AJAX.
- Experience working with Java, Java EE, Linux, and related cloud technologies.
- Knowledge of agile development practices, continuous integration, and continuous deployment.
- Strong knowledge of system testing best practices and methodologies.
- Good understanding of databases and SQL. Exposure to NoSQL Databases ideal.
- Familiarity with front-end build tools, such as Grunt and Gulp.js.
- Understanding of accessibility and security compliance.
- Strong unit test and debugging skills as well as a proficient understanding of code versioning tools (Git).
- Experience in the creation and review of software and architecture designs.
- Fluent in English.
The work environment characteristics described here are representative of those an employee encounters while performing the essential functions of this job:
- Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions
- The noise level in the work environment is usually moderate but can become louder at times due to group discussions or activities. eHA is a tobacco-free environment.
The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job:
- Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions. The employee must occasionally lift and/or move up to 25 pounds
- Specific vision abilities required by this job include close vision, distance vision, peripheral vision, depth perception and ability to adjust focus. While performing the duties of this job, the employee is regularly required to talk and hear
- The employee is occasionally required to stand and walk. The employee is frequently required to sit and use a computer and reach with their hands and arms.
How to Apply
Interested and qualified candidates should:
Click here to apply online