backgo to search

lead firmware engineer (c embedded)


We are seeking a highly skilled Lead Firmware Engineer with expertise in C++ development to join our on-site team in Shanghai.

As a Lead Firmware Engineer, you will play a crucial role in developing and maintaining firmware solutions. This position requires a solid understanding of C++ programming and hands-on experience with Python development. If you are a self-motivated and detail-oriented professional with a passion for firmware engineering, we want to hear from you.

  • Develop firmware using C++ and Python
  • Collaborate closely with software developers, hardware engineers, and testing teams
  • Design and execute comprehensive test plans to ensure software quality
  • Review and debug code to identify and resolve issues
  • Provide technical guidance and mentorship to junior engineers
  • Lead firmware development projects from inception to completion
  • Collaborate with cross-functional teams to define and refine firmware requirements
  • Ensure adherence to coding standards and best practices
  • Stay up-to-date with the latest industry trends and advancements in firmware engineering
  • 5+ years of relevant work experience in firmware engineering
  • Previous leadership experience in a firmware engineering role (1+ years)
  • Strong proficiency in C++ development
  • Hands-on experience with Python programming
  • Solid understanding of firmware development processes and methodologies
  • Experience in designing and implementing firmware solutions for embedded systems
  • Proficient in debugging and troubleshooting firmware-related issues
  • Knowledge of software development lifecycle and version control systems
  • Ability to review and understand hardware schematics and datasheets
  • Excellent problem-solving and analytical skills
  • Strong communication and interpersonal skills
  • B2+ English level or higher
nice to have
  • Familiarity with microcontrollers and embedded systems
  • Knowledge of real-time operating systems (RTOS)
  • Understanding of communication protocols (e.g., UART, SPI, I2C)
  • Experience with wireless communication technologies (e.g., Bluetooth, Wi-Fi)
  • Familiarity with software testing methodologies and tools
  • Knowledge of Agile development processes
  • Proficiency in low-level programming and assembly languages (e.g., ARM, MIPS)
  • Familiarity with hardware description languages (e.g., VHDL, Verilog)
get job alerts in your inboxHundreds of open jobs for Software Engineers, QA, DevOps, Business Analysts and other tech professionals
Girl in front of laptop
looking for something else?

Find a vacancy that works for you. Send us your CV to receive a personalized offer.