{"id":121478,"url":"https://alion.io/job/idt-senior-flutter-software-engineer","title":"Senior Flutter Software Engineer","company":{"id":4445,"name":"IDT Corporation","domain":"idt.net","url":"https://alion.io/company/idt","size_band":"1001-5000","is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"Lever","truth_index":{"grade":"C","score":61,"open_postings":88,"ghost_share":0.648,"stale_share":0,"repost_share":0,"time_to_fill_p50_days":41,"computed_at":"2026-10-28T05:59:10Z"}},"role":"Mobile","role_family":"Mobile","seniority":"senior","employment_type":null,"work_mode":"remote","remote_scope":"stated_countries","remote_scope_basis":"posting_text","remote_working_hours":null,"hiring_geo_confidence":"inferred","locations":["Tbilisi, Georgia","Warsaw, Poland","Minsk, Belarus","Belgrade, Serbia","Vietnam"],"countries":["GE","PL","BY","RS","VN"],"hiring_countries":["BY","GE","MD"],"hiring_countries_total":3,"salary":null,"salary_estimate":null,"experience_years_min":3,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"AppsFlyer SDK","optional":false},{"name":"Bloc","optional":false},{"name":"Braze","optional":false},{"name":"CI/CD","optional":false},{"name":"Claude Code","optional":false},{"name":"Clean Architecture","optional":false},{"name":"Copilot","optional":false},{"name":"Crashlytics","optional":false},{"name":"Cursor","optional":false},{"name":"Dart","optional":false},{"name":"Deep Linking","optional":false},{"name":"Dependency Injection","optional":false},{"name":"Fastlane","optional":false},{"name":"Firebase","optional":false},{"name":"Flutter","optional":false},{"name":"Git","optional":false},{"name":"GitHub Actions","optional":false},{"name":"Json_serializable","optional":false},{"name":"Kotlin","optional":false},{"name":"Model Context Protocol","optional":false},{"name":"Modularization","optional":false},{"name":"PassKit","optional":false},{"name":"State Management","optional":false},{"name":"Swift","optional":false},{"name":"Trunk-Based Development","optional":false},{"name":"ViewModel","optional":false},{"name":"Adjust","optional":true},{"name":"CallKit","optional":true},{"name":"Jetpack Compose","optional":true},{"name":"WebRTC","optional":true}],"status":"live","first_seen_at":"2026-06-26T11:27:41Z","employer_posted_date":"2026-06-26","last_verified_at":"2026-10-28T07:29:49Z","board_verified":true,"closed_at":null,"days_open":123,"trust":{"level":"ghost","repost_count":0,"flags":["stale","company_stale"],"days_open":123},"description":"About the Role:\nBOSS Revolution helps millions of people around the world stay connected with family and friends through international calling, mobile top-up, and money services. As a Senior Flutter Developer on the DTC Calling team you'll build and evolve the flagship BOSS Revolution app.\nYour main direction is Product-Led Growth (PLG): the referral program (Refer-a-Friend), onboarding and activation funnels, promo and reward mechanics (loyalty and subscription offers, first-transfer and recharge bonuses, upsell offers), and the experiments that decide which of them ship. It is the main direction, not the only one: you'll take on any work the team owns - home, calling, money-transfer and top-up flows, subscriptions and payments - as the roadmap requires.\nYou'll work in one of the largest Flutter codebases in production - a monorepo of 100+ internal packages, feature-first clean architecture, and a strong engineering culture around code quality, testing, and automation - and ship in short, instrumented iterations: hypothesis → flag → variant → metric → decision. The app also carries a native calling stack (SIP/VoIP on Android and iOS); experience there is welcome, not required.\n\nWhat You'll Do:\nGrowth (main direction)\n Build growth mechanics end-to-end: referral flows (invite links, deferred deep links, reward tracking), onboarding & activation funnels, promo/reward dialogs and offer surfaces, in-app surveys - from a PRD with a success metric to a measured result in production.\n Run experiments as a habit: ship behind feature flags, wire variant assignment from our remote-config / A/B service (fixed-split and multi-armed-bandit tests) and Firebase Remote Config, tag events with test and variant, watch guardrail metrics, and remove the flag once the test is decided.\nInstrument and validate analytics: define and implement Amplitude/GA events and properties, keep the event taxonomy clean across releases, verify events before launch, and read funnel dashboards together with the PM and data team.\nRender server-driven promo content: integrate with our in-house campaign platform - targeted campaigns, remotely configurable copy and creatives, layout updates pushed from the backend in real time - with versioned fallbacks, so campaigns launch without an app release.\n Integrate third-party growth SDKs: attribution (AppsFlyer), Braze (push, content cards), ads (AdMob / AppLovin), payments and KYC vendors - mostly through Flutter plugins, occasionally extending them in Kotlin/Swift via platform channels.\nAcross the app and team\n Ship product features beyond growth: home screen, calling flows (Flutter UI over the native SIP stack), money-transfer and top-up flows, subscriptions and payments (card and wallet flows, Google/Apple Pay), country selection, chat and social features, performance and tech-debt work - the same standards, a different surface.\n Own features within our architecture: feature-first clean architecture, Bloc/Cubit state management, repositories, immutable state, Result-based error handling; migrate legacy Provider/ViewModel code in the modules you touch (e.g. the referral module) to the current patterns.\n Work at real scale: a Melos-managed monorepo with 100+ packages, strict dependency hierarchy, code generation (json_serializable / freezed), a shared design system, and a 90% diff-coverage gate enforced per package in CI (bloc_test + mocktail).\nKeep releases healthy: trunk-based development, ~2 releases a month through GitHub Actions and Fastlane, Crashlytics plus product-metric monitoring, staged rollouts and kill-switches for risky changes.\n Collaborate cross-functionally: with product managers (growth and core product), backend engineers (campaign, config and A/B services), data & BI, marketing (Braze campaigns) and QA - and push back on asks that cannot be measured.\n Use AI-assisted development as part of the everyday workflow: Cursor / Claude Code / Copilot with in-repo prompts, agents and MCP integrations.\nWe're Looking For:\n5+ years building mobile apps, including 3+ years with Flutter in production.\nStrong Flutter/Dart: Bloc/Cubit or comparable structured state management, async programming and isolates, code generation, dependency injection, clean architecture and modularization.\nHands-on, experiment-driven product development: feature flags and remote config (Firebase Remote Config, LaunchDarkly, Statsig, GrowthBook or an in-house service), A/B rollout mechanics (staged rollout, sticky assignment, kill-switch) and analytics instrumentation (Amplitude, Mixpanel, GA or similar) - including knowing how your experiments ended.\nDeep linking, including deferred deep links and App Links / Universal Links setup; understanding of attribution flows.\nWorking knowledge of native Android (Kotlin) and/or iOS (Swift) at the level of platform-channel and SDK integrations.\nStrong testing culture: unit and bloc tests with mocked collaborators, deterministic tests, comfortable working under coverage gates.\nFull lifecycle experience: Git, CI/CD (e.g. GitHub Actions), code signing, store deployment, post-release monitoring.\nProduct mindset: can work from a PRD with success metrics, propose instrumentation and guardrails, and explain trade-offs to non-engineers.\nEnglish: Upper-Intermediate or higher.\nIt Would Be a Plus:\nTime on a dedicated growth or monetization team: referral programs, onboarding optimization, paywalls / subscriptions, retention work, multi-armed bandits.\nAttribution and marketing SDKs by name: AppsFlyer, Kochava, Adjust, Branch; Braze, Iterable, CleverTap.\nServer-driven UI or remotely configurable content systems.\nPayments and subscriptions on mobile: card flows, 3DS, in-app purchases, Google/Apple Pay.\nVoIP / real-time communication: SIP, WebRTC, CallKit / Telecom framework, push-triggered call handling, audio session management.\nLarge monorepos (melos, Mason, Dart workspaces); migrating legacy state-management patterns.\nBeyond mobile: backend / BFF for growth features, data pipelines, observability.\nTelecom, fintech or other regulated consumer products (KYC, fraud vendors).\nComfort with AI-assisted development tooling.\nWe are pleased to offer you:\nRemote b2b (Georgia-Moldova) or on-site employment (Belarus-Moldova) work opportunity!\nStable job with long-term growth perspective.\nCompetitive salary with annual performance review.\nReally good hardware.\nAn exciting and challenging job with talented people around.\nContinuous learning and career growth opportunities.\nCompensation for professional training, seminars, and conferences.\nReferral program - get rewarded for helping us grow the team with talented people.\nCompany-supported English classes to enhance your professional growth.\nMore perks for the Minsk and Chisinau office employees.","description_format":"text","description_chars":6774,"description_truncated":false,"requirements":{"experience_years_min":3,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":null,"security_clearance":false,"languages":[{"language":"English","level":"Upper-Intermediate (B2)","optional":false}]},"benefits":["Continuous learning","Growth opportunities"],"hiring_locations":[{"name":"Belarus","iso":"BY","kind":"country"},{"name":"Georgia","iso":"GE","kind":"country"},{"name":"Moldova","iso":"MD","kind":"country"}],"hiring_excludes":[],"relocation_offered":false,"industries":["Unified Communications","Network Interconnect","Money Transfer & Remittances"],"lifecycle":[{"event":"open","at":"2026-06-26T11:27:41Z"}],"visa":[],"liveness":{"score":8,"band":"cold","label":"Long shot","p_open":1,"p_active":0.3,"p_room":0.28,"age_days":123,"expected_fill_days":41,"reasons":["conf:3","stale_co","velocity","ghost","win:tail","crowd:brand"],"computed_at":"2026-10-28T05:59:10Z"},"pay":null,"html_url":"https://alion.io/job/idt-senior-flutter-software-engineer","json_url":"https://alion.io/job/idt-senior-flutter-software-engineer.json","meta":{"generated_at":"2026-10-28T07:58:07Z","cache_seconds":300,"methodology":"https://alion.io/methodology","terms":"https://alion.io/terms","contact":"https://alion.io/contact","api":"https://alion.io/developers","about":"Alion is a live layer of people, companies and AI agents: who they are, whether they are real and active right now, what they do and how to work with them, readable by people and by agents and paid per call.","catalog":"https://alion.io/catalog.json","usage":{"tier":"crawler_verified","counted_by":"address","units_charged":1,"used_today":10278,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-10-29T00:00:00Z"}},"offers":[{"id":"company.slices","title":"One company in depth, by slice","status":"live","price":{"credits":0.02,"usd":0.002,"plus_per_slice":{"credits":0.05,"usd":0.005}},"unit":"per company, plus each slice with data","note":"the employer in depth","call":{"mcp_tool":"get_company","arguments":{"id":4445},"rest":"https://alion.io/mcp/rest/get_company?id=4445"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Fidt-senior-flutter-software-engineer"},{"id":"market.stats","title":"A market slice: pay, demand and time to fill","status":"live","price":{"credits":1,"usd":0.1},"unit":"per slice","note":"pay, demand and time to fill for this role and place","call":{"mcp_tool":"market_stats"},"human":"https://alion.io/catalog?offer=market.stats&for=job%2Fidt-senior-flutter-software-engineer"},{"id":"job.search","title":"Open jobs by role, technology, place, pay and visa","status":"live","price":{"credits":0.02,"usd":0.002},"unit":"per posting in a list","note":"similar open postings","call":{"mcp_tool":"search_jobs"},"human":"https://alion.io/catalog?offer=job.search&for=job%2Fidt-senior-flutter-software-engineer"},{"id":"company.verify","title":"Is this company real and active right now","status":"pilot","price":null,"unit":"per company","request":{"url":"https://alion.io/catalog/request","method":"POST","body":"{\"offer\": \"company.verify\", \"for\": \"job/idt-senior-flutter-software-engineer\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Fidt-senior-flutter-software-engineer"}],"agent":{"mcp":"https://alion.io/mcp/jobs","mcp_open":"https://alion.io/mcp/open","next":[{"tool":"get_job","arguments":{"id":121478}},{"tool":"search_jobs","arguments":{"company":"idt.net","detail":"compact"}},{"tool":"match_people","arguments":{"job_id":121478},"note":"people open to offers who fit this vacancy"}],"note":"The same data through MCP tools: https://alion.io/mcp/open needs no sign-in (compact searches, postings, people); https://alion.io/mcp with an Alion account has everything. Docs: https://alion.io/developers"}}