General Motors - Warren, MI

posted 4 months ago

Full-time - Mid Level
Warren, MI
Transportation Equipment Manufacturing

About the position

As a Senior Software Developer specializing in Infotainment Simulation, you will play a pivotal role in the development of the Software Defined Vehicle, which aims to enhance the vehicle's computational capabilities and connectivity while facilitating faster software development cycles. Your primary responsibility will be to create realistic automotive software-in-the-loop simulation environments that are highly optimized and largely automated. These simulations will enable the execution of thousands of simultaneous scenarios on cloud computing platforms, supporting the development and validation of the Software Defined Vehicle architecture and protocols. This includes algorithm development for hands-free driving, active safety features, in-vehicle infotainment, and embedded control systems. You will focus on key areas such as controller virtualization, bus communication, optimization, human-machine interface (HMI), and sensor modeling. Collaboration will be essential as you work cross-functionally with various teams to integrate these systems into a comprehensive continuous integration/continuous deployment (CI/CD) toolchain and data analytics pipeline. The role is hybrid, requiring you to report onsite at the GM Global Technical Center at least three times a week, with potential eligibility for relocation benefits. In this position, you will engage in an Agile environment, defining, planning, and analyzing user stories to align with the team's strategic objectives. You will leverage your engineering analysis skills alongside strong computer science fundamentals to develop accurate, high-fidelity simulation platforms that allow developers to test their controller code effectively. Your contributions will span the entire product lifecycle, from conception to delivery, ensuring that all deliverables meet excellence standards and are completed on schedule. You will also be responsible for identifying and implementing efficiencies in both processes and products as the team scales up, investigating integration issues, and maintaining up-to-date technical documentation.

Responsibilities

  • Work within an Agile environment to define, plan, and analyze user-stories to meet the team's strategic objectives
  • Combine engineering analysis with strong computer science fundamentals to create accurate high fidelity simulation platforms to allow developers to test development controller code
  • Work collaboratively with multiple teams to deliver end-to-end products and features, seeing them through from conception to delivery with a focus on (internal) customer ease-of-use
  • Design and implement a virtual controller environment for Android developers, QNX developers, and HMI developers within a larger vehicle simulation environment
  • Ensure deliverables are complete as per milestones with excellence
  • Identify and implement areas of efficiency to the process and the product when scaling up
  • Investigate simulation integration problems and provide technical input in problem resolution
  • Maintain technical documentation to reflect accurate and current production installations
  • Learn new technical concepts and practices quickly and apply them across multiple types of applications and software

Requirements

  • Bachelor Degree in Software, Computer Engineering or Computer Science
  • 5+ years of working experience with C++
  • 3+ years of working experience with Android development
  • Knowledge of containerization, virtual machines, orchestration, and integration to a CI/CD pipeline
  • Experience with object-oriented programming, modern design patterns and writing scalable reusable code
  • Extensive experience with the full software development lifecycle (software requirements, design, coding, verification, support)
  • Knowledge of performance optimization techniques and memory management for Android applications
  • Knowledge of Python or other scripting languages
  • Experience working on large volumes of data in a real-time, or faster than real-time, discrete environment
  • Knowledge of digital signal processing, timing, scheduling, and multi-threaded programming
  • Experience working with Scrum/Agile software development process and tools
  • Familiar with High Performance Computers, Cloud Compute and/or GPU Programming an asset
  • Familiarity with Camera, LiDAR, and Radar automotive sensors an asset
  • Able to work in a team as well as independently
  • Must possess excellent communication skills

Nice-to-haves

  • Familiarity with High Performance Computers, Cloud Compute and/or GPU Programming
  • Familiarity with Camera, LiDAR, and Radar automotive sensors

Benefits

  • Medical, dental, vision insurance
  • Health Savings Account
  • Flexible Spending Accounts
  • Retirement savings plan with company and matching contributions
  • Sickness and accident benefits
  • Life insurance
  • Paid vacation and holidays
  • Tuition assistance and student loan refinancing
  • Discount on GM vehicles for employees, family, and friends
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service