PitchMeAI
PitchMeAI
Home›Jobs›Software Engineer - Silicon One Software
Cisco

Software Engineer - Silicon One Software

Cisco · San Jose, CA

  • On site
  • Full-time
  • $152,500 / year
  • San Jose, CA

Job highlights

  • Develop full software stack for network processors.
  • Collaborate with customers on product adoption.
  • Design and develop control and data plane features.
  • Utilize C++, Python for NPU software development.
  • Shape next-generation ASIC products with hardware teams.

About the role

About the Team

Our outstanding team works in a startup atmosphere within a stable and leading corporate environment, and our design center hosts all silicon Hardware and Software development fields under one roof. Our devices are crafted for universal adaptability, delivering high speed without sacrificing programmability, buffering, power efficiency, scale, or feature flexibility. We enable the use of these innovative products in the fast-paced world of Open Standards, Open Networking, and massively Scalable Cloud Data Centers.

If you want to work with amazing people and innovative customers developing the next generation of world-class products, join us! Our team develops the full software stack enabling the Silicon One network processors. We work with the Open Standards community and our incredible customers to deliver best in class routing and switching platforms. Work also with architecture and design teams to define the next generation of ASIC products being developed.

Your Impact

As part of Silicon One Customer Engineering team, you will closely interact with Cisco’s Silicon One customers to help with Silicon One product adoption, software development, documentation, technical support, troubleshooting, and maintenance. You will gather information from customers on their requirements, pain points and help them implement in software to improve software quality and customer experience. You will gain intimate knowledge of the Silicon One hardware architecture and software programming models, working closely with the architecture, hardware and software teams. You will develop innovative applications, customizations of Silicon One software to better suit the customer’s needs. You will work with Silicon One Software teams to design and development of software features for both the control plane and data plane on Cisco's Silicon One NPU. You'll play a critical role in creating software that powers highly scalable, low-power, low-latency, and dense systems, addressing the ever-growing demands of AI/ML workloads, internet users, and modern applications.

You will use modern C++, the Silicon One network processing language, and Python to develop software for the NPU. You will participate in customer discussions to define requirements, scope features, and drive the development process from start to finish along with lead engineer(s) in the organization. You'll take full ownership of delivering high-quality software on schedule, additionally, you'll gain deep expertise in the Silicon One hardware architecture and programming models, collaborating with architecture and hardware teams to shape the next generation of ASIC products.

You are an experienced software engineer who understands software development methodologies to develop software modules for the networking domain. Your experience spans multiple areas in networking, where you've worked with other senior engineers/leads to develop and support various Networking Software modules. Your expertise in control and routing planes, as well as your ability to build large-scale, high-density, and highly redundant systems, is widely recognized.

You are deeply committed to ensuring the quality of the software and systems and supporting Silicon One Software for our customers. As a member of the Silicon One Customer Engineering team, you bring optimism and a positive outlook to your work. Driven by self-motivation, you exhibit a strong sense of ownership and a passion for delivering exceptional results.

Minimum Qualifications

  • Bachelor of Science EE/CS combined with 6+ years of related experience or Master of Science EE/CS combined with 4+ years of related experience.
  • Prior expertise in software development and integration while using one or more of the following programming languages: C++, Python.
  • Prior expertise with networking protocols and technologies (e.g., L2/L3, MPLS, BGP, OSPF).
  • Prior expertise in analytical reasoning and debugging, with experience using tools such as GDB, PDB, etc.
  • Prior working experience with algorithms and data structures.

Preferred Qualifications

  • Experience with cloud, data center, or edge networking products.
  • Experience with SAI, SONiC or other Network OS.
  • Experience with writing, testing and supporting software for high performing and scalable networking products.

Key skills/competency

  • Software Development
  • C++
  • Python
  • Networking Protocols
  • Data Structures
  • Algorithms
  • Debugging
  • Customer Support
  • System Design
  • Software Integration

Skills & topics

  • Software Engineer
  • C++
  • Python
  • Networking
  • Data Center
  • Cloud Networking
  • ASIC
  • NPU
  • Control Plane
  • Data Plane

How to get hired

  • Tailor your resume: Highlight C++, Python, and networking protocol experience.
  • Showcase customer-facing skills: Emphasize your ability to support and troubleshoot.
  • Prepare for technical interviews: Review algorithms, data structures, and debugging tools.
  • Demonstrate impact: Quantify achievements in software development and integration.
  • Research Cisco's culture: Align your application with their values of innovation and collaboration.

Technical preparation

Master C++ and Python for NPU development.,Deep dive into networking protocols (L2/L3, MPLS, BGP).,Practice with debugging tools like GDB and PDB.,Review algorithms and data structures thoroughly.

Behavioral questions

Describe a complex customer technical problem you solved.,How do you ensure software quality and reliability?,Share an experience driving a development process end-to-end.,How do you collaborate with hardware and architecture teams?

Frequently asked questions

What programming languages are essential for the Software Engineer role at Cisco Silicon One?
For the Software Engineer position within Cisco's Silicon One Customer Engineering team, proficiency in modern C++ and Python is essential. These languages are critical for developing software for the NPU and customizing the Silicon One software to meet customer needs.
What networking protocols and technologies are important for this Cisco Software Engineer job?
This role requires prior expertise with networking protocols and technologies such as L2/L3, MPLS, BGP, and OSPF. A strong understanding of these areas is crucial for developing and supporting software modules in the networking domain.
What kind of debugging experience is expected for a Software Engineer at Cisco Silicon One?
Candidates for the Software Engineer role at Cisco Silicon One are expected to have prior expertise in analytical reasoning and debugging. Experience with debugging tools like GDB and PDB is highly valued for troubleshooting software issues.
Does Cisco offer remote work options for Software Engineers?
While the job description emphasizes working closely with hardware and software teams and interacting with customers, it does not explicitly state remote work options. Typically, such roles involving direct customer interaction and hardware integration may lean towards on-site or hybrid arrangements. It's best to confirm this during the application process.
What is the typical career progression for a Software Engineer at Cisco's Silicon One team?
As a Software Engineer on the Silicon One Customer Engineering team, you can expect opportunities to deepen your expertise in hardware architecture and programming models, contribute to next-generation ASIC product definitions, and potentially grow into lead engineering roles. The emphasis on customer interaction and full software stack development also offers pathways into more specialized or customer-facing technical roles within Cisco.
How does Cisco support the professional development of its Software Engineers?
Cisco emphasizes continuous learning and development. Software Engineers at Cisco have opportunities to gain deep expertise in hardware architecture, work with cutting-edge technologies, and collaborate with diverse teams. The company also offers extensive resources and a culture that encourages skill enhancement and career growth.

Similar roles

Open positions we recommend based on this role.

  • Software Engineer - Backend Developer - 5+ Years

    Cisco · Bengaluru, Karnataka, India

  • Software QA Engineer

    Cisco · Bengaluru, Karnataka, India