Key Responsibilities
Firmware Development:
- 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.
Hardware Interaction & Bring-up:
- 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.
System Integration & Validation:
- 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.
Standards & Best Practices:
- Adhere to secure coding practices and contribute to robust, maintainable, and well-documented codebases.
- Participate in code reviews to ensure quality and consistency.
Required Qualifications
- Bachelor’s or Master’s degree in computer engineering, Electrical Engineering, Computer Science, or a related field.
- Graduate to 3 years of experience in related embedded software or firmware development, preferably in Enterprise equipment, network/server product, computing or embedded systems.
- Strong proficiency in C/C++/Linux programming languages.
- Hands-on experience with embedded systems debugging using tools like JTAG, GDB, logic analyzers, and oscilloscopes.
- Familiarity on computer architecture, microcontrollers, and common hardware interfaces (e.g., I2C, SPI, UART, PCIe, USB, GPIO).
- Familiar with BIOS/UEFI or BMC firmware interface and usage.
- Familiarity with network switch/server hardware components (CPUs, ASIC, chipsets, memory, storage, network interfaces).
- Ability to read and understand hardware schematics and datasheets.
- Strong problem-solving skills and attention to detail.
- Experience with scripting languages (Python, Bash) for automation, testing, and build systems.
- Knowledge of industry standards like IPMI, Redfish, ACPI.
- Familiarity with various server management and monitoring tools.
- Familiar with Linux system and command /SONIC.
- Familiar with version control systems.
Requirements
- Excellent problem-solving and analytical skills.
- Have a can do attitude and drive to be a world class R&D member
- Flexibility to work and explore different technology domains
- Possess good interpersonal and communication skills.
- Good verbal and written communication skills with the ability to interact and work well with internal and external customers.
- Ability to travel if required.