Software Engineer, C++ Developer
Listed on 2025-12-01
-
Software Development
C++ Developer, Software Engineer
We are seeking a highly skilled and experienced Device Driver Developer to join our core driver development team. This role involves the design, development, optimization, and debugging of high-performance Ethernet network interface card (NIC) drivers that operate at the kernel level. The ideal candidate will have deep expertise in low-level programming, network protocols (L2/L3), and kernel internals across multiple operating systems, including Linux, FreeBSD, and Windows.
Responsibilities- Design and implement robust, high-performance, and scalable Ethernet device drivers for new and existing NIC hardware platforms.
- Adapt, port, and maintain driver codebases across Linux, FreeBSD, and Windows operating system kernels, ensuring feature parity and optimal performance.
- Analyze network latency, throughput, and CPU utilization; implement advanced techniques such as interrupt mitigation, DMA optimization, and ring buffer management to maximize NIC performance.
- Utilize kernel debugging tools (e.g., KDB, Win Dbg, crash dump analysis) to identify and resolve complex, asynchronous, and intermittent hardware/software integration issues.
- Work directly with hardware specifications to program low-level functions including Memory-Mapped I/O (MMIO), Direct Memory Access (DMA), and Interrupt Request (IRQ) handling.
- Create and maintain detailed technical specifications, design documents, and release notes for all developed drivers and kernel modules.
- Education:
Bachelor’s degree in Computer Science, Computer Engineering, or Electrical Engineering with 5+ years of experience OR Master’s degree with 3+ years of experience. - Expert proficiency in C with demonstrable experience in systems-level programming.
- Deep understanding of operating system kernel fundamentals, including memory management, interrupt handling, concurrency, and thread scheduling.
- Solid understanding of the Ethernet standard (IEEE 802.3) and network protocols (TCP/IP, UDP, ARP) up to Layer 3.
- Proven experience with low-level hardware interaction, including PCI/PCIe bus architecture and register programming.
- Practical experience implementing and debugging synchronization primitives such as spinlocks, mutexes, and semaphores in a kernel context.
- Experience with emerging networking technologies like RDMA (RoCE, Infini Band), DPDK, or other user-space networking frameworks.
- Familiarity with network virtualization technologies such as SR-IOV, VirtIO, or other para-virtualized I/O approaches.
- Experience with hardware debuggers, logic analyzers, and advanced tracing tools.
- Strong proficiency with Git and associated version control workflows.
The annual base salary range for this position is $91,000 – $146,000.
This position is also eligible for a discretionary annual bonus in accordance with relevant plan documents and equity in accordance with equity plan documents and equity award agreements.
Broadcom offers a comprehensive benefits package: medical, dental, and vision plans; 401(k) participation including company matching;
Employee Stock Purchase Program (ESPP);
Employee Assistance Program (EAP); company paid holidays; paid sick leave and vacation time;
Paid Family Leave and other leaves of absence.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).