Job Description:
We are seeking an experienced and motivated P4 Developer to join our Network Technology team within the R&D department, contributing to the evolution of next-generation networking products. As part of our team, you will work on developing and optimizing firmware, SDKs, simulators, and compilers for Cisco Silicon One™ architecture, with a focus on leveraging the power of P4 (Programming Protocol-Independent Packet Processors). This role offers an exciting opportunity to work on pioneering technology that shapes the future of networking.
Who You'll Work With:
You will collaborate with a global network of Cisco R&D centers and learn from some of the best engineers in the industry. The team is focused on developing new silicon generations that will be integrated into all families of Cisco devices, driving the future of the internet. We are passionate about technology and engineering, and we seek individuals who share this enthusiasm to push the boundaries of what is possible through innovation, determination, and teamwork.
What You'll Do:
- Design, implement, and test P4 programs to define packet processing behaviors on network devices.
- Develop and optimize P4-based solutions to efficiently utilize hardware capabilities.
- Create, optimize, and enhance the backend of the P4 compiler to leverage the full potential of networking hardware.
- Solve complex resource management problems and optimize resource allocation across network processing pipelines.
- Collaborate with ASIC engineers to ensure seamless integration of P4 programs with next-generation IC designs, providing compiler support during hardware development phases.
- Contribute to the development of P4-related libraries, tools, and analysis frameworks.
- Collaborate with cross-functional hardware and software engineering teams to implement new features and improve existing solutions.
- Participate in the design and implementation of new P4 language features to support the needs of network application developers.
Who You Are:
- 4+ years of experience in developing and maintaining large-scale software projects, with a focus on networking and packet processing.
- Academic background in computer science or a related field (BSc/MSc degree completed or in progress).
- Proficiency in P4 and modern C++ programming, with strong software design and debugging skills.
- Deep understanding of network protocols and packet processing techniques.
- Motivation to learn, a high degree of work autonomy, and a strong sense of responsibility.
- Fluency in spoken and written English.
Good to Have:
- Experience with P4 compiler infrastructures and optimization techniques.
- Familiarity with other programming languages and tools such as Python, ANTLR, and SWIG.
- Experience in hardware/software co-design and performance analysis.
- Knowledge of Cisco Silicon One™ architecture or similar network processing architectures.
Minimum Qualifications:
- Education: BS/BA with 4+ years of experience in Computer Science, Information Science, Computer Engineering, Electrical Engineering, or related major.
- Software Design Skills: Prior experience with software design skills using C/C++.
- Troubleshooting/Debugging: Prior experience with troubleshooting and debugging skills.
- Networking Technologies: Prior experience with L2/L3 networking technologies.