Ditto

We are redefining the eyewear shopping experience to make it simple, personal and a little bit magical. With our industry-leading eyewear recommendation and virtual try-on technology platform, we are fundamentally changing the way eyewear is bought and sold globally for over 50 million customers each year. Computer vision and machine learning power our technology. We license this platform to eyewear retailers who embed it into their web, mobile and in-store experiences to fundamentally shift how they sell eyewear. Our technology is being used by over 10M users a month around the world by some of the world’s best forward-looking eyewear retailers. We provide a unique opportunity to work alongside a talented team of software engineers, business leaders, creatives, physicists and researchers to bring state of the art computer vision and machine learning technologies to market at scale. Come be apart of the fun at Ditto and join our team today!

Senior Software Engineer, Android/KMP

Android EngineerSoftware EngineerFull TimeRemoteTeam 67Since 2011

Location

United States

Posted

2 days ago

Salary

$220K - $305K / year

No structured requirement data.

Job Description

This description is a summary of our understanding of the job description. Click on 'Apply' button to find out more.

Role Description

As a Senior Android Engineer, you will play a pivotal role in building mission-critical Android applications that support emergency responders and public sector customers in the field. Your work will directly enable first responders, emergency management teams, and defense personnel to maintain situational awareness and communicate effectively during life-saving operations—even in environments with limited or no connectivity. You'll craft robust user interfaces for handheld radios and situational awareness software, working at the intersection of application development and low-level hardware integration.

From day one, you'll own the full development lifecycle:

  • Building Android UI components for critical field applications.
  • Integrating with peripheral devices like handheld radios, USB hardware, and network adapters.
  • Writing and maintaining FFI bindings between Kotlin/Java and native C/C++ code.
  • Authoring comprehensive automated tests.
  • Streamlining CI/CD pipelines for reliable releases.
  • Working directly with public sector customers and field personnel to diagnose integration issues.
  • Conducting field testing to ensure applications perform flawlessly under real-world emergency conditions.
  • Iterating quickly on feedback from those whose lives depend on your work.

You'll join a dedicated US-based team that values trust, clear communication, and continuous improvement. In our async-first culture, your written design docs and code reviews carry as much weight as face-to-face meetings, and occasional field deployments and offsite gatherings bring us together to test our solutions in real-world scenarios.

If you're passionate about Android development that saves lives, low-level systems integration, mentoring teammates on best practices, and delivering world-class applications for mission-critical use cases, this is the role for you.

  • 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 responders.
  • 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 handling.
  • 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 software.
  • 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 roadmaps.
  • 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.

Qualifications

  • 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 applications.
  • Willingness to travel for field testing: Ability to travel occasionally to support testing, deployment, and training with customers and field personnel in various locations.
  • 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.

Nice to Haves

  • Experience with Kotlin Multiplatform (KMP) for cross-platform mobile development.
  • Familiarity with Rust programming language and basic understanding of systems programming concepts.
  • Experience with Voice over IP (VoIP), radio communications systems, and/or amateur radio operator experience.
  • Networking knowledge: Understanding of TCP/IP stack, network protocols, REST, TCP/UDP, QUIC, Bluetooth Low Energy, and other communication protocols.
  • 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.

Benefits

  • Competitive salaries and meaningful equity.
  • Health, dental, vision, life, and disability insurance in the US.
  • 401(k) and flexible spending accounts in the US.
  • Private healthcare through Vitality and a pension plan in the UK.
  • Equitable benefits and coverage for team members globally.
  • Flexible time off for everyone at Ditto.
  • Access to Atlanta and San Francisco offices for remote workers.

Equal Opportunity Employer

Ditto is proud to be an equal-opportunity employer. We do not discriminate in hiring or any employment decision based on race, color, religion, national origin, age, sex (including pregnancy, childbirth, or related medical conditions), marital status, ancestry, physical or mental disability, genetic information, veteran status, gender identity or expression, sexual orientation, or other applicable legally protected characteristics. Ditto is committed to providing reasonable accommodations for qualified individuals with disabilities and disabled veterans in our job application procedures. If you need assistance or an accommodation due to a disability, please let us know.

Job 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 applications.
  • Willingness to travel for field testing: Ability to travel occasionally to support testing, deployment, and training with customers and field personnel in various locations.
  • 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.
  • Nice to Haves
  • Experience with Kotlin Multiplatform (KMP) for cross-platform mobile development.
  • Familiarity with Rust programming language and basic understanding of systems programming concepts.
  • Experience with Voice over IP (VoIP), radio communications systems, and/or amateur radio operator experience.
  • Networking knowledge: Understanding of TCP/IP stack, network protocols, REST, TCP/UDP, QUIC, Bluetooth Low Energy, and other communication protocols.
  • 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.

Benefits

  • Competitive salaries and meaningful equity.
  • Health, dental, vision, life, and disability insurance in the US.
  • 401(k) and flexible spending accounts in the US.
  • Private healthcare through Vitality and a pension plan in the UK.
  • Equitable benefits and coverage for team members globally.
  • Flexible time off for everyone at Ditto.
  • Access to Atlanta and San Francisco offices for remote workers.
  • Equal Opportunity Employer
  • Ditto is proud to be an equal-opportunity employer. We do not discriminate in hiring or any employment decision based on race, color, religion, national origin, age, sex (including pregnancy, childbirth, or related medical conditions), marital status, ancestry, physical or mental disability, genetic information, veteran status, gender identity or expression, sexual orientation, or other applicable legally protected characteristics. Ditto is committed to providing reasonable accommodations for qualified individuals with disabilities and disabled veterans in our job application procedures. If you need assistance or an accommodation due to a disability, please let us know.

Related Job Pages

More Android Engineer Jobs

Android Developer

Bright Vision Technologies

"Retrieve the best out of you" in each process what you do.

Android Engineer2 days ago
Full TimeRemoteTeam 51-200Since 2020H1B Sponsor

The Android Developer will contribute to building innovative mobile applications that help businesses automate and optimize their operations. They will work with cutting-edge technologies and be part of a dynamic team focused on transforming business processes through technology.

United States

Staff Android Engineer, Guest & Host

Jobgether

We use an AI-powered matching process to ensure your application is reviewed quickly, objectively, and fairly against the role's core requirements. Our system identifies the top-fitting candidates, and this shortlist is then shared directly with the hiring company. The final decision and next steps (interviews, assessments) are managed by their internal team. We appreciate your interest and wish you the best! Data Privacy Notice: By submitting your application, you acknowledge that Jobgether will process your personal data to evaluate your candidacy and share relevant information with the hiring employer. This processing is based on legitimate interest and pre-contractual measures under applicable data protection laws (including GDPR). You may exercise your rights (access, rectification, erasure, objection) at any time. #LI-CL1 We may use artificial intelligence (AI) tools to support parts of the hiring process, such as reviewing applications, analyzing resumes, or assessing responses. These tools assist our recruitment team but do not replace human judgment. Final hiring decisions are ultimately made by humans. If you would like more information about how your data is processed, please contact us.

Android Engineer2 days ago
Full TimeRemote

This role offers the opportunity to lead the development of Android applications that directly impact the guest and host experience in a large-scale, product-driven environment. You will partner closely with design and product teams to shape key features and systems that enhance ...

United States
$204K - $255K / year

Tech Lead, Android Core Product - Seattle, USA

Speechify

Get your reading done faster, easier, and on the go. Listen to any book, document, or website with Speechify.

Android Engineer2 days ago
Full TimeRemoteTeam 51-200H1B Sponsor

The role involves owning major features within the Android application, working closely with the design team to deliver high-quality features, and shaping the future direction of the Android team. Responsibilities also include maintaining reliability metrics, participating in cross-team discussions, reviewing code, handling releases, and managing critical issues.

United States
$140K - $200K / year

Tech Lead, Android Core Product - San Francisco, USA

Speechify

Get your reading done faster, easier, and on the go. Listen to any book, document, or website with Speechify.

Android Engineer2 days ago
Full TimeRemoteTeam 51-200H1B Sponsor

The role involves owning major features within the Android application, working closely with the design team to deliver high-quality features, and shaping the future direction of the Android team. Responsibilities also include maintaining reliability metrics, participating in cross-team discussions, reviewing code, handling critical issues, and managing feature releases.

United States
$140K - $200K / year