Flutter plugins are the means by which Flutter applications communicate with the underlying platform-specific APIs (e.g. GPS, camera) or embed platform-specific UI widgets (e.g. WebViews, Google Maps).
The Flutter team is looking to improve the quality of our ecosystem of Flutter plugins. To that end, we’re seeking software engineers to join our team and contribute to this effort.
In the “Ecosystem & Plugins Englineer” role, you’ll be part of a team that is tasked with the following mandates:
- Simplify the development of Flutter plugins.
- Make plugin communication between Flutter and the underlying platform fast, robust, and simple.
- Maintain and improve the most important reference-implementation plugins on Android and iOS — including Google Maps, WebView, Ads, and In-App Purchase.
- Encourage the growth and quality of the Flutter plugin ecosystem (pub.dev).
- Nurture a thriving community of contributions from open-source developers by reviewing GitHub pull requests (PRs).
- Improve the developer experience or performance of Flutter's platform interoperability layer (plugin messaging).
- Work with the Flutter engine team on system-level upgrades, such as allowing straight Dart to C++ communication (without going through JNI) for low-level library access.
- Maintain and improve Flutter platform view integration or Flutter's core plugins (Ads, Maps, WebView, In-App Purchase) on Android or iOS.
- Work directly with Flutter’s high-priority customers to solve plugin issues.
- Participate in shared team responsibilities like issue triage, code review, design review, and bug fixing.
You must meet these minimum qualifications to apply for this job
- Software development experience in one or more general-purpose programming languages
- Proficient in written and verbal English
- Enjoys working in a team environment
- Self-motivated and possesses a good work ethic
Having these qualifications is a plus, but transferable skills/experiences may be equally valuable
- Experience with native mobile development a plus (e.g. using Java, Kotlin, Android NDK, ObjC, or Swift)
- Loves making order out of chaos
- Possesses a good sense of API design
- Enjoys learning new technologies
- Systems thinking and analysis: an ability to see how things might fail in unexpected ways
- Can efficiently navigate ambiguity by evaluating potential solutions and weighing pros and cons
Please send the following to email@example.com:
- A resume outlining your relevant experience
- A short introduction describing why you think you’d be a good fit for this position
- The preferred method by which you’d like Google to contact you