Our client's team is developing the network OS that drives switches and routers designed andmanufactured by their company. Their networking solutions (incl. the NOS) are deployed inon-premise cloud data centre environments of our enterprise and MSDC customers.
They are looking for software engineers with solid experience in the packet networking field tojoin our team and work on the software design and development of components of the OSdirectly interacting with the hardware.
Responsibilities
Design and develop the networking OS that drives our data centre switches and routers;specifically — the component of the NOS that programs the network ASIC
Fix bugs in the software within the area of responsibility and improve performance ofthe product
Collaborate with hardware engineers to ensure seamless integration of software andhardware components; with control plane engineers in order to support provisioning ofcontrol plane information into the chip
Participate in code reviews and contribute to the development of best practices
Help with troubleshooting and resolve issues that arise in the networking operatingsystem
Support the Quality Control team in automated test development to ensure quality andreliability of the networking software
Stay up-to-date with the latest networking trends and technologies, and incorporatethem into the software design
Qualifications required to start
Bachelors degree or equivalent experience in Computer Science, Electrical Engineeringor related field
Familiarity with Ethernet and IP-based protocols, dynamic routing protocols (BGP, OSPF
at a minimum)
Ability to work industry standards such as IETF RFC, IEEE etc. — understand standard
requirements, implement the described behaviour and messaging in C code
Proficiency in C programming language
Experience of developing software for Linux OSes (this implies at advanced Linux user as
well)
Experience in developing and maintaining software operating systems in data
centre/telecom environment
Ability to work with a large codebase: navigate the code in an efficient manner,
interpret the code on the fly
Experience debugging complex and multithreaded software
Strong problem-solving and analytical skills
Ability to work independently and collaboratively in a team environment
Ways to stand out
Hands-on experience with microchip vendor SDKs (ASICs) and driver development (CPLDs,
FPGAs)
Understanding of the Linux kernel networking architecture
Hands-on experience with I2C, SMBus/PMBus interfaces, ACPI
Experience with network protocols such as BGP, OSPF, STP, MPLS, LDP
Experience developing multithreaded Linux applications
Experience developing Linux services (daemons)
Some experience with embedded (being able to interpret a device data sheet, common
on-board hardware components interconnection principles and mechanisms)
Experience with distributed systems and/or cloud computing systems
Familiarity with virtualisation/containerisation technologies such as KVM/QEMU and
Docker, Kubernetes
The client can sponsor work permits in the UAE but the role can be located remotely in other countries