Our client's team is developing a network OS that drives switches and routers manufactured by their company. Their networking solutions, including the NOS, are deployed in on-premise cloud data center environments for enterprise and MSDC customers.
They are seeking software engineers with solid experience in the packet networking field to join their team. The role involves software design and development of components of the OS that directly interact with hardware.
Responsibilities
- Design and develop the networking OS for data center switches and routers, specifically the component of the NOS that programs the network ASIC.
- Fix bugs and improve the performance of the software within the area of responsibility.
- Collaborate with hardware engineers to ensure seamless integration of software and hardware components; work with control plane engineers to support provisioning of control plane information into the chip.
- Participate in code reviews and contribute to best practices development.
- Troubleshoot and resolve issues in the networking operating system.
- Support the Quality Control team in automated test development to ensure software quality and reliability.
- Stay updated with the latest networking trends and technologies and incorporate them into software design.
Qualifications required to start
- Bachelor's degree or equivalent experience in Computer Science, Electrical Engineering, or related field.
- Familiarity with Ethernet and IP-based protocols, including dynamic routing protocols like BGP and OSPF.
- Ability to work with industry standards such as IETF RFC, IEEE, etc., understanding standard requirements, and implementing described behaviors in C code.
- Proficiency in C programming language.
- Experience developing software for Linux OS, with advanced Linux user skills.
Additional experience
- Developing and maintaining software operating systems in data center/telecom environments.
- Working with large codebases, navigating and interpreting code efficiently.
- Debugging complex and multithreaded software.
- Strong problem-solving and analytical skills.
- Ability to work independently and collaboratively.
Ways to stand out
- Hands-on experience with microchip vendor SDKs (ASICs) and driver development (CPLDs, FPGAs).
- Understanding of Linux kernel networking architecture.
- Experience with I2C, SMBus/PMBus interfaces, ACPI.
- Experience with network protocols such as BGP, OSPF, STP, MPLS, LDP.
- Developing multithreaded Linux applications and services (daemons).
- Experience with embedded systems, interpreting device datasheets, and understanding hardware interconnections.
- Experience with distributed systems and cloud computing.
- Familiarity with virtualization/containerization technologies like KVM/QEMU, Docker, Kubernetes.
The client can sponsor work permits in the UAE; the role can also be located remotely in other countries.