Warren, Michigan, USA
1 day ago
Senior Embedded Software Engineer
Job Description

Workplace Classification:

Hybrid: This role is categorized as hybrid. This means the candidate is expected to report to their primary work location three times per week, at minimum, or other frequency dictated by the business.

The Role:

In this software development role, you will be responsible for developing software applications using sound, repeatable, industry standard methodologies. You will have the opportunity to work hands-on writing software or solutions, based on detailed requirements and system specifications. Development activities will include updating existing software and/or developing new software solutions to address a specific need or solve a particular business problem.

Additionally, you will drive development activities in accordance with appropriate methodologies and application of a repeatable, systematic, and quantifiable approach to the development process. You will coach/mentor software developers and will review the software being developed. This role will also work closely with architects and technical leaders to ensure code alignment with design patterns/frameworks.

What You'll Do (Responsibilities):

Write software for vehicle-side functionality in C/C++.Participate in discussions & reviews for requirements, design, and test cases.Create software design artifacts using Unified Modeling Language (UML) techniques.Use cross-compilation techniques to compile designs for multiple embedded platforms.Perform software configuration management using Git and code review using Gerrit, GitHub.Implement Unified Diagnostic Services (UDS) diagnostics over Ethernet (DoIP and Socket Adapter) and Controller Area Network (CAN) using C/C++.Perform emulator/simulator, bench, and verification testing.Diagnose, debug, and solve issues related to vehicle software.Work closely with teams from other groups to support triage and resolution of difficult problems in a timely manner.Collaborate with System Engineers to refine understanding of requirements and identify opportunities for innovation.Write clear and concise test cases that cover various scenarios and edge cases.Execute unit tests and analyze the results to identify and report defects.Integrate unit tests into the continuous integration and delivery pipeline.Continuously improve unit testing processes and methodologiesCollaborate with the development team to resolve issues identified through testing.Collaborate with software developers to ensure comprehensive test coverage.

Additional Job Description

What You'll Need (Required Qualifications):

Bachelor's degree (or higher) in Computer Science or relevant discipline.5+ years of proven software development foundation experience including competencies in object-oriented methodologies, data structures, algorithms relevant design patterns, and software design lifecycle.Proficient in C or C++ programming language.Proficiency in working with Linux and QNX platforms.Experience writing clients for Web Services (REST, RPC, and/or SOAP).Familiarity with CI/CD and DevOps pipelines using GitHub, GitHub Actions, Jenkins, etc.Design and develop unit tests for C++ software components.Implement and maintain unit testing frameworks (e.g., Google Test, Catch2, Boost. Test).

People Skills:

Strong analytical and innovative problem-solving skills.Excellent communication and teamwork skills.Ability to learn quickly and work independently or as part of a team.High level of oral and written communication skills.High level of interpersonal skills to work independently and effectively with others locally and in a geographically dispersed team.

What Will Give You A Competitive Edge (Preferred Qualifications):

8+ years of Engineering experience in a job-related area.1+ years of Client software development and debugging.In-depth knowledge of unit testing frameworks and methodologies.Experience in writing unit tests for C++ applications.Familiarity with continuous integration and delivery practices.Exposure to working in Agile development methodology (Scrum, XP, SAFe, etc.)Exposure to other embedded programming languages like Rust, Python.Demonstrated experience in multithreading, inter-process communication and synchronization of shared resources.Experience using source code control systems and tools such as Git/Repo and code collaboration tools such as Gerrit, GitHub, Optimus, Static code analysis tools like Sonar, Parasoft, CPP, etc.Prior experience in vehicle embedded or Mobile or Infotainment software development.

•This job may be eligible for relocation benefits.

#LI-DH2

About GM

Our vision is a world with Zero Crashes, Zero Emissions and Zero Congestion and we embrace the responsibility to lead the change that will make our world better, safer and more equitable for all.

Why Join Us 

We aspire to be the most inclusive company in the world. We believe we all must make a choice every day – individually and collectively – to drive meaningful change through our words, our deeds and our culture. Our Work Appropriately philosophy supports our foundation of inclusion and provides employees the flexibility to work where they can have the greatest impact on achieving our goals, dependent on role needs. Every day, we want every employee, no matter their background, ethnicity, preferences, or location, to feel they belong to one General Motors team.

Benefits Overview

The goal of the General Motors total rewards program is to support the health and well-being of you and your family. Our comprehensive compensation plan incudes, the following benefits, in addition to many others:
• Paid time off including vacation days, holidays, and parental leave for mothers, fathers and adoptive parents;
• Healthcare (including a triple tax advantaged health savings account and wellness incentive), dental, vision and life insurance plans to cover you and your family;
• Company and matching contributions to 401K savings plan to help you save for retirement;
• Global recognition program for peers and leaders to recognize and be recognized for results and behaviors that reflect our company values; 
• Tuition assistance and student loan refinancing;
• Discount on GM vehicles for you, your family and friends.

Diversity Information

General Motors is committed to being a workplace that is not only free of discrimination, but one that genuinely fosters inclusion and belonging. We strongly believe that workforce diversity creates an environment in which our employees can thrive and develop better products for our customers.   We understand and embrace the variety through which people gain experiences whether through professional, personal, educational, or volunteer opportunities. GM is proud to be an equal opportunity employer.


We encourage interested candidates to review the key responsibilities and qualifications and apply for any positions that match your skills and capabilities.

Equal Employment Opportunity Statements

GM is an equal opportunity employer and complies with all applicable federal, state, and local fair employment practices laws. GM is committed to providing a work environment free from unlawful discrimination and advancing equal employment opportunities for all qualified individuals. As part of this commitment, all practices and decisions relating to terms and conditions of employment, including, but not limited to, recruiting, hiring, training, promotion, discipline, compensation, benefits, and termination of employment are made without regard to an individual's protected characteristics. For purposes of this policy, “protected characteristics" include an individual's actual or perceived race, color, creed, religion, national origin, ancestry, citizenship status, age, sex or gender (including pregnancy, childbirth, lactation and related medical conditions), gender identity or gender expression, sexual orientation, weight, height, marital status, military service and veteran status, physical or mental disability, protected medical condition as defined by applicable state or local law, genetic information, or any other characteristic protected by applicable federal, state or local laws and ordinances.  If you need a reasonable accommodation to assist with your job search or application for employment, email us at Careers.Accommodations@GM.com or call us at 800-865-7580. In your email, please include a description of the specific accommodation you are requesting as well as the job title and requisition number of the position for which you are applying.​

Confirm your E-mail: Send Email