Senior QA/Automation Engineer
Senior QA/Automation Engineer
About Global Fishing Watch
Global Fishing Watch (GFW) is an independent, international non-profit organization that advances the sustainability and stewardship of the ocean by offering, for free, data and near real-time tracking of commercial fishing activity. We also support new science and research and we engage with governments, management organizations, and NGOs to advance the global dialogue on ocean transparency.
GFW processes a global database of vessel GPS positions, several terabytes in size, and applies machine learning models that infer each vessel’s type and size as well as when they are likely fishing. GFW is now developing new models, both on these GPS positions and on satellite imagery, to fully reveal activity in the world's oceans. These models include object detection from global feeds of satellite radar and optical imagery, and models that infer, based on vessel behavior, illegal activity, and unreported catch. We believe that these new models have the potential to dramatically change the way we monitor and manage the world’s oceans.
GFW's goal is to offer all datasets for free and develop tools to help users navigate those datasets, through a variety of products featuring high impact visuals and intuitive user interfaces.
Who we are looking for
Global Fishing Watch is seeking to add a QA automation engineer to enable us to boost the production, improvement and maintenance of all of our products both front-end and back-end. In past years, after the first version of the Global Fishing Watch map, the engineering team has worked on improving the base infrastructure, data processing, and ways of delivering the data through APIs to the world; Our front-end product portfolio has increased from 1 to 5 making every time more challenging to assess quality.
We are looking for a talented QA person that likes challenges and enjoys delivering products that have quality and are useful for the users. Our products try to give users the ability to explore and analyze Global Fishing Watch underlying data in an easy and responsive way using non-regular data visualization methods. We are looking for someone that has passion for automating, enthusiastic, autonomous, and creative. We are looking for someone that can improve the efficiency of the development progress and robustness of our products by detecting issues as quickly as possible.
The role includes working closely with the product team that is responsible for creating the users stories that the engineering team will be implementing and with the engineering team that implements both the front-end products and the backend products.
What you will be working on
You will get to work on projects that provide innovative ways of exploring GFW datasets :
- Interactive maps showing vessel tracks, fishing activity heatmaps, encounters in high seas, etc., through time;
- Dashboards used to analyze vessel activity and identify illegal, unreported, and unregulated fishing and related activities;
- Tools for users to display and analyze their own datasets alongside GFW’s datasets;
- Interactive articles (i.e. “storytelling”) and other pieces to highlight our research team’s work (papers);
- APIs all of our front-end products already use some of our APIs but we are expanding to have our APIs publicly available.
During the first year, the main focus will be set on the quality of our front-end products, specifically on the upcoming new version of our map that renders fishing effort and also allows the visualization of other of our geo-temporal datasets.
- Frameworks: React (the one with hooks) and Redux;
- Mapping and dataviz libraries: Mapbox GL, react-map-gl, D3, deck.gl, turf;
- CSS 3, CSS modules;
- Testing: Jest;
- Tooling: CRA, Webpack, Babel, Typescript, eslint, Yarn;
- Backend: Node, Go, PosgreSQL;
- Infra: Google Cloud Services;
- Design: Sketch, Invision;
- Git, Github.
- Find ways of automating tests of the different GFW products with a focus on performance, responsiveness, and cross-browser testing, as our users are diverse and operate on a diverse set of equipment and connectivity;
- Work closely with the product team in the definition of the user stories;
- Design and write test cases for our user stories to ensure they meet the acceptance criteria and validate them with the product team;
- Create the test suites for our products that will enable us to run only the necessary tests on different scenarios. It will also be your responsibility to decide which test cases are going to be automated or not, define the smoke tests suite and organize them in a convenient manner in our test suites;
- Implement the designed automated tests for the different products.
- Run regressions when new features are released to production or new versions of the underlying data are released;
- Work jointly with the team to integrate automated tests into the CD process when possible;
- Advance our overall QA testing strategy, infrastructure, and tools;
- Estimate, prioritize, plan and coordinate quality testing activities;
- Define, record, and report on metrics designed to assess QA testing impact and point to areas of weakness;
- Run regressions on production environments in a periodic way;
- Report found bugs in our issue tracking system and follow up the status until it is fixed.
Your skills Required technical skills:
- Experience with quality assurance practices and testing methodologies;
- Experience with test plan and test case development and execution;
- Experience with developing, executing, and maintaining automated test scripts;
- Experience testing on different devices and OSs;
- Experience testing non-traditional CRUD applications that use different kinds of data visualizations;
- Experience testing APIs.
- Experience testing Progressive Web Applications;
- Experience doing performance testing;
- Substantial experience with QA automation frameworks like Selenium;
- Great attention to detail without compromising quality;
- Having the mindset to try and ‘break’ things;
- Comfortable with Git and knowledge of different branching strategies for development;
Helpful Skills, but can be learned on the job:
- CI/CD environments;
- Open-source collaboration experience;
- Experience working with Docker;
- Experience working with cloud platforms like Amazon, Azure or Google Cloud Platform;
- Experience testing applications with map interaction and other types of data visualization.
Required Team and Communication Skills:
- Strong communication skills to effectively collaborate with designers, developers, product managers, and other relevant staff members or clients;
- Team player, willing to work with, teach and learn from the GFW team;
- Proactive mindset – enjoys and exhibits a high degree of ownership of tasks and projects;
- Comfortable working in a small but fast-growing organization;
- Experience working in Agile teams is preferable;
- High proficiency in English;
- Excellent communication skills – in person, phone, and, most important, written;
- Comfortable communicating with a wide range of individuals, including peers, juniors, and senior-level people;
- Intellectually curious, forward-thinking, willing to suggest/try new technologies and creative approaches to problems;
- Flexibility to adapt to changing instructions and requirements;
- Ability to manage multiple projects and meet deadlines;
- Experience working remotely.
Location: GFW has a distributed workforce, with employees all over the world. So this is a remote position, although it requires the individual to be in a time zone that overlaps significantly with Madrid and Buenos Aires.
Responsible to: Technical Director
Salary or Compensation: Commensurate with experience. GFW employee or consultant, depending on the country of residence.
Working Hours: Global Fishing Watch (GFW) supports flexible working, so the pattern of hours may vary according to operational and personal needs. GFW works across different time zones and weekend work may be required on occasion.
Travel: Currently suspended due to COVID-19. Periodic domestic and international travel will be required to meet with team members and for workshops and typically annual all-hands meetings.
Equal Opportunities: Global Fishing Watch is an equal opportunities employer. We hire and promote qualified professionals without regard to actual or perceived race, color, religion, sex, marital status, national origin, age, disability, or any other characteristic protected by applicable law. We believe that our mission is best advanced when welcoming the contributions of people of diverse backgrounds, beliefs and cultures. We are committed to providing an inclusive and welcoming environment for all employees of Global Fishing Watch and our partners, vendors, suppliers and contractors.