Senior Software Engineer - C/C++ with Firmware & Networking |8-12 years
Cisco
- Location
- Bangalore, India
- Work model
- On-Site
- Level
- Senior
- Posted
- Sep 3, 2026
Skills
About this role
Meet the Team Cisco Networking builds industry-leading switching, routing, wireless, and cloud-managed networking solutions used by customers worldwide. We are looking for a hands-on senior firmware engineer with strong systems programming and networking expertise to help develop the next generation of high-performance switching software. Join the Network Connectivity team, where you will design and develop production-grade firmware and system software for enterprise switching platforms. As a Senior Software Engineer, you will independently own significant features , contribute to technical design and architecture decisions, and work closely with networking, platform, quality, and product teams.
Your Impact
In this role, your work will directly enhance the connectivity, reliability, and configuration of L2/L3 protocols on Cisco switching platforms. You will own medium-to-large features from design through delivery, troubleshoot complex device and customer issues, and help raise the engineering bar through strong technical judgment and mentorship.
Responsibilities
Design, develop, and own networking components that are simple, scalable, reliable, and supportable. Develop firmware and system software for Cisco switching products . Analyze requirements and problem statements, evaluate technical trade-offs, and produce clear software designs, detailed design documents, and functional specifications. Write high-quality C/C++ code and unit tests. Apply strong white-box testing and automation practices. Triage, debug, and root-cause software bring-up issues, regressions, crashes, performance problems, and customer failures. Work with local and remote teams to review product requirements, software functional/design specifications, unit and integration test plans, and validation strategy. Partner closely with system test and quality teams to ensure feature readiness. Contribute innovative ideas that improve product architecture, debuggability, performance, reliability, and engineering productivity, including opportunities to create intellectual property.
Minimum Qualifications
Bachelor's or Master's degree in Computer Science , EE/ECE, or a related field, with typically 8-12 years of relevant software/firmware development experience. Strong hands-on proficiency in C/C++ with solid data structures, algorithms, object-oriented design, memory management, and debugging skills. Hands-on experience developing firmware, embedded software, or system software for networking products. Strong system design skills with the ability to design and independently own feature- or component-level architecture. Strong experience with concurrent programming, multithreading, synchronization, and IPC/RPC mechanisms. Strong L2/L3 networking knowledge, including Ethernet, VLANs, STP/RSTP, LACP/LAG, ARP, IPv4/IPv6, routing fundamentals, packet flow, and network troubleshooting. Strong Linux/system programming fundamentals and hands-on debugging experience using tools such as GDB, core dumps, packet captures, Wireshark/ tcpdump , and traffic generators/analyzers such as IXIA or equivalent. Demonstrated ownership of medium-to-large technical features, including design, implementation, testing, rollout, and production/customer support. Ability to mentor engineers and contribute effectively to design and code reviews. Hands-on experience using GenAI-assisted development tools such as Codex, GitHub Copilot, Claude, or equivalent to improve engineering productivity while maintaining code quality and security.
Preferred Qualifications
Hands-on development and debugging experience with networking protocols and switching features such as VLAN, STP/RSTP/MST, LACP/LAG, UDLD, Storm Control, QoS, OSPF, BGP, ECMP, multicast, DHCP relay, SLAAC, or VRRP. Experience with Python or another scripting language for test automation, debugging, tooling, or developer productivity.