Software Engineer at General Motors

Warren, Michigan, United States

General Motors Logo
Not SpecifiedCompensation
Junior (1 to 2 years), Mid-level (3 to 4 years)Experience Level
Full TimeJob Type
UnknownVisa
Automotive, Automotive SoftwareIndustries

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
  • 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

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

Skills

Key technologies and capabilities for this role

CC++RustAndroidQNXLinuxEmbedded SoftwareOTA UpdatesDebuggingRequirements ReviewCode ReviewVerification Testing

Questions & Answers

Common questions about this position

What are the minimum education and experience requirements for this role?

A Bachelor of Science or Bachelor of Applied Science degree in Computer Science, Computer Engineering, Mathematics, Information Technology or equivalent is required, along with 2 years of software engineering experience.

What programming languages and platforms are needed for this position?

Proficiency in C/C++ programming for embedded systems running on QNX and/or Linux platforms is required, with skills and experience in embedded (C/C++/Rust) software using Android, QNX, and Linux environments.

What is the salary or compensation for this Software Engineer role?

This information is not specified in the job description.

Is this position remote or does it require office work?

This information is not specified in the job description.

What experience makes a candidate stand out for this embedded software engineer role?

Candidates with 5+ years of software engineering experience, deep C/C++ expertise on QNX/Linux, experience in scalable architectures, Git workflows, build systems like CMake, and familiarity with protocols like CAN and UDS stand out.

General Motors

Designs, manufactures, and sells vehicles

About General Motors

General Motors designs, manufactures, and sells vehicles and vehicle parts, catering to individual consumers, businesses, and government entities. The company operates in both traditional internal combustion engine vehicles and the growing electric vehicle (EV) market, generating revenue through vehicle sales and financing services. GM stands out from competitors with its commitment to community service, sustainability, and diversity, as evidenced by a majority female Board of Directors. The company's goal is to balance traditional automotive manufacturing with technological advancements in electric and autonomous vehicles.

Detroit, MichiganHeadquarters
1908Year Founded
$486.7MTotal Funding
IPOCompany Stage
Automotive & Transportation, Financial ServicesIndustries
10,001+Employees

Benefits

Paid Vacation
Paid Sick Leave
Paid Holidays
Parental Leave
Health Insurance
Dental Insurance
Vision Insurance
Life Insurance
401(k) Company Match
401(k) Retirement Plan
Tuition Reimbursement
Student Loan Assistance
Flexible Work Hours
Discount on GM vehicles

Risks

Shutting down Cruise Robotaxi may affect investor confidence in GM's AV strategy.
Chevrolet Equinox EV recall could harm GM's safety reputation.
Leadership transition in design may disrupt continuity and brand identity.

Differentiation

GM's Dynamic Fuel Management system enhances fuel efficiency in traditional vehicles.
GM leads in board diversity with 55% women directors.
GM's pivot to personal autonomous vehicles aligns with consumer trends.

Upsides

Partnership with Nvidia boosts GM's autonomous vehicle technology capabilities.
Collaboration with ChargePoint expands EV charging infrastructure, enhancing consumer appeal.
Bryan Nesbitt's appointment as design head may bring innovation to GM's vehicle design.

Land your dream remote job 3x faster with AI