返回查詢:SME UEFI / 台北市

Job Requirements
What You will Do:

  • Design and implement efficient, reliable, and optimized code in C/C++ and other relevant languages
  • Collaborate with hardware architects to ensure seamless integration of software and hardware components.
  • Develop software that meets performance, reliability, and scalability standards.
  • Optimize software performance, including memory usage, processing speed, and energy efficiency.
  • Participate in system architecture design and contribute to technical decision-making.
  • Develop and maintain technical documentation for software development and testing.
  • Document software design, coding practices, and maintenance procedures.
  • Ensure the software meets industry standards, safety regulations, and project specifications.
  • Analyze project requirements and translate them into software design specifications.
  • Write efficient, reusable modules that interfaces with hardware components such as sensors, actuators, and communication modules.
  • Test and debug software using simulation tools, hardware emulators, and on-target testing methods in simulated environments before deployment to real-world devices.
  • Collaborate with cross-functional teams to define software requirements and validate product functionality.
  • Provide technical support and troubleshooting for software-related issues.
  • Work in hybrid development environments (predictive and adaptive).

Work Experience
What you will bring:

  • Expertise in C programming.
  • Expertise working with UEFI Architecture and the EDK-2 platform.
  • Engage in bare-metal development involving communication protocols such as UART, SPI, I2C, ADC, and DAC.
  • Knowledge with bare metal systems, board bring-up, and bootloader architecture.
  • Design and implement UEFI/BIOS modules in PEIM and DXE stages.
  • Experienced in debugging embedded firmware applications using JTAG, SWD debuggers.
  • Knowledge with using logic analyzers, I2C analyzers, oscilloscopes, and other relevant tools.
  • Familiarity with Python, batch files, command shells, and other relevant scripting languages.
  • Familiarity with version control systems GitHub and CICD development pipelines
  • Ability to understand technical specifications, data sheets, and develop firmware solutions based on requirements.
  • Solid experience with RTOS (Real-Time Operating Systems), embedded Linux, and other embedded platforms like ThreadX and Zephyr OS.
  • Understanding low-level hardware architecture, software optimization, memory management, and real-time processing.

Preferred Skills

  • Experience with embedded security and encryption protocols.
  • Knowledge of communication protocols such as UART, SPI, I2C, CAN, or Ethernet.
  • Knowledge of Python or other scripting languages for testing automation.
  • Familiarity with Agile development methodologies and tools like ADO.
  • Understanding of power management techniques for low-power embedded systems.
  • Knowledge in ARM embedded architecture.
  • Knowledge in PIC, EDK-2 and other microcontroller architectures.

Education And Experience

  • Master's or Bachelor's degree in computer science, Computer Engineering, Electrical Engineering, Mathematics or equivalent.
  • Minimum 10 years of relevant experience in BIOS/UEFI development
  • Experience in Agile/Scrum environment.