Skip to main content

Embedded System Software Engineer

Posted yesterday

pentangle tech services p5 groupRedmond (WA)

SENIORITY

Lead

Apply (opens in a new tab)

About the role

Title: Senior C++ / Android Systems Engineer – AOSP, Backend & Telemetry
Work Location: Redmond, WAJob 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.bpNative servicesAIDL / BinderADBSystem propertiesSELinux 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.

Before you apply

Applying takes about a minute. These four things decide how fast it moves after that.

Your profile is current

It's what we read first. Occupations, seniority and locations matter more than a long history.

Two examples you can talk through

Not a portfolio — just two pieces of work where you can explain the decisions and what you'd change.

A number in mind

What you're on now and what would make you move. We negotiate better when we know both.

Your notice period

Employers plan around it, and it's the question that stalls offers most often.

Once you apply, someone reads it and calls you before anything reaches the employer — usually within two working days.

More like this