Junior Embedded Software Engineer

Job Code : HEX20_SW_J01001

Job Description

  • Looking for a Junior Embedded Software Engineer with hands-on experience writing and debugging firmware for microcontroller-based products.
  • You will work closely with senior engineers to implement drivers, fix defects, and support bring-up and testing of embedded systems.

Key Responsibilities

  • Write, test, and maintain embedded C/C++ firmware for microcontroller-based products
  • Bring up and validate new hardware boards under guidance from senior engineers
  • Debug firmware issues using JTAG/SWD debuggers, logic analyzers, and oscilloscopes
  • Write unit tests and support integration testing of embedded modules
  • Document code, test results, and known issues clearly for the team
  • Participate in code reviews and incorporate feedback from senior engineers

Required Skills & Qualifications

  • 2.5+ years of hands-on experience in embedded C/C++ development
  • Solid understanding of microcontroller fundamentals: GPIO, timers, interrupts, UART/SPI/I2C
  • Practical debugging skills, comfortable with debuggers (GDB, JTAG/SWD), oscilloscopes, and logic analyzers
  • Familiarity with version control (Git) and basic build tools (Makefiles/CMake)
  • Ability to read datasheets and reference manuals and translate them into working code
  • Good communication skills and willingness to learn from senior team members

Preferred Skills

  • Exposure to any RTOS (FreeRTOS, Zephyr, etc.)
  • Basic scripting skills (Python/Bash) for test automation
  • Experience with peripherals such as ADC/DAC, PWM, or communication protocols (CAN, Modbus,libcsp)