C Software Engineer - Network Asic'S

Be among the first applicants.
Mbr Partners
Johannesburg
Remote
USD 50 000 - 90 000
Be among the first applicants.
5 days ago
Job description

Our client's team is developing the network OS that drives switches and routers designed and manufactured by their company.

Their networking solutions (including the NOS)

are deployed in on-premise cloud data centre environments for our enterprise and MSDC customers. They are looking for software engineers with solid experience in the packet networking field to join our team and work on the software design and development of components of the OS that interact directly with hardware.

Responsibilities

  1. Design and develop the networking OS that drives data centre switches and routers; specifically, the component of the NOS that programs the network ASIC.
  2. Fix bugs in the software within the area of responsibility and improve product performance.
  3. 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.
  4. Participate in code reviews and contribute to the development of best practices.
  5. Help troubleshoot and resolve issues that arise in the networking operating system.
  6. Support the Quality Control team in automated test development to ensure quality and reliability of the networking software.
  7. Stay up-to-date with the latest networking trends and technologies, and incorporate them into the 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 such as BGP and OSPF.
  • Ability to understand standard requirements and implement the described behaviour and messaging in C code.
  • Proficiency in C programming language.
  • Experience developing software for Linux OSes, including advanced Linux user skills.
  • Experience in developing and maintaining software operating systems in data centre or telecom environments.
  • Ability to work with large codebases, navigate and interpret code efficiently.
  • 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 ASIC SDKs and driver development (CPLDs, FPGAs).
  • Understanding of Linux kernel networking architecture.
  • Experience with interfaces such as I2C, SMBus / PMBus, ACPI.
  • Experience with network protocols like BGP, OSPF, STP, MPLS, LDP.
  • Developing multithreaded Linux applications and services.
  • Experience with embedded systems, interpreting device datasheets, and hardware interconnection principles.
  • Experience with distributed systems, cloud computing, virtualization, and containerization technologies like KVM, QEMU, Docker, Kubernetes.

The client can sponsor work permits in the UAE, but the role can be located remotely in other countries.

Get a free, confidential resume review.
Select file or drag and drop it
Avatar
Free online coaching
Improve your chances of getting that interview invitation!
Be the first to explore new C Software Engineer - Network Asic'S jobs in Johannesburg