×
Register Here to Apply for Jobs or Post Jobs. X

Staff Embedded Software Engineer

Job in Sunnyvale, Santa Clara County, California, 94087, USA
Listing for: Socket.dev
Full Time position
Listed on 2026-08-03
Job specializations:
  • Software Development
    Software Engineer, Software Architect, DevOps, Unix/Linux
Salary/Wage Range or Industry Benchmark: 180000 - 240000 USD Yearly USD 180000.00 240000.00 YEAR
Job Description & How to Apply Below

Primary Function of Position

We are looking for an experienced embedded software engineer with strong system architecture design and GPU systems engineering expertise to design, build, and optimize reusable software frameworks and infrastructure for compute-intensive applications on the dV5 system and future platforms. This role will help establish shared software foundations that can be leveraged across multiple platforms to deliver consistent capabilities with reduced engineering overhead.

The primary focus of this position is edge compute architecture, including distributed compute frameworks, data transfer mechanisms, graph-based execution pipelines, GPU/CPU workload optimization, system observability, and performance engineering for production embedded systems.

With a passion for transforming hardware capabilities into reliable, scalable, and high-performance software platforms, you will work across the software stack — from embedded Linux, OS/kernel interfaces, device drivers, CUDA kernels, inference engines, middleware, and application frameworks — to make data-driven architectural and implementation decisions that improve system performance, robustness, maintainability, and developer productivity. Our team empowers application and algorithm developers by providing easy-to-use frameworks, tooling, and reliable run-time software ecosystems.

This is an opportunity to work on complex and rewarding problems at the intersection of embedded Linux software development, hardware/software integration, edge compute architecture, performance optimization, UI and interaction software infrastructure, hybrid compute design, and ML/AI application enablement within the da Vinci production ecosystem.

The successful candidate is a self-directed, hands-on developer who can operate effectively in a high-energy, focused, and cross-functional environment. The candidate is expected to demonstrate end-to-end ownership, strong systems thinking, and a shared responsibility for delivering high-quality frameworks and production-ready software solutions.

Roles and Responsibilities

  • Design and develop robust, multi-threaded C++ embedded Linux software infrastructure, libraries, and tool suites that enable modular, configurable, and reusable edge compute architectures across heterogeneous hardware environments.
  • Design and evolve distributed compute frameworks, data transfer mechanisms, and graph-based execution pipelines for compute-intensive applications, including ML inference, perception algorithms, and other high-performance workloads.
  • Define, profile, and optimize end-to-end compute performance across CPU/GPU pipelines and multi-node systems, including latency, throughput, jitter, memory bandwidth, power, thermal behavior, resource utilization, and determinism.
  • Develop automated performance tests, reproducible benchmarking workflows, and CI integrations to maintain performance baselines, prevent regressions, and provide empirical evidence for architecture and product design decisions.
  • Partner with hardware, platform software, application software, algorithms, and systems engineering teams to define architecture requirements, performance targets, integration strategies, and reusable framework capabilities.
  • Improve software modularity, portability, instrumentation, observability, and field diagnosability through shared mechanisms such as metrics, structured logs, health monitoring, performance monitoring, and analysis tooling.
  • Create high-quality technical documentation capturing architecture decisions, design concepts, trade-offs, and implementation principles.

Required Skills and Experience

  • Strong experience with designing and developing embedded software infrastructure for heterogeneous edge compute systems, distributed compute frameworks, middleware, libraries, or platform-level services.
  • Extensive hands-on experience with modern C++, advanced Linux system software development, and Linux internals including scheduling, memory management, concurrency, IPC, networking, logging, and storage.
  • Strong understanding of distributed system design concepts, including data flow, scheduling, synchronization, resource management,…
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(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).
 
 
 
Search for further Jobs Here:
(Try combinations for better Results! Or enter less keywords for broader Results)
Location
Increase/decrease your Search Radius (miles)
0
200
Filters
Education Level
Experience Level (years)
Posted in last:
Salary