wagey.ggwagey.ggv1.0-e93b95d-4-May
Browse Tech JobsCompaniesFeaturesPricingFAQs
Log InGet Started Free
Jobs/Senior Software Engineer Role/ditto - Senior Software Engineer, Android/KMP
ditto

ditto - Senior Software Engineer, Android/KMP

Remote - USA$220k - $305k+ Equity1mo ago
RemoteSeniorNADiagnosticsSoftwareSenior Software EngineerKotlinPerformance ManagementReportingJavaJetpack Compose

Upload My Resume

Drop here or click to browse · Tap to choose · PDF, DOCX, DOC, RTF, TXT

Apply in One Click
Apply in One Click

Requirements

• ● 4+ years of professional software development experience: Proven track • record of delivering production-quality Android applications in a team setting. • ● Deep expertise in Android development: Hands-on experience building • Android applications with Kotlin and Java, including modern UI development with • Jetpack Compose or Views, understanding Android SDK architecture, lifecycle • management, and performance optimization. • ● Strong C/C++ programming skills: Proficiency in C or C++ for native Android • development, with experience using JNI/NDK to bridge between Kotlin/Java and • native code in an FFI context. • ● Experience with hardware peripherals: Practical experience interfacing with • USB devices, network adapters, or other hardware peripherals from Android • ● Willingness to travel for field testing: Ability to travel occasionally to support • testing, deployment, and training with customers and field personnel in various • ● Debugging and diagnostic chops: Ability to read native stack traces, interpret • logs and memory dumps, and troubleshoot issues across the Android stack from • UI to native code. • ● Test automation and CI/CD fluency: Experience designing and implementing • unit, integration, and UI tests, and integrating them into automated build and • release pipelines. • ● Excellent communication skills: Strong written and verbal communication to • thrive in an async-first, distributed team—drafting clear design docs, participating • in code reviews, and coordinating with customers and stakeholders. • ● Experience with Kotlin Multiplatform (KMP) for cross-platform mobile • ● Familiarity with Rust programming language and basic understanding of systems • programming concepts • ● Experience with Voice over IP (VoIP), radio communications systems, and/or • ● Networking knowledge: Understanding of TCP/IP stack, network protocols, • REST, TCP/UDP, QUIC, Bluetooth Low Energy, and other communication • ● Experience with build and release automation: Proven ability to publish Android • applications and configure Gradle and CI pipelines for distribution • ● Track record of open-source contributions: Demonstrated involvement in Android • projects—whether through libraries, tooling, or community support—that • showcases collaborative development and code quality

Responsibilities

• ● Build life-saving Android applications: Design and implement intuitive, • responsive user interfaces for situational awareness software and handheld radio • integration using modern Android development practices, ensuring excellent user • experience and reliability in mission-critical field operations. • ● Integrate with emergency response hardware: Work with handheld radios, • USB devices, network adapters, and other field equipment, implementing robust • communication protocols and handling edge cases in device connectivity for first • ● Build and maintain native code integration: Implement safe, efficient Foreign- • Function Interface (FFI) bindings between Kotlin/Java and native C/C++ libraries, • adhering to best practices for memory management, threading, and error • ● Support field operations: Travel occasionally to support testing and • deployment with emergency response teams, public sector customers, and field • personnel, ensuring applications perform reliably under real-world conditions. • ● Ensure device and OS compatibility: Manage Android configurations and • platform quirks to deliver seamless application behavior across diverse device • architectures, Android versions, and hardware capabilities used in emergency • response scenarios. • ● Develop comprehensive test suites: Write and automate unit, integration, and • end-to-end tests (including UI tests and native interop scenarios) to continuously • validate application functionality and guard against regressions in mission-critical • ● Integrate with CI/CD pipelines: Collaborate with the Release and QA teams to • embed your tests into continuous integration workflows, monitor release quality, • and iterate rapidly on customer feedback. • ● Partner with field teams and customers: Triage and resolve customer- • reported issues from emergency response personnel, debug edge-case failures • in field deployments, and feed learnings back into product and engineering • ● Mentor and evangelize best practices: Share your expertise in Android • development, native code integration, and hardware interfacing through design • reviews, brown-bags, and one-on-one coaching to level up the entire team.

Benefits

• Pay Transparency at Ditto • Ditto uses a location-based compensation model. This means pay ranges for the same role may vary depending on where you live, based on cost of living and market data.The ranges you see on our job postings represent the full span of target compensation across all markets where we hire. Within that range, actual offers are determined by a candidate’s skills and experience. This ensures we remain competitive with local markets while also maintaining internal consistency and fairness in real spending power across locations. • Upload your resume here to autofill key application fields. • Drop your resume here! • Parsing your resume. Autofilling key fields... • or drag and drop here • Decline to self-identify • Hispanic or Latino - A person of Cuban, Mexican, Puerto Rican, South or Central American, or other Spanish culture or origin regardless of race. • Hispanic or Latino • White (Not Hispanic or Latino) - A person having origins in any of the original peoples of Europe, the Middle East, or North Africa. • White • Black or African American (Not Hispanic or Latino) - A person having origins in any of the black racial groups of Africa. • Black or African American • Native Hawaiian or Other Pacific Islander (Not Hispanic or Latino) - A person having origins in any of the peoples of Hawaii, Guam, Samoa, or other Pacific Islands. • Native Hawaiian or Other Pacific Islander • Asian (Not Hispanic or Latino) - A person having origins in any of the original peoples of the Far East, Southeast Asia, or the Indian Subcontinent, including, for example, Cambodia, China, India, Japan, Korea, Malaysia, Pakistan, the Philippine Islands, Thailand, and Vietnam. • Asian • American Indian or Alaska Native (Not Hispanic or Latino) - A person having origins in any of the original peoples of North and South America (including Central America), and who maintain tribal affiliation or community attachment. • American Indian or Alaska Native • Two or More Races (Not Hispanic or Latino) - All persons who identify with more than one of the above five races. • Two or More Races • Hispanic or Latino • White (Not Hispanic or Latino) • Black or African American (Not Hispanic or Latino) • Native Hawaiian or Other Pacific Islander (Not Hispanic or Latino) • Asian (Not Hispanic or Latino) • American Indian or Alaska Native (Not Hispanic or Latino) • Two or More Races (Not Hispanic or Latino) • I identify as one or more of the classifications of protected veteran listed above • I am not a protected veteran

Get Started Free

No credit card. Takes 10 seconds.

Privacy·Terms··Contact·FAQ·Wagey on X