Apex Tool Group logo

Apex Tool Group

Senior Firmware Engineer

Apex Tool Group

📍 Pudong, China 🇨🇳

full-time
senior
Posted —

Key Skills

C/C++ARMI2CSPIUART

Industry

Consumer ElectronicsAutomotive

Job Description

Responsibilities

  • Responsible for analysis, design, development, testing, troubleshooting and maintenance of the products firmware and/or customer applications.
  • Understand system and software requirements, jointly define software feature building blocks according to platform setup and availability.
  • Learn and adopt continuous improvement mindset to pursue operational excellence, and deliver robust, scalable, highly designed integrity firmware.
  • Closely work with cross-functional teams in design, development, verification till release
  • Closely work with architect (Product owner) in architecture fulfillment and development.
  • Closely work with hardware/software engineers in test case definition, software test and bug fixing to validate system/firmware functionality and performance.
  • Design and development of the test framework and of integration setup Maintain and update the code repository, ensuring effective version control and code maintainability.
  • Responsible for the product technical documentation: product release report (focus: design part), documents: follow/ endorse department working procedures.
  • Arrange smooth technology and knowledge transfer (mainly after SR) to SQA, process engineers and supplier.
  • Develop solutions towards continuous integration and delivery environment Improve and innovate on continuous integration approach.
  • Work independently and cooperate with the global development team. Work with global software development team on common code base, platforms and common building blocks, and roadmap.
  • Collaborate with experience designers to establish, maintain and communicate descriptions of users, personas, and experience pillars.


Qualifications

  • Master’s degree or above in software or electrical engineering, 5+ years’ hands-on experience in firmware development.
  • Proficient in embedded C/C++ language developing, and knowledge of assembly language.
  • Proven experience with ARM Cortex or 51 series microcontroller architectures, with experience in programming PIC, 51, RISC, or ARM-based MCUs.
  • Deep knowledge of I2C, SPI, UART, USB and RS-232/485. Competence in MODBUS, WIFI and BT communication protocols. Competence in MEMS sensors, ADCs, Flash and external EEPROM.
  • Competence in driving segment LCD, TFT LCD and OLED displays.
  • Competence in optimizing code for performance and memory usage.
  • Competence in developing algorithms for embedded system.
  • Experience in digital noise cancellation algorithm such as Kalman filter Experience in using oscilloscopes and other debugging tools for troubleshooting.
  • Experience in software unit testing, test case design and test plan creation.
  • Experience with version control systems (SVN, GIT, etc.) , and familiarity with embedded operating systems (RTOS, Linux) is preferred.
  • Experience in working with commercial teams, customers, partners or suppliers to deliver results.
  • Skills in problem solving, critical thinking, and clear communication.
  • Strong background in full product development lifecycle, including system definition, system analysis, debugging etc.
  • Proficiency in English is required for technical documentation and communication.
  • Experience in brushless moto driving is a plus Familiar with x86 architecture and Microsoft Visual Studio is a plus.
  • Capable of creating hardware schematics, especially digital electronics is a plus