Senior Software Engineer
Location:Milpitas, California, US
Area of InterestEngineer - Software
Technology InterestService Provider
Who You'll Work?
You’ll be part of a team in Cisco's Service Provider 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 authorities within the larger XR team who work on NPU and fabric subsystem
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. You will define, design and implement drivers using SDK to program custom networking ASICs
- You will be involved in triaging and solving failures down to the root cause and implement unit test automation
- Writing and optimizing code for production deployment
- Get along with technical support teams to resolve customer reported issues
- Develop and maintain the driver implementations with different generations and vendors of ASICS and develop new debugging tools
- Drive the bring-up of new hardware
- Drive architecture and design discussions
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++, and Python 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
- Interprocess communication
- DMA/IO management,
- Bus architectures like PCIe, i2C.
- Ability to debug issues system-wide
- Good written and verbal communication skills
- 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
At Cisco, each person brings their rare talents to work as a team and make a difference.
Yes, our technology changes the way the world works, lives, plays and learns, but our edge comes from our people.
- We connect everything – people, process, data and things – and we use those connections to change our world for the better.
- We innovate everywhere - From launching a new era of networking that adapts, learns and protects, to building Cisco Services that accelerate businesses and business results. Our technology powers entertainment, retail, healthcare, education and more – from Smart Cities to your everyday devices.
- We benefit everyone - We do all of this while striving for a culture that empowers every person to be the difference, at work and in our communities.
Colorful hair? Don’t care. Tattoos? Show off your ink. Like polka dots? That’s cool. Pop culture geek? Many of us are. Be you, with us! #WeAreCisco
Cisco is an Affirmative Action and Equal Opportunity Employer and you 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 records.