Senior Software Engineer - Viewing/C++

General MotorsMountain View, CA
7dHybrid

About The Position

General Motors’ Vehicle Viewing team is building the next generation of connected camera and surround‑view experiences that power safety, visibility, and rich driver insights across our global vehicle portfolio. We are seeking a Senior Software Engineer (C++) to lead the design and development of high‑complexity, high‑visibility viewing software. In this role you will work at the intersection of: Connected camera systems (on‑vehicle and cloud-connected) Computer vision and image processing (real‑time video pipelines) Graphics composition and rendering (multi-camera views, overlays, AR‑like UX) High‑performance C++, including multithreading and low-latency data paths You will own significant pieces of production software that run in real vehicles, shaping how customers see and interact with their surroundings.

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.

Nice To Haves

  • Experience with image processing and/or computer vision (e.g., camera calibration, warping/dewarping, stitching, object detection, tracking, or similar).
  • Experience with graphics or rendering pipelines (OpenGL, Vulkan, composition frameworks, or automotive HMI stacks).
  • Background in automotive, embedded, or other safety‑critical systems development.
  • Familiarity with Linux or QNX development environments and cross-compilation for embedded targets.
  • Experience with CI/CD and modern dev tools such as Jenkins, GitHub, static analysis, and automated testing frameworks.
  • Ability to lead complex technical investigations, align stakeholders, and drive issues to closure.
  • Strong written and verbal communication skills and the ability to collaborate effectively in a cross‑functional, globally distributed team.

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.

Benefits

  • relocation benefits
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service