Software Development Engineer – Routing Platforms & L2 - Routing, C, Linux, Device Drivers, Packet Forwarding, L2/L3 Networking, Bangalore, Exp: 8-12 Yrs
Cisco Systems View all jobs
- Bangalore, Karnataka
- Permanent
- Full-time
- Hardware-Software Integration: Collaborate closely with hardware engineering teams to bring up new platforms, develop low-level drivers, and integrate Network Interface Modules (NIMs).
- Firmware Development: Design, implement, and maintain ROMMON and bootloader software to ensure secure and reliable system initialization.
- Forwarding Plane Optimization: Develop and tune high-performance forwarding plane software to meet the rigorous demands of modern secure routing environments.
- L2 Feature Development: Implement and optimize Layer 2 networking protocols and features within the platform stack.
- Performance Debugging: Perform deep-dive analysis into performance bottlenecks at the kernel and hardware-abstraction layers, including the control plane.
- Modern Development Practices: Utilize modern development workflows, including AI-assisted coding tools (such as GitHub Copilot, Claude, or Codex) and integrated development environments like VSCode, to accelerate the development lifecycle.
- 8-12 years of industry experience with end-to-end software development in networking, including platforms, system software, kernel/user-space drivers, bootloaders, and BIOS.
- Strong proficiency in C/C++ with a focus on systems programming and Linux environments.
- Proven experience in developing device drivers and working with RTOS/Linux kernels.
- Solid understanding of routing architectures and Layer 2/Layer 3 networking protocols (e.g., Ethernet, VLANs, STP).
- Experience with bootloaders (ROMMON), hardware bring-up, and board support packages (BSP).
- Knowledge of high-speed interfaces (PHY, MAC, MACSEC) and DPDK.
- Debugging experience with hardware interfaces (i2c, PCIe) and hardware/software debuggers (e.g., GDB, Arium, BDI).
- Knowledge of x86 or ARM assembly code, instruction sets, and ABIs.
- Experience with AI/ML techniques and tools for development (e.g., code assistants, static analysis tools, test automation platforms).
- Strong collaborative skills and the ability to debug complex issues spanning hardware, firmware, and software layers.