Flutter Tools Engineer

The Flutter command line tool is the main entrypoint to Flutter for hundreds of thousands of Flutter application developers. It is responsible for Flutter’s installation, obtaining dependencies, keeping Flutter up-to-date, building and packaging Flutter applications, and providing a polished developer experience for both command-line and IDE users of Flutter.

The Flutter team is looking to improve the performance, stability, and usability of the Flutter command line interface. To that end, we’re seeking software engineers to join our team and contribute to this effort.

In the “Tools Engineer” role, you’ll be part of a team that is tasked with the following mandates:

  • Make Flutter a more delightful way to develop cross-platform applications.
  • Make the Flutter tool reliable and fast.
  • Collaborate with engineers working on the Flutter Framework, Flutter DevTools, the Dart team, and our passionate users to give Flutter developers new super powers for making delightful apps.
  • Nurture a thriving community of contributions from open-source developers by reviewing GitHub pull requests (PRs).

Job responsibilities

  1. Build new features and optimizations in the Flutter command line tool.
  2. Refactor existing tooling capabilities to accommodate new customer requirements, platform versions, and to improve overall code health.
  3. Participate in designing improvements to Flutter’s developer experience.
  4. Work directly with Flutter’s high-priority customers to solve tooling issues.

Job location

  • Mountain View, CA

Minimum qualifications

You must meet these minimum qualifications to apply for this job

  • BS degree in Computer Science, similar technical field of study or equivalent practical experience.
  • 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

Preferred qualifications:

Having these qualifications is a plus, but transferable skills/experiences may be equally valuable

  • Experience with some combination of: software development in Dart, developing command line tooling, Android or iOS mobile application development, using a variety of build systems.
  • Excellent communication and teamwork skills with the ability to work with a wide variety of people.
  • 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

To apply

Please send the following to flutter-jobs@google.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