Senior Software Engineer

Cisco Systems - Milpitas, CA4.1

What You'll Do:
The Cisco Service Provider Network Systems team is looking for a Software Engineer to drive existing projects and engage in new development for our Next Generation routers.

Defning, designing and implementing drivers using SDK to program custom networking ASICs
Triaging and troubleshooting failures down to the root cause
Writing and optimizing code for production deployment
Interact with technical suport teams to resolve customer reported issues
Develop new debugging tools
Develop and maintain the driver implementations with different generations and vendors of asic
Implement unit test automation
Drive the bringup of new hardware
Drive architecture and design discussions

Who You'll Work With:
You’ll be part of a team in Cisco's Service Provide Network Systems Group, focusing on developing high-performance IOX-XR software for routers that are deployed in core, edge and data center networks.

IOS XR is a train of Cisco Systems' widely deployed Internetworking Operating System (IOS), used on their high-end Network Converging System (NCS), carrier-grade routers such as the CRS series, 12000 series, and ASR9000 series.

We’re a team of software experts within the larger XR team who work on NPU and fabric subsystem.

Who You Are:
You are a highly motivated engineer with experience in embedded system development for distributed systems.

You will have the opportunity to work and learn in a dynamic environment with a team of talented engineers, developing state of the art software.

You will collaborate closely with the ASIC and hardware team and other software teams to implement drivers that work with vendor and cisco internal ASICs to implement the NPU and fabric subsystems for our next generation family of routers.

Knowledge and Skills:
Excellent C, C++ programming and debugging skills
Excellent analytical skills
A deep understanding of multiple of the following areas including
Embedded systems
Linux kernel and real time os fundamentals
Device driver development
Interrupt handling
Inter process communication
DMA/IO management,
Bus architectures like PCIe, i2C.
Ability to debug issues system-wide
Good written and verbal communication skills
Collaborative and team-focused, with the drive to learn and grow
Self-motivated, strong sense of ownership, good teammate
Bachelor’s or master’s degree in Computer Science, Computer/Software/Electrical Engineering, or a related major such as Math or Physics
Why Cisco

We connect everything: people, processes, data, and things. We innovate everywhere, taking bold risks to shape the technologies that give us smart cities, connected cars, and handheld hospitals. And we do it in style with unique personalities who aren’t afraid to change the way the world works, lives, plays and learns. We are leaders with vision, tech geeks, pop culture aficionados, and we even have a
few purple haired rock stars. We celebrate the creativity and diversity that fuels our innovation. We are dreamers and we are doers.

We Are Cisco.

Cisco is an Affrmative Action and Equal Opportunity Employer and all qualified applicants will receive consideration for employment without regard to race, color, religion, gender, sexual orientation, national origin, genetic information, age, disability, veteran status, or any other legally protected basis. Cisco will consider for employment, on a case by case basis, qualified applicants with arrest and conviction