**Company Description**
Hello, we are **Edify**, one of the highest-ranked IT companies in Costa Rica and Central America.
We're a consolidated technology services consulting firm specializing in education technology. We deliver unbelievably creative and rock-solid solutions for a wide range of clients, including major corporations, startups, educational institutions, and non-profit organizations.
We help our clients design, build and run some of the most interesting ventures in the industry while promoting a warm, friendly and cooperative culture. Work and life should definitely be balanced, so we're serious about cultivating a great work environment.
Job Purpose
Responsible for analyzing, designing, developing, maintaining, evaluating and assuring the quality and performance of different software system components and their respective relationships, supporting and guiding others in his work team.
Key roles, Responsibilities and Functions:
- Define the quality control process for the project and its integration with the development process.
- Analyze project requirements of low, medium and high complexity.
- Determine the needs for testing functional and non-functional system requirements.
- Estimate the effort needed to implement the tests of the previously analyzed requirements.
- Analyze design proposals for new or existing systems to identify potential improvements.
- Develop the test plan based on the requirements analyzed.
- Generate high-level tests for the analyzed requirements.
- Design and implement frameworks for scheduled tests.
- Design and implement integration and system tests with the help of the team.
- Implement low-level test cases for analyzed requirements.
- Define the strategy for keeping the tests up-to-date with the changes introduced.
- Design and implement scheduled tests as planned for the project.
- Run the implemented test cases both manually and automatically.
- Verify and issue reports of results of the execution of test cases. Examples: defect reporting found, daily report of project status, report of debt to cover tests, report of analysis code, analysis report of design proposals.
- Ensure that the quality control process is followed as planned, identify variations in the quality control process, and
define corrective actions.
- Issue test reports for closing iteration.
- Issue reports from deployment to production.
- Issue project completion reports.
- Document lessons learned and follow up on them.
- Document technical and process aspects related to your day-to-day work (technical documentation, report of estimates and actual effort -timesheets-, workflow).
**Qualifications**
Required skills:
Advanced knowledge in:
- Object-oriented, functional, procedural and asynchronous programming paradigms.
- Software engineering processes (development cycle and quality control).
- Software quality assurance (unit, integration, system and user acceptance testing).
- Automated, performance, load, stress, API tests, among others.
- System design standards, good development practices and system testing.
- Documentation (test cases, design diagrams, README. md, API, wiki).
- Agile development methodologies including SCRUM and Kanban.
- Ruby and PHP(desirable).
Previous experience working with the following tools:
- Tools for programming test cases such as Selenium, Jmeter, TestNG, among others.
- Management of POSIX shell.
- Build Managers and dependency management such as Maven, Gradle, Grunt,
Gulp, WebPack, NPM and Yarn.
- Tools for managing continuous integration processes such as Travis, Jenkins and CircleCI.
- Relational and non-relational databases.
- Code management tools (Source Control).
- Basic knowledge of Cloud computing: AWS.
- Experience of at least 3 years working with one of the following languages: Java,
Javascript/NodeJS, Python, JSON, SQL.
Academic training:
- Technician or Bachelor in Computer Engineering, Computer Science and related or level of demonstrated equivalent knowledge.
**Language**:
- Technical and conversational English level B2+ according to the Common European Framework.
Work experience:
- Senior Quality Assurance Engineer: Minimum 5 years of experience in quality assurance, of which at least 4 years are in test-oriented software development.
- Intermediate Quality Assurance Engineer: Minimum 3 years of experience in quality assurance, of which at least 2 years are in test-oriented software development.
**Additional Information**
**Benefits**:
- 100% work remote from any part in Costa Rica.
- Digital Nomad.
- Monthly Internet connectivity allowance.
- Private health insurance for employees (90/10), 50% for beneficiaries (spouse and children).
- International Health Insurance.
- Marriage leave.
- Bereavement leave.
- Sick days.
- Ergonomic equipment.
- Educational assistance (courses, certifications, books).
- Life insurance for employees.
- $800 referral bonus.
- Personal support through our wellness department.
- Dental and optic