We’re hiring a Software Development Manager for Our Vital Testing Program
We build applications to provide a world-class user experience and service quality. To guarantee the highest quality, we rely heavily on automated testing. We aim to test all aspects of our applications’ functional and non-functional requirements automatically with test suites running 24/7 in vast combinations of test environments.
Examples of the types of complex automation challenges we face are:
- Our application is always on. It runs in the background 24/7 on the user’s device and thus consumes battery. We need to understand if that battery consumption is reasonable. How does it compare to competitors? How does consumption vary across different devices from different OEMs and on different OSes? How does consumption change depending on the user’s usage patterns?
- We are responsible for protecting the user’s privacy while our app is running. We need to guarantee that our application doesn’t leak any private data. We need to test this guarantee in complex environments involving many combinations of operating system versions and configurations, network topologies, network events, user behaviours and more.
- We need to aggressively stress test our applications and prove that they are stable, crash-free, and provide excellent service quality no matter how long they’ve been running nor how the user interacts with them.
- We need to test that the network speeds a user receives when using our applications are the best in the industry. We must measure those speeds regularly in many environments to ensure we are demonstrably faster than all of our competitors
About the Team
You will be managing an engineering team with a QA focus. They build complex and robust test frameworks, and black box test cases to automatically test the hard to test aspects of our applications. In general, individual development teams write tests for their software, but in cases where the challenges are sufficiently complex this team provides a dedicated service to crack those challenges.
We combine off-the-shelf technologies, in-house technologies and services, and our own hand-rolled technologies to solve these problems. The biggest challenges are not writing test cases themselves, but solving problems such as:
- Ensuring tests are stable and require minimal human effort to operate
- Dynamically changing and breaking network environments without losing contact with devices under test
- Scaling our solutions to run in many different environments
- Building non-binary test cases which produce statistical results rather than simple pass or fail results
As lead of this team you will be responsible for:
- Building, maintaining and operating test suites which test our applications on speed, battery life, stability, reliability and privacy leaks.
- Building test suites which test competitor applications.
- Building new test suites to meet new requirements of our applications.
- Creating open source tools for 3rd parties and the public to independently verify our test results.
- Continually adjusting and improving our test suites to keep up with new OSes, hardware and functionality.
- Working with development teams to find ways to improve application quality and fix issues.
- Defining roles and expectations for your team and holding them accountable.
- Hiring and training your team to ensure you have sufficient skills and capacity to meet your customers’ needs.
You are accountable for:
- Stability of our test suites.
- Minimizing the number of shipped regressions in areas covered by our test cases.
- Exploratory testing to find new bugs already in the wild.
- Ensuring we can test fast and ship new builds of our applications quickly.
- Delivering new test suites to meet the demands of your customers in a timely fashion..
- Proven track record as a people manager: you hold your team accountable; encourage skills development and career plans; and provide continual, motivating feedback and coaching to your team.
- Successful track record building complex black box testing systems similar to those described above.
- Experience with black box automation frameworks such as Appium.
- Excellent at writing automated tests.
- A passion for finding edge cases and bugs in software.
- Proven track record in leading the technical work of other people.
- Experienced with Agile SDL practices such as Kanban or Scrum.
- Great verbal and written communication skills.
- Strong sense of ownership, great problem solver, hunger for learning, and positive disposition.
- Network engineering experience
- Experienced developer on at least one client side platform, e.g. iOS or Windows.
- Experienced developer in a lower level language like C++ or Rust
- Experienced Scrum Master.
- Experience with TDD and BDD.
What we offer
- Full-time employment with flexible working hours
- Challenging work in a fun and collaborative environment
- Attractive compensation and time-off benefits
- Spacious open-concept and centrally located offices
- Financially successful and profitable company
- Fully stocked pantry with healthy foods and fresh fruit
- Team lunches and company events every quarter
- Multicultural teams represented by 30+ nationalities
Please do not include any salary information on your resume.