Senior C++/Android Systems Engineer
-
Software Development
Software Engineer, Android Developer, Python, Unix/Linux
Job Description & How to Apply Below
Work Location: Redmond, WA (Onsite)
Job SummaryWe 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.
- 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: - Native services
- AIDL / Binder
- ADB
- System properties
- 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.
- 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.
- 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.
A strong candidate will be a hands-on, full-stack systems engineer who can move comfortably between:
The engineer should demonstrate strong ownership, disciplined testing, proactive communication, and careful handling of sensitive devices, diagnostic, and user data.
Position Requirements
10+ Years work experience(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
View / Apply for Jobs
Matching My Jurisdiction