Senior Flutter Developer
Location : Remote
Contract : PJ (full-time)
Level : Senior
We’re building a virtual office platform for remote and hybrid teams. It brings together persistent rooms, real-time presence, audio / video (WebRTC), chat, screen sharing, collaborative boards, and immersive spaces to boost connection, productivity, and team cohesion — all in one place.
The Role
We’re looking for a Senior Flutter Developer focused on macOS Desktop to build and evolve our desktop client. You’ll ship a high-performance, stable, and well-instrumented app that integrates video / audio, real-time features, and collaborative tools—while keeping top-tier code quality, testing, and documentation.
Secondary scope : help maintain Android and iOS builds (feature parity, fixes, and releases).
What You’ll Do
- Design, build, and maintain the Flutter macOS app with clean architecture, modular layers, and reliable state management.
- Integrate RESTful APIs and real-time services (e.g., WebSockets / Streams).
- Implement A / V features (e.g., flutter_webrtc): device selection, camera / mic permissions, I / O routing, and stability under variable networks.
- Ensure observability end to end: instrument product events / metrics; triage errors with Sentry; capture UX signals with Microsoft Clarity (session replay / heatmaps) where applicable (web / embedded views); analyze performance traces and dashboards.
- Own quality: unit, widget, and integration tests; CI checks; code reviews; technical docs.
- Handle macOS distribution: code signing & notarization, entitlements, Hardened Runtime, App Sandbox, Keychain; package DMG / PKG.
- Manage auto-update (e.g., Sparkle).
- Collaborate with Product / Design / QA to refine requirements, edge cases, and acceptance criteria; keep specs tidy in Confluence and PRs clear.
- Team rituals & reporting: attend daily standups in English and other ceremonies (planning, grooming, demos, retros); keep Jira up to date (status, links, attachments) and log time entries (work logs) per task; submit an end-of-day (EOD) daily report in English including: hours worked (per task), what was completed, current task & ETA, blockers, and plan for tomorrow.
- Secondary (Android & iOS): maintain parity when applicable, fix platform-specific issues, help with CI / CD and store releases, monitor crashes / perf via Sentry and review UX insights with Clarity when relevant.
- CPU & GPU Optimizations (primary focus)
- Minimize rebuilds: effective state selection (BLoC / Riverpod / Provider), const constructors, proper Keys, split large widgets.
- Cut redundant layout / work: avoid heavy logic in build, cache computed values, reduce intrinsic measurements, coalesce events, debounce / throttle streams.
- Move heavy tasks off the UI thread: isolates (compute / custom), lazy JSON parsing, incremental work units.
- Frame scheduling discipline: prevent setState loops; render only when state actually changes.
- Reduce overdraw / repaints: place RepaintBoundary wisely; optimize CustomPainter (shouldRepaint); avoid large Opacity on complex subtrees.
- Avoid expensive effects: minimize saveLayer, heavy blurs / gradients and big shadows; use right-sized images & filterQuality (low / none when acceptable); limit transforms on large layers.
- Shader jank control: warm up shaders / capture SkSL where applicable; keep fragment shaders simple.
- Pause / disable animations when off-screen; keep animation count / area minimal.
- Measurement & Guardrails :
- Profile with Flutter DevTools (CPU / GPU / frame timeline) and add perf budgets (avg CPU% / GPU frame time) to CI gates.
- Track before / after metrics per feature; regressions must be fixed before release.
- Must-Haves
- Fluent English (spoken and written): comfortable in daily English standups and writing EOD reports.
- Strong experience with Flutter and Dart building Desktop apps (preferably macOS).
- Proven work reducing CPU / GPU usage in Flutter apps (ideally desktop / macOS) with measurable before / after results.
- Solid grasp of architectural patterns (MVC / MVVM / Clean), DI, and state management (BLoC / Riverpod / Provider).
- Hands-on with RESTful APIs, WebSockets / Streams, async / isolates, and robust error handling.
- Firebase (Auth, Firestore, Analytics) or equivalent, Microsoft Clarity (for UX / session insights in web-embedded contexts), and Sentry for error / performance monitoring.
- Git proficiency, code reviews, CI (e.g., GitHub Actions / GitLab CI), and Jira work logs / time tracking.
- Nice to Have
- Deep macOS expertise: signing, notarization, App Sandbox, entitlements, Keychain, packaging, and updater pipelines.
- Practical WebRTC experience;
- Spatial audio; jitter / latency tuning.
- Android / iOS publishing (fastlane or equivalent), push notifications, and in-app review flows.
- Docker, CDN, and networking basics for real-time apps.
- Accessibility (VoiceOver / TalkBack) and internationalization.
- Benefits & Environment
- Remote-first, flexible hours, and competitive market range.
- Fast feedback loops, ownership, and a product with real impact on how teams work every day.
- Support for learning, events, and continuous improvement.