Saltar al contenido principal

Senior Embedded Software Engineer

  • Ubicación
    • Milford, Michigan
    • Warren, Michigan
  • Cronograma Full time
  • Publicado

Descripción

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 methodologies
  • Collaborate with the development team to resolve issues identified through testing.
  • Collaborate with software developers to ensure comprehensive test coverage.

[Additional 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

Información sobre diversidad

General Motors se compromete a ser un lugar de trabajo en el cual no solo no haya discriminación indebida, sino que fomente con sinceridad la inclusión y el sentido de pertenencia. Creemos firmemente que la diversidad del personal crea un entorno en el cual nuestros empleados pueden prosperar y desarrollar mejores productos para nuestros clientes. Instamos a los candidatos interesados a que revisen las responsabilidades y aptitudes clave para cada puesto y se postulen para los puestos que coincidan con sus habilidades y capacidades. Es posible que, cuando corresponda, se les pida a los solicitantes que están en el proceso de contratación que completen satisfactoriamente una o más evaluaciones relacionadas con su función y/o una evaluación previa al empleo antes de comenzar a trabajar.  Para obtener más información, visite Cómo contratamos.

Declaración de igualdad de oportunidades en el empleo (EE.UU.)

General Motors se enorgullece de ser un empleador que ofrece igualdad de oportunidades.  Todos los solicitantes calificados serán tenidos en cuenta para el empleo sin distinción de raza, color, religión, sexo, orientación sexual, identidad de género, nacionalidad, discapacidad o condición de veterano protegido. 

Adecuaciones (EE.UU. y Canadá)

General Motors ofrece oportunidades a todos los solicitantes de empleo, incluyendo las personas con discapacidades. Si necesita una adecuación razonable para ayudarle con su búsqueda o solicitud de empleo, envíenos un correo electrónico a Careers.Accommodations@GM.com o llámenos al 800-865-7580. En su correo electrónico, incluya una descripción del puesto específico que está solicitando, así como el título del empleo y el número de solicitud del puesto que está solicitando.

 

Quienes somos

Two GM employees talking in hallway

Our Culture

Working at GM

Driven by innovation and creating an environment to inspire, we embrace the responsibility to make our world better, safer and more equitable for all

A mother and two children spend quality time together in their backyard after work

Total Rewards

A better tomorrow begins with you

From day one, we’re looking out for your well-being— at work and at home— so you can focus on realizing your ambitions

Únete a la comunidad de talentos

Conozca las próximas oportunidades profesionales y eventos en Pendulum

Únete ahora
A scene of people in an office

Únete a la comunidad de talentos

Somos ambiciosos. Estamos comprometidos. Y traemos la pasión de la vida al trabajo. Comuníquese con nosotros para obtener más información sobre cómo comenzar su carrera en GM.

Buscar Oportunidades de Carrera Únete a nuestra Comunidad de Talento
Join Talent Community
Untitled Design (19) 2023 WME 4X White Linkedin Top Companies Logo White 2024 Diversityinc Award Just Award Bloomberg Award