Job Description:

Responsibilities:

• Design, develop, and support Linux NIC driver and other software components for QLogic Intelligent Ethernet Adapters (IEA) and Converged Network Adapters (CNA) in the Linux operating environment
• Design, develop, and support DPDK Poll Mode driver and other software components for QLogic Intelligent Ethernet Adapters (IEA) and Converged Network Adapters (CNA)
• Design, develop, and support virtualization technologies like NIC Partitioning (NPAR), Single Root IO Virtualization (SR-IOV), VxLAN/GENEVE etc. in the Linux NIC driver, DPDK Poll Mode Driver and other software components for Linux XEN and KVM hypervisor environments
• Participate in all phases of development and support from requirements, design, implementation, unit testing, performance benchmarking, and providing support for downstream test partners, OEMs, customers etc.
• Work closely with the ASIC, hardware, firmware, testing teams, OEMs, and customers on resolving issues found during various phases of development, testing, and deployment
• Be available to work at OEM and customer site if needed.
• Work with upstream kernel community (kernel.org) to have the drivers included in upstream kernel releases
• Work with DPDK community (dpdk.org) to have the drivers included in DPDK releases
• Work with Linux distro partners (RedHat, Novell, Citrix, Oracle etc.) to have the drivers inbox on major Linux distributions
• Work on gathering Linux/DPDK specific requirements for new features and work with hardware/firmware teams to get them incorporated in the newer hardware/firmware
• Ability to come up with detailed design specs for the driver using firmware/hardware API specifications
• Work with Engineering Integration Test (EIT) & Product Quality Assurance (PQA) teams to develop new test cases, and to get the test cases automated.
• Work on issues reported and providing support for Engineering Integration Test (EIT) & Product Quality Assurance (PQA) teams
• Work with support engineers to understand and resolve field issues
• Work with marketing and tech pubs to come up with user guides and customer visible documentations
• Contribute towards organizational goals and objectives
Requirements:

• 3+ years of device drivers and/or system software development experience in Linux or Unix operating environments
• Thorough understanding of Linux/Unix kernel internals
• Thorough understanding of OS and system software concepts like DMA, interrupts, processes & threads, memory management, synchronization etc.
• Proficient in C programming
• Thorough understanding of Ethernet protocols and technologies
• Thorough understanding of TCP/IP protocol and networking stack
• Understanding of DPDK Software is good to have.
• Understanding of FC/FCoE/iSCSI storage protocols is good to have.
• Development experience in Linux XEN/KVM hypervisors or any other hypervisor environment is good to have
• Understanding of PCI and IOV protocols is good to have
• Experience in kernel debugging is required
• Expertise in software development lifecycles and software testing methodologies & techniques
• Must have effective interpersonal, teamwork, and communication skills.
• Excellent communication skills to interface internally and externally with all levels of the organization and to participate in problem-solving and quality improvement activities.
• Demonstrates good analytical and problem-solving skills.
• Has an inherent sense of urgency and accountability.
• Must demonstrate initiative and a bias for thoughtful action.
• Grounded, detail-oriented always backs up ideas with facts.
• Must have the ability to define problems, issues, and opportunities, analyze data, establish facts, and draw valid conclusions from various datasets.
• Must have the ability to multi-task in a fast-paced environment.
• Self-motivated and a team player
• BS in CS/EE with 3+ years of related experience.


Source link