SW Engineer

BroadcomSan Jose, CA
8d

About The Position

We are seeking a highly skilled 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.

Requirements

  • Education: Bachelor’s degree in Computer Science, Computer Engineering or Electrical Engineering
  • Programming: Expert proficiency in C with demonstrable experience in systems-level programming.
  • Kernel Expertise: Deep understanding of operating system kernel fundamentals, including memory management, interrupt handling, concurrency, and thread scheduling.
  • Low-Level Networking: Solid understanding of the Ethernet standard (IEEE 802.3) and network protocols (TCP/IP, UDP, ARP) up to Layer 3.
  • Hardware Interface: Proven experience with low-level hardware interaction, including PCI/PCIe bus architecture and register programming.
  • Concurrency Control: Practical experience implementing and debugging synchronization primitives such as spinlocks, mutexes, and semaphores in a kernel context.

Nice To Haves

  • High-Speed Technologies: Experience with emerging networking technologies like RDMA (RoCE, InfiniBand), DPDK, or other user-space networking frameworks.
  • Virtualization: Familiarity with network virtualization technologies such as SR-IOV, VirtIO, or other para-virtualized I/O approaches.
  • Debugging Tools: Experience with hardware debuggers, logic analyzers, and advanced tracing tools.
  • Source Control: Strong proficiency with Git and associated version control workflows.

Responsibilities

  • Driver Development: Design and implement robust, high-performance, and scalable Ethernet device drivers for new and existing NIC hardware platforms.
  • Cross-Platform Porting: Adapt, port, and maintain driver codebases across Linux, FreeBSD, and Windows operating system kernels, ensuring feature parity and optimal performance.
  • Performance Optimization: Analyze network latency, throughput, and CPU utilization. Implement advanced techniques such as interrupt mitigation, DMA optimization, and ring buffer management to maximize NIC performance.
  • Debugging & Triage: Utilize kernel debugging tools (e.g., KDB, Windbg, crash dump analysis) to identify and resolve complex, asynchronous, and intermittent hardware/software integration issues.
  • Hardware Interfacing: 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.
  • Documentation: Create and maintain detailed technical specifications, design documents, and release notes for all developed drivers and kernel modules.

Benefits

  • 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
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service