07 - Engineer, SoftwareLocation:Penang, 07, MY
SummaryThe Lead Engineer, Software develops, debugs, tests, deploys and supports code to be deployed in systems/products/equipment for various applications. They write, debug, maintain, and test software in various common languages and for software at various levels in the hierarchy (from Firmware to Application). Software creation follows an agreed to development process (such as Agile, Scrum, etc.) and complies with the product life cycle development (phase/gate deliverables).
Detailed DescriptionResponsibilities:
Design and Development of Device Drivers for various peripherals including NIC, SPI, I2C, UART, CPLD, FPGA.
Design and Development of BSP, HAL, Application based on Debian, CentOS, embedded Linux and Other Standard Linux.
Participate in Silicon/Hardware Board bring-up and debug.
Work closely with the Firmware and Hardware teams.
Optimizing/Customizing OS based on ONIE/ONL/SONiC to suit for diagnostic hardware system.
Follow the software development process, release the software on schedule.
Troubleshoot the issues found in the design phase.
Deliver BSP design specification and other related documents.
Requirements:Bachelor (equivalent engineering) degree or above, Major related to compute technology, electrical or communication engineering.
Minimum of 2 years of experience in Linux Kernel/Device Driver development.
Very strong in C and data structures, preferably in developing multi-core or multi-threaded applications.
Must have hands-on experience in developing device drivers for Linux kernel.
Excellent debugging skills, experience with kernel debugging tools and JTAG is preferred.
Good understanding of protocols & interfaces like SPI, I2C, UART desirable.
ONL/ONIE/SONiC and network product work experience is preferred.
Knowledge and understanding of open source development and SW revision control system (Git/SVN).
Multicultural working experience desirable.
Physical DemandsDuties of this position are performed in a normal office environment.
Duties may require extended periods of sitting and sustained visual concentration on a computer monitor or on numbers and other detailed data.
Repetitive manual movements (e.g., data entry, using a computer mouse, using a calculator, etc.) are frequently required.
Occasional travel may be required.
Typical Experience3 to 8 years
Typical EducationBachelor degree or consideration of an equivalent combination of education and experience. Educational Requirements may vary by Geography.
NotesThis job description is not intended to be an exhaustive list of all duties and responsibilities of the position. Employees are held accountable for all duties of the job. Job duties and the % of time identified for any function are subject to change at any time.#J-18808-Ljbffr