Senior Embedded Software Engineer

Department Icon IT / Software Development & Related
Posted: 1 year ago
0-1 years
Bengaluru / Bangalore, Karnataka
IT / Software Development & Related
Work from Office
Full Time

Posted: 1 year ago
Let Jobaaj One apply for you

An AI agent that applies to roles like this on employers' own sites. 25 applications free, no card needed.

Job Description
Similar Jobs
Please verify your account first! Send OTP

Posted over 15 days ago, so the role may have closed. Confirm on the employer's page when you apply, or see similar jobs.

Job Description

Title: Sr. Embedded Software Engineer (L2 NIC Driver Developer) - (Linux)

Location: Bengaluru, Karnataka (South Bangalore)

Position Overview:

We are seeking a highly skilled L2 (Layer 2) NIC Driver Developer with expertise in Linux

kernel programming to join our team. The ideal candidate will design, develop, optimize, and maintain high-performance network interface card (NIC) drivers at Layer 2 for Linux-based systems. Experience with Windows NIC driver development is a plus. You will work closely with hardware and software teams to ensure seamless integration, performance optimization, and robust functionality.

Key Responsibilities:

Driver Development:

  • Design and implement L2 NIC drivers for Linux, ensuring compatibility with the latest kernel versions and distributions.
  • Develop drivers that meet performance, stability, and scalability requirements.
  • Maintain compliance with standards like IEEE 802.3 and other Ethernet-related specifications.

Performance Optimization:

  • Optimize NIC drivers for low-latency, high-throughput networking applications.
  • Implement advanced features such as interrupt moderation, Receive Side Scaling (RSS), Generic Receive Offload (GRO), and TCP Segmentation Offload (TSO).
  • Testing and Debugging:
  • Write and maintain test cases for NIC drivers, including stress tests and regression
  • tests.
  • Debug kernel and user-space issues related to the NIC driver using tools like gdb, ftrace, and perf.

Qualifications:

Technical Skills:

  • Strong experience in Linux kernel programming, especially in the area of network drivers.
  • Deep understanding of Layer 2 networking concepts, including Ethernet, VLAN tagging (802.1Q), and link aggregation (802.3ad).
  • Proficiency in C programming and familiarity with debugging tools like kgdb, valgrind, and Wireshark.
  • Knowledge of DMA, PCI/PCIe, and memory-mapped I/O (MMIO) interactions between NICs and the system.
  • Experience with Linux networking subsystems (e.g., ethtool, netdev, and skb structures).

Optional but Preferred Skills:

  • Experience with DPDK, eBPF, or other high-performance packet processing
  • frameworks.
  • Knowledge of SR-IOV, RDMA, or hardware offloading features.
  • Hands-on experience with NIC driver development for Windows (e.g., NDIS drivers).

Nice to Have:

  • Contributions to open-source projects, particularly in the Linux kernel networking Nstack.
  • Familiarity with virtualization technologies like KVM, Xen, or VMware, and virtual NICs (vNICs).
  • Experience with NIC hardware testing tools or simulation environments.

Skills

CDebuggingLinuxTestingVirtualizationDeveloperSoftware Engineer

If a job posting appears fraudulent, asks for payment, contains misleading information, or violates our guidelines, please report it immediately. Our team will review it promptly, Jobaaj does not charge any fee from the applicants.

Similar Jobs

View all
Loading...
Bag Logo
Jobaaj
Get jobs like this by email

New IT / Software Development & Related roles in Bengaluru / Bangalore.

Job Alert
Google hiring for Specific Roles Apply Now!
1 min ago
New Opportunity
Amazon is hiring freshers Apply Now!
5 min ago
Featured Jobs
Microsoft opening 50+ positions Apply Now!
10 min ago

One email a day. Unsubscribe any time.