Sponsored
Verified Job Engineering - Architecture

Embedded Software Engineer

Warren, Michigan
Engineering - Architecture
#802479
Remote / WFH
General Motors

Job Description

Qualifications
Bachelor of Science or Bachelor of Applied Science degree in Computer Science, Computer Engineering, Mathematics, Information Technology or equivalent
2 years of software engineering experience
Proficiency in C/C++ programming for embedded systems running on QNX and/or Linux platforms
5+ years of software engineering experience
Deep understanding in C/C++ programming for embedded systems running on QNX and/or Linux platforms
Experience in designing and implementing scalable and maintainable software architectures
Experience with software configuration management using tools like Git and collaborative workflows (e.g., code reviews, pull requests)
Proficiency with software build systems like GNU Make, CMake, Gradle, automation testing tools, continuous integration and continuous deployment pipelines for embedded systems
Familiarity with communication protocols (e.g., CAN, TCP/IP, UDP, SomeIP) and Diagnostic protocols like UDS over Ethernet (DoIP and Socket Adapter)
Strong Software Debugging techniques including using JTAG
Experience with RTOS and real-time application development
Python, Rust, etc.)
Familiarity with RESTful APIs for client-server integration
Knowledge of Agile/Scrum development methodologies showcasing a balanced approach to project management and execution in a multifaceted, cross-functional environment
Familiarity with Cybersecurity authentication and encryption techniques
Responsibilities
GM’s Software Defined Vehicle Platform unlocks the ability to scale new software rapidly, seamlessly, and securely
Your proficiency in embedded and infotainment software development will help transform GM’s capability to deliver software to our customer’s vehicles
Develop embedded (C/C++/Rust) software for vehicle software-update functions and enhancements using embedded development frameworks in Android, QNX and Linux environments
Participate in discussions & reviews for requirements, design, code and test cases
Perform bench and verification testing
Diagnose, debug, and solve issues related to the vehicle software updates
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
Exhibit proactive learning and knowledge sharing with team members on new and advanced topics crucial in creating robust technical specifications and requirements while contemplating scenarios and corner cases
Job description
The Role

GM’s Software Defined Vehicle Platform unlocks the ability to scale new software rapidly, seamlessly, and securely. The Software and Services group at GM develops scalable vehicle level system architecture and software solutions which enable efficient, real-time implementation of the creative customer-facing features of tomorrow.

As an Embedded Software Engineer on the Universal Flash Orchestrator Team, you will develop the vehicle-side software which enables all systems on the vehicle to be updated quickly and safely via Over-the-Air (OTA), at assembly plants, and at service bay. This software is the gateway enabling new innovative features, content, and improvements to be delivered to customers while maintaining vehicle system security.

Your expertise will be instrumental in driving us towards our vision of zero crashes, zero emissions, and zero congestion. Your proficiency in embedded and infotainment software development will help transform GM’s capability to deliver software to our customer’s vehicles.

Responsibilities
• Develop embedded (C/C++/Rust) software for vehicle software-update functions and enhancements using embedded development frameworks in Android, QNX and Linux environments.
• Participate in discussions & reviews for requirements, design, code and test cases
• Perform bench and verification testing
• Diagnose, debug, and solve issues related to the vehicle software updates
• 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
• Exhibit proactive learning and knowledge sharing with team members on new and advanced topics crucial in creating robust technical specifications and requirements while contemplating scenarios and corner cases.

Minimum requirements:
• Bachelor of Science or Bachelor of Applied Science degree in Computer Science, Computer Engineering, Mathematics, Information Technology or equivalent
• 2 years of software engineering experience
• Proficiency in C/C++ programming for embedded systems running on QNX and/or Linux platforms

Skills and Experience:
• 5+ years of software engineering experience
• Deep understanding in C/C++ programming for embedded systems running on QNX and/or Linux platforms
• Experience in designing and implementing scalable and maintainable software architectures.
• Experience with software configuration management using tools like Git and collaborative workflows (e.g., code reviews, pull requests)
• Proficiency with software build systems like GNU Make, CMake, Gradle, automation testing tools, continuous integration and continuous deployment pipelines for embedded systems
• Familiarity with communication protocols (e.g., CAN, TCP/IP, UDP, SomeIP) and Diagnostic protocols like UDS over Ethernet (DoIP and Socket Adapter).
• Strong Software Debugging techniques including using JTAG.
• Experience with RTOS and real-time application development.

What Will Give You a Competitive Edge (Preferred Skills)
• Master’s degree in Computer Science, Computer Engineering, Mathematics, Information Technology or equivalent
• Experience with other programming languages in embedded environments (i.e. Python, Rust, etc.)
• Familiarity with RESTful APIs for client-server integration.
• Knowledge of Agile/Scrum development methodologies showcasing a balanced approach to project management and execution in a multifaceted, cross-functional environment.
• Familiarity with Cybersecurity authentication and encryption techniques

#LI-JK3
View more Embedded Jobs in Warren →
Sponsored

Similar Openings in Engineering - Architecture

More jobs you might like

Google Data Architect karan Verified
Tampa, Florida Engineering - Architecture

Qualifications As a Data Architect in Slalom's Google COE, you will bring broad architecture experience, deep expertise in Google Cloud data...

Posted 2m ago View Details
Tempe, Arizona Engineering - Architecture

Qualifications Minimum five years of recent experience in AI solutions development Bachelor's degree from an accredited college or universit...

Posted 6m ago View Details