Core Repository Maintenance QA Engineer
Must Have Technical/Functional Skills
Proven experience in Flutter development, mobile application QA, and contributing to large open-source projects.
● Deep understanding of Flutter framework architecture, best practices, and contribution guidelines.
● Manual and automated testing, performance benchmarking, regression testing on iOS and Android.
● Proficiency with GitHub workflows, issue tracking, and pull request management.
● Advanced problem-solving and debugging in a distributed ecosystem.
● Familiarity with Flutter's style guide and tree hygiene standards.
● Ability to include tests in PRs.
● Experience with building, running, and testing the Wonderous app.
● Experience with Flutter app creation and module embedding.
● Experience testing Flutter platform integration features (text input, web view, video player, mobile ads).
● Experience running tests against Xcode beta releases, Android Studio RC releases, iOS version releases, and Android OS releases.
● Ability to adjust manual QA processes.
Roles & Responsibilities
● Flutter Bug Fixing and Pull Request Submission:
● Identify and fix high-value issues in the open-source Flutter framework repository.
● Select issues for fixing in consultation with Customer POC, focusing on small scope and high customer value.
● Provide input on issue candidates based on expertise, feasibility, and value.
● Submit pull requests (PRs) resolving selected issues, meeting Flutter standards for code contributions, style guide, and tree hygiene.
● Include tests in PRs to demonstrate correct behavior.
● Respond to code reviews within 2 business days or less.
● Merge changes and close issues with appropriate commentary.
● Flutter Issue and Pull Request Triage:
● Triage GitHub issues and PRs for `flutter/flutter` and other mutually agreed-upon repositories.
● Assign GitHub labels per Flutter issue label standard, determining relevant labels by reading problems and requesting clarifying information.
● Attempt to reproduce issues reported on Flutter's master and stable channels.
● Close duplicate new entries.
● Label 95% of new issues within 1 business day (SLO).
● Label existing backlog when not meeting the SLO.
● Escalate urgent GitHub issues to the Flutter core team by marking with `[P0]` label within 1 business day.
● Mark stale issues for automatic closure or close manually if bot fails.
● Provide weekly status on triage efforts and highlight interesting issues.
● Participate in regular reviews to adhere to SLO, revise SLO, and optimize triage process.
● (Secondary Priority) Aid in pull request triage: indicate spelling mistakes/obvious coding errors, ensure tests are provided for new functionality, label PRs for secondary triage, solicit and act on feedback from the Flutter open-source community.
● Flutter Quality Assurance and Release Management:
● Execute a test plan including application testing, accessibility evaluations, performance benchmarking, and regression testing.
● Weekly Main Branch Testing: Run tests on Flutter main branch (latest green build) weekly on 4 physical devices (iOS high-end/low-end, Android high-end/low-end).
● Build, run, and test the Wonderous app (tap-through, TalkBack/VoiceOver navigation, performance testing using DevTools with FPS, Janks, Shader compilations, and reporting >10% variations, running on Android emulator/iOS Simulator).
● Test Flutter app creation and module embedding (create/run new app, inject basic counter module into native Android/iOS apps).
● Test platform integration features (text input, web view, video player, mobile ads, verify rendering, rotation functionality, performance, touch events, text input).
● Xcode beta release (up to twice a month): Run weekly main branch tests against new Xcode beta release, also testing Flutter Beta and Stable branches.
● Android Studio RC release (up to once a month): Run weekly main branch tests against new Android Studio RC, modifying `minSdkVersion` and testing Flutter Beta and Stable branches.
● iOS version release (up to twice a month): Run weekly main branch tests against new iOS version, also testing Flutter Beta and Stable branches.
● Android OS release (up to once a month): Run weekly main branch tests against new Android OS version, also testing Flutter Beta and Stable branches.
● Manual QA Process Adjustments: Change manual QA test processes to catch specific regressions undetected by automated testing and existing manual QA, when new automated tests are infeasible.
Salary Range: $75,000-$94,000 a year
Apply Job!
Apply to this Job