Job Summary
We are seeking an experienced Senior Software Engineer with strong expertise in modern C++, Linux/Android, and AOSP/embedded Android development. This role requires an engineer who is comfortable working across the technology stack, from device-level native software and Android system services to backend services, telemetry, diagnostics, and data analysis.
The ideal candidate has strong engineering fundamentals, a quality-first mindset, and the ability to independently own complex technical problems from investigation through implementation, testing, deployment, and production support.
Key Responsibilities
- Design, develop, debug, and maintain C++17+ software on Linux and Android platforms.
- Develop and troubleshoot AOSP/embedded Android components, including native services, AIDL/Binder IPC, system properties, SELinux, and Android build systems.
- Build highly testable software using gtest/gmock, mocks, automation, and robust test strategies.
- Develop thread-safe applications involving concurrency, IPC, shared memory, and synchronization.
- Work across device and backend layers using C++, Hack/PHP, Python, Java, or Kotlin.
- Use SQL to analyze large datasets, including joins, aggregations, and percentile-based analysis.
- Create automation and engineering tools using Python and shell scripting.
- Investigate device logs, crashes, telemetry, performance issues, and production failures.
- Participate in code reviews, Git-based development, multi-branch releases, and production/on-call support.
- Own technical issues end-to-end and communicate progress, risks, and blockers proactively.
- Use AI-assisted development tools effectively for coding, testing, debugging, and engineering productivity.
Required Qualifications
- 10+ years of professional software development experience with modern C++ (C++17 or later).
- Strong development experience on Linux and/or Android.
- Hands-on experience with AOSP or embedded Android, including:
- Soong / Android.bp
- Native services
- AIDL / Binder
- ADB
- System properties
- SELinux fundamentals
- Strong unit-testing experience with gtest/gmock.
- Solid understanding of multithreading, mutexes, concurrency, IPC, and shared state.
- Backend programming experience in Hack/PHP, Python, Java, or Kotlin, with willingness to work regularly in Hack/PHP.
- Strong SQL and data-analysis skills.
- Experience with Python and shell scripting for automation.
- Proficiency with Git, code reviews, cherry-picks, and multi-branch development/release workflows.
- Strong written communication and ability to work independently.
- Ability to work primarily during Pacific business hours, including flexibility for on-call handoffs and launch-critical activities.
Preferred Qualifications
- Telemetry, logging, or analytics pipeline experience, including protobuf, serialization, sampling, batching, and data uploads.
- Android/Linux crash diagnostics experience with tombstones, minidumps, symbolication, bug reports, or log collection.
- Backend development experience with Hack/PHP, Thrift/gRPC, or protobuf.
- Experience developing dashboards, monitoring, and alerting for event or time-series data.
- Android framework or application development using Java/Kotlin.
- Experience supporting production services, including on-call, incident triage, monitoring, and incident follow-up.
- Android/iOS companion-app or device-to-phone end-to-end automation experience.
- Experience with performance benchmarking, memory analysis, and resource-constrained devices.
- Practical experience using AI coding tools to accelerate engineering and test development.
What We’re Looking For
A strong candidate will be a hands-on, full-stack systems engineer who can move comfortably between:
Embedded C++ → Android/AOSP → IPC & System Services → Telemetry/Diagnostics → Backend Services → SQL/Data Analysis
The engineer should demonstrate strong ownership, disciplined testing, proactive communication, and careful handling of sensitive devices, diagnostic, and user data.