Position Title: Quality Assurance Engineer
We seek a skilled and experienced QA Engineer with expertise in infrastructure-related areas such as performance, scalability, networking, and containerization technologies like Docker and Kubernetes. As a QA Engineer on the Infrastructure team, you will be responsible for ensuring the quality and reliability of our infrastructure, systems, deployments, and applications.
We build the Community Health Toolkit (CHT), which anyone can use to create healthcare applications. One important aspect of working on the team is using the CHT in a technical sense. As a QA Engineer on the Infrastructure team, you will contribute to the team by helping test the infrastructure needed to run those apps successfully.
The work is more technically challenging than may typically be found in a QA role and if you’re looking for that, please apply!
Key Responsibilities
Quality Assurance:
- Provide acceptance testing and release testing of new features, bug fixes, and other improvements
- Use your initiative to perform any exploratory testing, fuzzing, or other means of exploratory quality assurance you think is required to maintain a high-quality product
- Learn and operate the CHT to quickly set up and execute complex test scenarios
- Design, develop, and execute test plans, test cases, and test scripts to verify infrastructure components, such as networking, servers, storage, and databases, meet our quality standards
- Work closely with the development team and/or SREs to identify and resolve performance bottlenecks, scalability issues, and other infrastructure-related problems
- Collaborate with SREs to maintain, configure, and deploy infrastructure and applications using containerization technologies like Docker and Kubernetes
- Define and implement automation frameworks and tools to improve testing efficiency and effectiveness, and reduce manual testing efforts
- Participate in code and design reviews to provide feedback on the quality and testability of the code
- Conduct research and experimentation to explore new testing techniques, tools, and technologies that can enhance the quality of our infrastructure and applications
Quality Assistance
While there are plenty of times you may help test something independently, we are moving to a system of “quality assistance” where the role of a QA engineer is to focus on automation and building quality-enhancing tools. Manual testing stays with the software developer and author of the code, and the QA engineer’s involvement is to assist in that by advising on important test cases to perform and reviewing parts of the code for quality risks.
Automated testing
- Work with teammates to build an extensive automated testing suite using WDIO
- Use CI/CD tools like GitHub Actions to fully automate aspects of the testing process and improve our build pipeline
- Learn new programming languages, platforms, toolkits, libraries, tools, and application development paradigms as necessary
Other Team Activities
- Work with the Engineering Managers, Director of Product Development, and development team to guide platform development and technical strategy with regards to testing
- Work with the development team to improve test procedures within the development process
YOU
- Are detail oriented and enjoy finding pesky bugs
- Are comfortable in a UNIX-like environment
- Have experience with some infrastructure-related technologies, like Docker, Kubernetes, and networking.
- Are familiar with some of the following web technologies: HTTP, SSL/TLS, REST, JSON, HTML5, JavaScript, NoSQL
- Have experience with regression and exploratory testing
- Have some experience with performance and scalability testing
- Care for optimizing and automating
- Thrive working as part of a distributed team with a flexible schedule
- Enjoy working remotely with opportunities to travel to project sites (e.g. Nepal and Kenya)
- Are comfortable working with Site Reliability Engineers (SREs) and developers early in the process. You don’t wait for things to be ready, you ensure quality by helping them since the beginning of the work in an iterative way
- Want to help build software that improves lives in a real and significant way
If this interests you please apply as soon as possible as shortlisting is ongoing. Candidates must have valid authorization to work in the region without requiring sponsorship.
Why Medic?
Purpose & Impact
- Ability to create and see real impact in your work
- Freedom to take initiative and innovate, bonus of an agile, small team
- Work for a globally awarded social enterprise recognized for developing a solution that can create global systems change in the health sector
The Team
- Work with a value and mission driven team that is consistently described as warm, incredibly kind and supportive
- Exposure to a diverse team: over 15 different nationalities
- Opportunities for global travel: all team meet-up + functional team meet-up + field visits
Work/Life & Growth
- Generous leave time: vacation, maternity/paternity, bereavement, & sick days
- Professional development funds & opportunities + 5 days off for prof dev
- Workspace and communication stipends
- Flexible, remote schedules
About Medic
Medic is a global nonprofit organization with a mission to advance equitable healthcare and strengthen community health systems by building, innovating, applying, and scaling open-source, low-cost digital health tools in collaboration with communities, governments, and implementers. We envision a more just world in which health workers are supported as they provide care for their neighbors, universal health coverage is a reality, and health is a secured human right.
Medic serves as the technical steward and core contributor of the Community Health Toolkit (CHT), a leading open-source, global good for digital health and advanced community health systems. We drive increases in coverage, quality, and speed of care in the hardest-to-reach communities, improvements in health workforce performance, and greater data-driven decision-making among health system leadership. Digital health apps built using the CHT currently support over 41,000 health workers in 16 countries across Africa and Asia. To date, health workers using CHT apps have conducted over 80 million healthcare activities.
Our global team of 90+ teammates is our biggest strength. We live our organizational values of Humanity, Solidarity, Openness, Creativity and Initiative in everything we do. We are a remote-first organization that works across more than 14 countries, 32 cities, 4 physical hub locations (Nepal, Kenya, Uganda, and Senegal) and all time zones. We are dedicated software developers, researchers, project managers, designers, and operations specialists working together to reimagine care for all. Join our mission of building a more just world together!
How to apply
Please apply as soon as you can at www.medic.org/careers or click on this link.