SOFTWARE ENGINEER R&D (Entry/Intermediate Level)
Creox Computing Singapore Pte Ltd
Singapore
On-site
SGD 60,000 - 90,000
Full time
Job summary
A technology firm in Singapore is looking for a firmware engineer to code and optimize firmware for various network components. Key responsibilities include working on BIOS and UEFI, collaborating with hardware engineers, and ensuring system-level validation. This role demands strong coding skills and a collaborative approach to resolve hardware-firmware issues.
Responsibilities
- Coding firmware for network components including BIOS/UEFI and OS/NOS.
- Implementing features for system boot, power management, and security.
- Participating in hardware bring-up activities for new platforms.
- Working with hardware engineers for firmware requirements.
- Utilizing debugging tools for root cause analysis.
- Integrating firmware components with hardware and software.
- Supporting system-level validation and testing.
- Analyzing test failures to implement corrective actions.
- Contributing to defining test plans for firmware.
- Adhering to secure coding practices and participating in code reviews.
Responsibilities
- Coding firmware for various network switch/server components, including BIOS/UEFI, OS/NOS, Service Manual, BMC, and device-level firmware for PCIe devices (e.g., NICs, storage controllers).
- Implement and optimize features related to network switch/server system boot, power management, thermal control, sensor monitoring, error handling, and security.
- Participate actively in hardware bring‑up activities for new switch/server platforms, diagnosing and resolving issues at the hardware‑firmware interface.
- Work closely with hardware/FPGA engineers to implement firmware requirements, analyze schematics, and verify optimal hardware‑software interaction.
- Utilize hardware debugging tools for root cause analysis.
- Integrate firmware components with hardware, operating systems, and higher‑level software.
- Support system‑level validation, including functional, performance, stress, and reliability testing.
- Analyze test failures to identify firmware‑related root causes and implement corrective actions.
- Contribute to defining test plans and improving test coverage for firmware.
- Adhere to secure coding practices and contribute to robust, maintainable, well‑documented codebases.
- Participate in code reviews to ensure quality and consistency.