1

C Software Engineer Jobs in Michigan (NOW HIRING)

Develop embedded (C/C++/Rust) software for vehicle software-update functions and enhancements using ... Collaborate with System Engineers to refine understanding of requirements and identify ...

Embedded Software Development Engineer Atego HighRely is currently searching for an Embedded ... High proficiency in C * Proficiency in RTOS concepts * Proficiency in Embedded Development

Be Seen First

Software Engineer

Sterling Heights, MI · On-site

$50.71 - $56.51/hr

Interface with Systems Engineering, Project Management, Software Quality, and other internal teams ... C++ * C# * Java * Python * Qt * MATLAB / MathWorks tools * Git * Bitbucket * Experience working ...

... • Support software validation engineer through the development process and iterate code ... or C+ • Experience with Infineon TC3x AURIX MCU or equivalent multi-core lockstep ...

We are seeking Software Engineer to support the VENDURE toolset within the Computer Aided ... C++ * CAE * Python * Mechanical Engineering Skills Preferred: * CAE Model delivery. Experience ...

next page

Showing results 1-20

C Software Engineer information

See Michigan salary details

$21.4K

$107.3K

$167.3K

How much do c software engineer jobs pay per year?

As of May 28, 2026, the average yearly pay for c software engineer in Michigan is $107,326.00, according to ZipRecruiter salary data. Most workers in this role earn between $85,400.00 and $125,900.00 per year, depending on experience, location, and employer.

What are the key skills and qualifications needed to thrive as a C Software Engineer, and why are they important?

To thrive as a C Software Engineer, you need a deep understanding of C programming, algorithms, data structures, and a relevant degree in computer science or a related field. Familiarity with development tools such as GCC, Git, debugging profilers, and sometimes certifications in software development are commonly required. Strong problem-solving skills, attention to detail, and effective teamwork set outstanding C Software Engineers apart. These competencies are essential for building reliable, efficient software and collaborating effectively in technical environments.

How does a C Software Engineer typically collaborate with other teams during a development project?

C Software Engineers frequently work alongside cross-functional teams, including hardware engineers, QA testers, and project managers. Collaboration often involves participating in code reviews, integrating low-level code with hardware components, and ensuring software meets performance and reliability standards. Effective communication is essential, as these engineers must translate technical requirements and troubleshoot issues that may arise at the intersection of software and hardware. Regular meetings and documentation are standard practices to keep everyone aligned and maintain project momentum.

What does a C Software Engineer do?

A C Software Engineer designs, develops, tests, and maintains software applications and systems using the C programming language. They typically work on performance-critical applications, embedded systems, operating systems, or device drivers. Their responsibilities include writing efficient code, debugging, optimizing existing code, and collaborating with other engineers to ensure software reliability and maintainability. C Software Engineers must have a strong understanding of computer science fundamentals and problem-solving skills.

What is the difference between C Software Engineer vs C++ Software Engineer?

AspectC Software EngineerC++ Software Engineer
Required CredentialsBachelor's in Computer Science or related field; knowledge of C languageBachelor's in Computer Science or related field; knowledge of C and C++ languages
Work EnvironmentEmbedded systems, operating systems, device driversApplication development, game engines, software tools
Industry UsageEmbedded systems, firmware, hardware interfacingSoftware applications, game development, high-performance computing

The main difference between a C Software Engineer and a C++ Software Engineer lies in the programming languages they specialize in. C engineers focus on low-level programming for embedded systems and hardware interfaces, while C++ engineers work on more complex applications that require object-oriented features. Both roles require similar foundational skills but differ in application scope and complexity.

Software Engineer

Software Engineer

General Motors

Warren, MI • On-site

Full-time

Posted 4 days ago


General Motors rating

8.1

Company rating: 8.1 out of 10

Based on 301 frontline employees who took The Breakroom Quiz

5th of 44 rated automakers


Job description

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





This role is categorized as hybrid. This means the selected candidate is expected to report to a specific location at least 3 times a week {or other frequency dictated by their manager}.

This job may be eligible for relocation benefits.



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 believe we all must make a choice every day - individually and collectively - to drive meaningful change through our words, our deeds and our culture. Every day, we want every employee to feel they belong to one General Motors team.

Benefits Overview

From day one, we're looking out for your well-being-at work and at home-so you can focus on realizing your ambitions. Learn how GM supports a rewarding career that rewards you personally by visiting Total Rewards resources.

Non-Discrimination and Equal Employment Opportunities (U.S.)

General Motors is committed to being a workplace that is not only free of unlawful discrimination, but one that genuinely fosters inclusion and belonging. We strongly believe that providing an inclusive workplace creates an environment in which our employees can thrive and develop better products for our customers.

All employment decisions are made on a non-discriminatory basis without regard to sex, race, color, national origin, citizenship status, religion, age, disability, pregnancy or maternity status, sexual orientation, gender identity, status as a veteran or protected veteran, or any other similarly protected status in accordance with federal, state and local laws.

We encourage interested candidates to review the key responsibilities and qualifications for each role and apply for any positions that match their skills and capabilities. Applicants in the recruitment process may be required, where applicable, to successfully complete a role-related assessment(s) and/or a pre-employment screening prior to beginning employment. To learn more, visit How we Hire.

Accommodations

General Motors offers opportunities to all job seekers including individuals with disabilities. If you need a reasonable accommodation to assist with your job search or application for employment, email us 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.


What General Motors employees say

Pay

Benefits

Hours and flexibility

Workplace

Get the full story on Breakroom


General Motors logo

About General Motors

Sourced by ZipRecruiter

General Motors is a company with global scale and capabilities, headquartered in Detroit, Michigan, with employees around the world. The company employs over 165,000 people, serves six continents, operates across 22 time zones, and has a diverse workforce speaking 75 languages1. GM’s vision is to drive the world forward by pioneering innovations that move and connect people to what matters. The company is working towards an all-electric future with its new Ultium Platform and is pushing transportation options beyond our wildest imaginations with autonomous vehicles. GM is also committed to becoming the most inclusive company in the world.

Industry

Transportation equipment manufacturing

Company size

10,000+ Employees

Headquarters location

Detroit, MI, US

Year founded

1908