Dell Software Principal Engineer- C/C++ in Shanghai, China

Job Description

Dell EMC is a part of the Dell Technologies family of brands. Dell Technologies is a unique family of businesses that provides the essential infrastructure for organizations to build their digital future, transform IT and protect their most important asset: information.

The successful candidate of this position will serve as a Principle Software Engineer in Platform team of Storage Product Engineering Organization (SPE), playing critical role in delivering cutting edge Storage Array Platform software. Candidate is expected to demonstrate strong motivation, problem solving and communication skills, and a proven record of meeting aggressive deadlines.

Key Responsibilities

  • Responsible for the development of Storage Array Platform software

  • Responsibilities include design, implementation and debug of OS, device driver, applications

  • Write specifications (Functional, Design, Unit/Integration test), and participation in software design and code reviews

  • Collaborate with other engineering and cross functional groups

  • Support new platform development as well as upgrades, enhancements or fixes to existing products

  • Follow latest technical trends, adopting new technologies quickly and could come out with innovative ideas

Essential Requirements

  • Bachelor or Master’s degree in Computer Science, Computer Engineering, Electrical Engineering or similar

  • 8+ years of industry experience in Intel X86 system software or any embedded software design/development

  • Excellent ability of C language, include coding and design. Knowledge of C++ would be a plus

  • Deep understand of multi-threaded coding / design / debug

  • Demonstrated ability to analyze and solve technical problems, include user space and kernel space. (Debug / trouble shooting)

  • Experience on complicated / legacy system is a big plus

  • Experience base on Linux is mandatory

  • Excellent interpersonal and communication skills

  • Ability to ramp up quickly on SW/HW architectures, and work as a self-starter

  • Practical experience with contemporary Software Engineering principles, Software Development Life Cycle

Desirable Requirements

  • Knowledge and expertise in the following areas: Storage protocols (NFS, CIFS, iSCSI/FC, SAS, SCSI, NVMe, PCIe), storage technologies (SAN, NAS, RAID), clustering

  • Device Driver development experience a plus

  • Experience/Knowledge of Linux kernel/driver is a big plus

  • C++ ability is a plus

  • Have good understanding of block device driver

  • SPDK/DPDK experience is a plus

  • Have understanding of networking

  • Hardware/Software trouble shooting skills are highly desired

  • Experience with Git (or other source control system), Jenkins, Remedy (or other bug management system) is a plus

  • Experience with Docker/Container technology is a plus

  • Practical experience with Perl/Python, bash shell scripting


We are a people company. We offer highly competitive salaries, bonus programs, world-class benefits, and unparalleled growth and development opportunities — all to create a compelling and rewarding work environment.