Hybrid Senior Software Engineer – Viewing, C++

Posted 1 hour ago

Apply now

About the role

  • Senior Software Engineer (C++) leading design and development of high‑complexity viewing software at General Motors. Collaborating with global teams to integrate cutting-edge camera and image processing technologies.

Responsibilities

  • Own the full software development life cycle for C++‑based viewing and image‑processing components: requirements, design, implementation, optimization, test, and deployment.
  • Design and implement real‑time C++ pipelines for: Camera ingestion and buffering, Image processing and computer vision algorithms, Graphics composition (guidelines, overlays, stitched views).
  • Develop robust multithreaded components that move and process high‑bandwidth video safely and efficiently (synchronization, lock‑free patterns where applicable).
  • Profile and optimize latency, throughput, and memory for complex C++ modules running on constrained automotive platforms.
  • Collaborate closely with software and system architects, vehicle systems engineering, and application engineers across global GM teams to integrate viewing features into complete vehicle experiences.
  • Build, debug, and validate your code on: Target ECUs and development benches, Real vehicles for on‑road and proving‑ground testing.
  • Diagnose complex issues across camera drivers, middleware, viewing services, and UI clients; drive root‑cause analysis and durable fixes.
  • Contribute to safety‑critical software integration and verification, following automotive safety and quality processes.
  • Stay current on computer vision, graphics, C++ language evolution, and tooling, and bring new techniques into the Viewing stack.

Requirements

  • Bachelor’s degree in Computer Science, Software Engineering, Electrical/Computer Engineering, or related technical field.
  • 5+ years of professional experience in C++ software development for production systems.
  • Strong, hands‑on experience with modern C++ (C++11 or later), including: STL, templates, RAII, smart pointers.
  • Clean API design and modular architecture.
  • Proven expertise in multithreaded programming, including: Threading models, synchronization primitives (mutexes, condition variables, atomics).
  • Debugging race conditions, deadlocks, and performance bottlenecks.
  • Experience building complex, performance‑sensitive systems in C++ (e.g., streaming, real‑time, embedded, or similar domains).
  • Solid computer science fundamentals: algorithms, data structures, complexity, memory management.
  • Demonstrated experience owning features end‑to‑end: from requirements and design through implementation, integration, and deployment.

Benefits

  • This job may be eligible for relocation benefits.

Job title

Senior Software Engineer – Viewing, C++

Job type

Experience level

Senior

Salary

$153,200 - $234,100 per year

Degree requirement

Bachelor's Degree

Tech skills

Location requirements

Report this job

See something inaccurate? Let us know and we'll update the listing.

Report job