Senior Software Engineer with expertise in modern C++, Linux/Android, and AOSP/embedded Android development, responsible for device-level native software, Android system services, backend services, telemetry, diagnostics, and data analysis.
Responsibilities
Design, develop, debug, and maintain C++17+ software on Linux and Android platforms
Develop and troubleshoot AOSP/embedded Android components
Build highly testable software using gtest/gmock
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
The role focuses on SoC performance analysis, collaborating across hardware and software teams to define and engineer next-generation SoC product architectures.
Compensation
$129,500.00 - $194,300.00
Responsibilities
Engineer market-leading SoC products with best-in-class performance
Lead and conduct performance and systems studies
Conduct or contribute to analysis to define our SOC architecture plans simultaneously taking into account performance, power and thermal
Collaborate with HW and SW teams to define best-in-class multimedia, modem, compute and memory technologies
Define complex use cases including new workloads (Gaming, AI) and infer systems requirements
Independently translate business and system requirements into pragmatic designs, modular code, rapid AI proofs of concept (PoCs), minimum viable products (MVPs), and production-ready applications.
Build AI-powered applications and backend services using hosted foundation-model APIs, SDKs, enterprise data, and reusable services; evaluate ideas quickly and recommend whether they should progress, pivot, or stop.
Build end-to-end Retrieval-Augmented Generation (RAG) solutions covering ingestion, chunking, embeddings, vector or hybrid retrieval, reranking, grounding, citations, and permission-aware responses.
Build and integrate Model Context Protocol (MCP) clients and servers that expose enterprise tools, prompts, resources, data, and services through standardized, governed, and auditable interfaces.
Develop agentic workflows using tool calling, orchestration, state and memory patterns, structured outputs, guardrails, confidence controls, output validation, and human-in-the-loop approvals.
Requirements
Bachelor’s or Master’s degree in Computer Science, Software Engineering, Information Technology, or a related field, or equivalent practical experience.
Nice to have: Experience in payments
Nice to have: high-volume transaction processing
Nice to have: highly available and regulated technology environments
Lead development, integration, and optimization of high-performance automotive computing platforms across Android, QNX, Linux, and hypervisor-based systems.
Responsibilities
Lead development and integration of Android, QNX, and Linux platforms on high-performance automotive SoCs.
Drive Android platform integration, including boot sequence, HAL, native services, system services, and hardware-software interfaces.
Develop and optimize SoC power management, including power modes, suspend/resume, wake-up sequences, and low-power state transitions.
Design, integrate, and debug IPC stacks supporting communication between processors, virtual machines, and operating systems.
Develop and debug low-level device drivers for hardware interfaces such as PCIe, SPI, I2C, UART, Ethernet, and shared memory.