S

Schneider Electric

Global energy management and automation provider

Engineer 2 - Embedded Software Design

Embedded EngineeringPosted on Nov 11
Full-timeShanghai, ChinaNo salary listedIn-person

About the Job

Requirements

  • A bachelor's degree or above in Electronic Engineering, Electrical Engineering, Computer Engineering, Automation, Computer Science, or a related field is required.
  • At least 5 years of experience in embedded firmware development is required.
  • Strong experience with STM32 or similar ARM Cortex-M-based microcontrollers is required.
  • Proficiency in embedded C/C++ programming, firmware development, debugging, and troubleshooting is required.
  • A good understanding of MCU peripherals, sensors, and hardware/firmware interfaces is required.
  • Familiarity with common embedded communication interfaces and protocols, such as UART, SPI, I²C, and CAN, is required.
  • Strong debugging, problem-solving, and root cause analysis capabilities are required.
  • Experience with Git/GitHub or similar source code management tools is required.
  • Basic knowledge of Linux and the ability to work in a Linux-based embedded system environment are required.
  • A good command of English in listening, speaking, reading, and writing, with the ability to communicate technical topics in an international working environment, is required.

Responsibilities

  • Develop, maintain, and optimize embedded firmware for STM32-based products.
  • Take ownership of STM32 firmware, including code development, debugging, testing, version control, and maintenance.
  • Develop and maintain interfaces between the STM32 and hardware components and sensors.
  • Understand and support communication and data exchange between STM32 and Sitara/Tilas.
  • Work closely with hardware and software engineers on system integration, debugging, and issue resolution.
  • Troubleshoot firmware and system-level issues, perform root cause analysis, and implement corrective solutions.
  • Support product verification, validation, and R&D activities.
  • Maintain and manage firmware source code using Git/GitHub and follow good software development practices.
  • Prepare and maintain firmware-related technical documentation.

Desired Qualifications

  • Basic knowledge of Python, particularly for communication, data processing, testing, or R&D activities.
  • Experience with heterogeneous embedded systems involving MCU and MPU/SoC communication.

About the Company

Schneider Electric

Global energy management and automation provider

Schneider Electric is a global specialist in energy management and automation. It helps homes, businesses, and industries run electricity more efficiently by selling electrical products, automation hardware, software, and related services. Its offerings cover electrification, automation, and digitization, and solutions connect devices, collect data, and control systems to optimize energy use in smart industries, resilient infrastructure, and data centers. The company distinguishes itself with a broad, end-to-end portfolio and a worldwide presence in over 100 countries, combining hardware, software, and services to address sustainability and reliability. Its goal is to help people and organizations use energy more efficiently, reduce environmental impact, and improve uptime and reliability.

Company size
10,001+
Company stage
IPO
Headquarters
Rueil-Malmaison, France
Founded
1836

Recently Posted Jobs

Explore more opportunities at Schneider Electric

See more jobs