Embedded Software Engineer

The Aftermarket Software Engineer is responsible for supporting, maintaining, enhancing, and troubleshooting software and embedded systems throughout the product lifecycle. This role works closely with cross-functional teams to analyze field issues, develop software solutions, support product sustainment activities, and ensure long-term product reliability, performance, and serviceability.

Key Responsibilities

  • Analyze customer, service, and business requirements and translate them into software design proposals and technical solutions.
  • Design, develop, modify, and maintain embedded software and application software for existing products.
  • Support product sustainment activities, including software updates, bug fixes, cybersecurity improvements, and feature enhancements.
  • Develop proof-of-concept software solutions and early-stage prototypes.
  • Investigate software-related field issues and perform root cause analysis.
  • Create software verification and validation plans and document test results.
  • Perform software debugging, code reviews, and performance analysis.
  • Collaborate with Electronics, Mechanical, Systems, Manufacturing, Quality, and Service teams to implement robust solutions.
  • Experience with Linux OS for electronic systems.
  • Support software release management, version control, and change management processes.
  • Ensure compliance with cybersecurity, functional safety, and software quality standards where applicable.
  • Create and maintain software architecture, design documentation, test reports, and engineering change records.
  • Support software lifecycle management activities from development through maintenance and end-of-life.

Preferred Qualifications

  • Experience developing embedded software in C/C++.
  • Experience with Linux OS.
  • Experience with RTOS-based systems and microcontroller platforms.
  • Experience with communication protocols such as CAN, LIN, Ethernet, UART, SPI, and I2C.
  • Knowledge of software architecture and design patterns.
  • Experience with cloud-connected products, IoT devices, or mobile applications.
  • Understanding of cybersecurity concepts and secure software development practices.
  • Experience with software testing, unit testing, integration testing, and automated testing frameworks.
  • Experience supporting products throughout their complete lifecycle, including sustainment and obsolescence management.
  • Familiarity with Agile development methodologies.
  • Bachelor's degree in Computer Engineering, Software Engineering, Computer Science, Electrical Engineering, or related field.
  • 5+ years of experience in software development, embedded systems, or software product support.
  • Experience with software debugging and troubleshooting tools.
  • Strong understanding of software development methodologies and lifecycle management.
  • Experience working in cross-functional engineering teams.
  • Strong analytical and problem-solving skills.

Technical Skills

  • Proficiency in C, C++, and/or Python.
  • Experience with Git and version control systems.
  • Experience with software debugging and analysis tools.
  • Knowledge of CI/CD pipelines and automated build systems.
  • Experience with software simulation and test environments.
  • Familiarity with Jira, Azure DevOps, or equivalent development management tools.
  • Understanding of embedded Linux is a plus.

Full-time availability with flexibility to support cross-regional collaboration. Open to travel to the United States as required to support project and team objectives. Preferrable with US American Visa.

See also

要針對這個職缺調整履歷嗎?

目前無法檢查您與這個職缺的符合程度;請先將履歷加入個人檔案,下次即可查看。

A new version of freehire is available