Software Engineer, Mobile (Flutter)
United StatesFull-timePosted 2mo ago
About the role
Mobile-focused software engineer role responsible for end-to-end feature ownership in Plane’s Flutter-based mobile app, collaborating with backend, design, product, and QA across San Francisco and Hyderabad to ship features across multiple server versions.
Responsibilities
- Own feature areas end to end, from the interface through the data layer into the native code underneath, starting with scoped ones and taking on larger ones as you learn the app.
- Build every feature to the same architecture. It is written down and it is not optional, which is what lets anyone on the team open any part of the app and know where the state, the data and the interface live.
- Own the native surface on both platforms: home screen widgets in WidgetKit and Jetpack Glance, quick actions, method channels, and the background work that keeps a widget and the app in agreement without costing the person their session.
- Own how the editor feels on a phone. Plane's editor is built by our editor team and renders inside a fork of InAppWebView, so making it behave like part of the app rather than a page inside one is yours, in their codebase as much as ours.
- Own how work reaches a phone: push notifications, notifications inside the app, the inbox, catch up, and the activity that people and agents generate on items and pages.
- Work daily with backend, design, product and QA across San Francisco and Hyderabad, writing the test scenarios for each platform that QA gates the release on and raising coverage in the code you touch.
- Ship against several server versions at once. Working out what a feature does on a self-hosted instance three releases behind is tedious, and it will make you good at designing for software that upgrades on someone else's schedule.
Qualifications
- You have shipped and maintained Flutter apps in production.
- You architect for whoever arrives after you. Clean architecture and SOLID are already how you work, and you can walk us through a codebase you structured and what you would change now.
- You understand state management as a pattern, not a library. Unidirectional flow, how events become state, and where side effects belong. We use Bloc.
- Dependency injection is a habit, not a package choice. You can describe your composition root and how you swap implementations in tests.
- You write unit and widget tests while you build. Point us at one that caught something real before a user did.
- You match the codebase you are in. Our patterns are written down, and we would rather a feature look like the rest of the app than like your preference.
Skills
Required:FlutterDartBlocUnidirectional data flowDependency injectionUnit and widget testing
Last updated Aug 19, 2026. Interested? Apply on the company site.
About Plane
The Open Source Project Management Tool
Open-source project management that's simple, extensible, and loved by teams.
project managementopen sourcedevelopment toolsteam collaborationissue tracking
More open roles at Plane
- Account Executive, Enterprise2w agoIndia · Go-To-Market (GTM)
- Principal Engineer, Frontend1mo agoIndia · Engineering
- Principal Engineer, DevOps1mo agoIndia · Engineering
- Account Executive, Enterprise2mo agoGermany · Go-To-Market (GTM)
- Senior Product Designer2mo agoUnited States · Product and Design