Python Networking Engineer
The CHI Software team is not standing still. We love our job and give it one hundred percent of us! Every new project is a challenge that we face successfully. The only thing that can stop us is... Wait, it’s nothing! The number of projects is growing, and with them, our team too. And now we need a Python Networking Engineer.
About project:
Our customer delivers innovative software-defined networking, cloud, and security solutions all over the world. This project encompasses the development of Networking SDK for network processors (NPU) /platforms (devices). The customer produces various high-performance switches which are operated in big data centers and used by regional providers. These switches are flexible from the point of flow configurations and based on P4.
You will work as part of the customer team and will do the following:
- Automated tests development (Pytest framework) for various traffic flows, including L2/L3 flows, various tunnels flows, etc.;
- Tests case development for various traffic flows and traffic forwarding databases;
- QA documentation, including test plans, test cases, reports, etc;
- Performing testing of various switches/routers (automated);
- Defects reporting.
Job Description:
We are looking for an experienced software engineer with strong technical expertise, excellent problem-solving skills, and the ability to work effectively in a collaborative environment. The ideal candidate should have a proven track record of working on complex systems, particularly in networking and Python development. Candidates with a strong background in both software development and QA engineering are encouraged to apply for this role.
Technical Requirements:
Networking Experience:
- Experience with networking devices like routers and switches.
- Experience with FW/SW development for networking devices using C/C++
- Experience with BSP, data plane or control plane protocols development for networking
devices - Experience with data path automated tests development for network devices, using
Python/Pytest. - Experience with SW/HW bringup/integration of networking devices.
- Solid understanding of the differences between routing and forwarding, as well as switches and routers.
- Familiarity with VLANs.
- Hands-on experience with traffic management, including prioritization, shaping, and routing of network traffic.
- Proficiency in TCP/IP and UDP protocols.
Advanced Network Skills:
- Experience with link aggregation and LACP.
- Understanding of load balancing algorithms such as ECMP
- Understanding of SPAN/RSPAN/ERSPAN, ACL
- Familiarity with traffic mirroring.
- Knowledge of automatic routing protocols like BGP, OSPF, RIP, and IS-IS.
Programming and Tools:
- Advanced C/C++ programming skills.
- Advanced Python programming skills.
- Experience with Pytest, Scapy, traffic generators, traffic analysers, etc.
- Git/ GitHub
Additional Skills (Optional but Preferred):
- Knowledge of embedded systems, Linux, or related technologies is an advantage.
- Familiarity with tools like Jira, and CI/CD pipelines.