Here is a resume template for an “ARM Software Engineer”. The template consists of six modules: basic information, job intention, self-evaluation, educational background, work experience, and project experience, for reference:

1. Basic Information
Name|Gender|Ethnicity|Age|Education|Current Residence|Phone|Email
Example: Wang Wu|Male|Han|35|Bachelor|Hangzhou|139XXXXXXXX|[email protected]
2. Job Intention
Intended Industry|Intended Position|Intended City|Expected Salary
Example:Photovoltaic Inverter, Energy Storage System, New Energy Vehicles|Senior Embedded Software Engineer, Senior ARM Software Architect|Shanghai and surrounding cities|Expected annual salary XX-XXW
3. Self-Evaluation
1. Possess 8 years of solid experience in embedded software development and architecture design, focusing on firmware, drivers, and system development for ARM Cortex-M/R/A series platforms.
2. Proficient in the full software lifecycle development of products in the new energy sector, such as inverters, energy storage PCS, and BMS, with a deep understanding and practical experience in grid connection algorithms, island operation, charge and discharge management, and safety standards.
3. Rich experience in developing hardware abstraction layers (HAL), board support packages (BSP), and debugging peripheral drivers (such as ADC, DAC, PWM, SPI, I2C, UART, CAN, Ethernet), capable of independently completing the entire process from requirement analysis to mass production.
4. Broad technical vision, familiar with real-time operating systems such as FreeRTOS and µC/OS-II, with extensive experience in low-power design and optimization of system stability and reliability.
5. Excellent teamwork, technical problem-solving, and project management skills, eager to share knowledge and adept at leading teams to solve complex technical issues.
6. Professional Skills:
1) Programming Languages: Proficient in C/C++, familiar with assembly (ARM Assembly), and knowledgeable in Python (for script development).
2) Microprocessors: Proficient in ARM Cortex-M series (M0/M3/M4/M7), familiar with Cortex-A series, with development experience on platforms such as NXP i.MX RT, ST STM32, and TI C2000.
3) Peripheral Buses: Proficient in ADC/DAC, PWM, Timer, Watchdog; proficient in UART, I2C, SPI, CAN/CAN FD, Ethernet (MAC+PHY).
4) Operating Systems: Proficient in **FreeRTOS, µC/OS-II, with experience in Linux driver development and applications.
5) Development Tools: Keil MDK, IAR EWARM, GCC, Git, SVN, Jira, Oscilloscope, Logic Analyzer, J-Scope.
4. Educational Background
Start and End Dates|School|Major (Degree Education Format)
Example: 2009.09 – 2013.06 Huazhong University of Science and Technology|Electronic Information Engineering|Bachelor (Regular Admission, 985)
5. Work Experience
Work Experience 1: Shanghai XX New Energy Technology Co., Ltd.2020.04 – Present
Position: Senior Embedded Software Engineer
Location: Shanghai
Responsibilities:
1. Responsible for the software architecture design and core code implementation of the company’s next-generation string photovoltaic inverter and energy storage converter (PCS) main control board.
2. Lead the establishment of an embedded software platform based on ARM Cortex-M7 and Cortex-A53 dual-core architecture, completing system task allocation, communication mechanism design, and performance optimization.
3. Responsible for the development and debugging of key peripheral drivers: such as high-precision ADC sampling, PWM generation and protection, CAN/CAN FD and BMS communication, Ethernet grid communication, etc.
4. Design and implement the grid/island switching logic, MPPT algorithm, and charge/discharge management strategy for the inverter, improving system efficiency and response speed.
5. Write technical documents, conduct code reviews, mentor junior engineers, and assist hardware engineers in board-level debugging and problem localization.
6. Lead the resolution of complex software issues encountered during testing and field applications, ensuring stable and reliable mass production of the product.
Work Experience 2: Hangzhou YY Electronics Technology Co., Ltd.2015.07 – 2020.03
Position: Embedded Software Engineer
Location: Hangzhou
Responsibilities:
1. Participated in the development of industrial-grade energy storage power supplies (ESS) and UPS products, responsible for embedded software development based on ARM Cortex-M4/M3.
2. Independently completed the development of Bootloader, RTOS porting, and various driver programs (SPI Flash, LCD, RTC, I2C sensors).
3. Implemented BMS communication protocol parsing (such as Modbus, CANopen), completing software implementation for battery state monitoring, SOC estimation, and balancing management.
4. Used tools such as J-Scope and oscilloscopes for system performance analysis and power consumption optimization, reducing standby power consumption by 30%.
5. Supported the production department by writing mass production testing tools and processes.
6. Project Experience
Project 1: Development of Software System for Next-Generation 50kW Three-Phase Energy Storage Converter (PCS)
Project Duration: 2022.03 – 2023.05
Project Role: Embedded Software Engineer
Project Description: This project aims to develop a high-performance, highly reliable three-phase energy storage converter that supports grid/island dual-mode operation with seamless switching, featuring multiple control modes such as VF and PQ, suitable for commercial and industrial energy storage scenarios.
Project Responsibilities:
1) Architecture Design: Led the software architecture design, adopting an MCU (Cortex-M7) + MPU (Cortex-A53) solution. The M7 core is responsible for high real-time power control and protection, while the A53 core runs Linux for upper-layer applications, communication, and UI. Designed the inter-core communication mechanism (based on RPMSG).
2) Core Algorithm Implementation: On the M7 core, developed core algorithms such as phase-locked loop (PLL), PQ/VF control, charge and discharge management, and CRC verification using C language, ensuring the system control loop frequency reaches 20kHz.
3) Driver Development: Developed Ethernet PHY driver and CAN FD driver, achieving high-speed and stable communication with EMS (Energy Management System) and BMS.
4) Performance Optimization: Reduced CPU load by 15% and shortened system response time to under 5μs by optimizing interrupt service routines (ISR), using DMA transfers, and enabling cache strategies.
Project Outcome: The product has been successfully mass-produced, with conversion efficiency >98.5%, grid current THD <1.5%, receiving high recognition from customers and becoming the company’s main product.
Project 2: Development of Main Control Software for 15kW Household Photovoltaic Storage Integrated Machine
Project Duration: 2021.01 – 2021.12
Project Role:Embedded Software Engineer
Project Description: Developed a product for household users that integrates photovoltaic inversion, energy storage charge and discharge, and off-grid backup functions. The software system is required to be highly integrated, stable, and easy to maintain.
My Responsibilities:
1) System Development: Developed on the STM32H7 platform based on FreeRTOS, responsible for task allocation, scheduling strategy formulation, and system resource management.
2) Function Development: Implemented MPPT algorithm and virtual synchronous generator (VSG) control strategy during off-grid operation to enhance off-grid load capacity and stability.
3) Communication Protocol: Developed communication protocol stack (Modbus-TCP, CAN2.0B) for smart meters, BMS, and photovoltaic optimizers to achieve system collaborative control.
4) Safety and Reliability: Designed comprehensive software protection mechanisms, including grid island protection, overvoltage/overcurrent/overtemperature protection, fault recording, and reporting functions.
Project Outcome: The project was delivered on time, with stable software operation, passing all safety regulations and certification tests on the first attempt, and over 50,000 units sold.
Project 3: Development of BMS Slave Module Based on STM32F4
Project Duration: 2018.08 – 2019.06
Project Role:Embedded Software Engineer
Project Description: Developed a high-precision, highly reliable battery management system (BMS) slave unit for the tiered utilization of energy storage battery packs.
My Responsibilities:
1) Hardware Driver: Wrote drivers for AFE (Analog Front End, such as TI BQ76PL455A), configured acquisition channels, and achieved high-precision collection of battery voltage and temperature.
2) Balancing Control: Designed passive balancing control algorithms to achieve intelligent balancing based on voltage and temperature, effectively improving battery pack consistency.
3) Communication Implementation: Implemented CAN communication with the BMS master unit, customized application layer protocols to ensure real-time and reliable data upload.
4) Low Power Design: Designed sleep and wake-up mechanisms, with system power consumption below 50μA in transport and storage modes.
Project Outcome:
The module’s collection accuracy reached ±1mV, successfully applied in multiple energy storage projects, greatly extending the battery pack’s lifespan.
Conclusion: When creating a resume, we must grasp the core idea of companies screening resumes – “matching between people and positions, matching between people and companies”, and combine the information from the job description – “job responsibilities, qualifications”, then refine and optimize the resume to improve its adaptability, laying a solid foundation for subsequent interviews, salary negotiations, and offer stages. We welcome fellow professionals to consult and exchange experiences, share successful insights!