Develop networking software solutions and platform capabilities for modular and fully distributed next-generation Cisco Network Operation System that powers Cisco’s cutting-edge routing/switching systems.
Collaborate closely with engineering and product teams to develop software from the conceptualization phase through to customer delivery.
Implement products and features for large-scale systems that run complex code in high-bandwidth environments, demonstrating strong communication skills, teamwork, and the ability to handle challenging high-priority tasks.
Troubleshoot and resolve software defects in components that range from kernel modules to applications.
Work closely with a cross-functional team, driving and collaborating with other technical leaders and software engineers on system and functional design and architecture of new features.
Write specification documents and review and sign off on requirements documents.
Commit to a higher standard of quality, even under time-to-market pressures.
Minimum Requirements:
Bachelor’s degree with 8+ years of experience, OR Master’s degree with 6+ years of experience in software development.
Programming skills in C/C++, Python, and shell scripts.
Experience with embedded systems, Linux Kernel, and real-time OS fundamentals.
Experience with pytest for developing test cases.
Experience in Object-Oriented Programming (OOP)
Preferred Requirements
Experience with Cisco networking devices or similar hardware.
Expertise with pytest fixtures, hooks, and advanced pytest features.
Experience with tools like mypy and pylint.
Practical experience with SSH, Telnet, and gRPC for connectivity.
Familiarity with the Netmiko library for network automation.
Experience with SWIG for generating Python interfaces for C APIs.
Familiarity with CI/CD pipelines and tools like Jenkins, GitHub Actions, or GitLab CI.
Proficiency in Git for version control.
Ability to debug network connections, API errors, and system-level issues.