Position: Senior C/C++ Software Engineer
Company: PLVision
Category: C++
Experience required: 3y
English level: intermediate
Published: 2021-09-01T00:00:00+03:00

PLVision is a software R&D firm, specializing in solutions for Computer Networking, Embedded Systems, and the Internet of Things Connectivity, that operates on the global market since 2007.

We are looking for a Senior Software Engineer with in-depth Linux knowledge, a deep understanding of networking protocols, and a perfect knowledge of С or С++ language.

In this position you will be a part of a new experienced team, enabling SONiC (Software for Open Networking in the Cloud) OS support on top of SAI (Switch Abstraction Interface) for a new router product. SONiC is a highly innovative product and currently the world’s most popular open-source network OS. The goal of our project is also to harden both SAI and the SONiC-based product and ensure their highest quality.

As a Senior Software Engineer, you will be working directly with the Customer as a member of the team responsible for development, integration, product support, and hardening activities. You will join a collaborative environment with open, transparent communication, well-established processes, a minimum of formalities, and a maximum of trust.

Project Definition
The development team is focused on implementation of SAI (Switch Abstraction Interface) library and its integration with an open Network Operating System. SAI library is a layer on top of switching silicon's SDK and Linux drivers. It is a key component that enables Linux-based switches and routers built with a new ASIC (Cisco Silicone One). Primary technologies are C++, Linux user-space libraries/applications, Docker, as well as physical hardware.

Client Profile
Our customer is a leading global networking equipment, software and switching ASIC (chip) vendor, based in the U.S. Their networking products enable end-to-end solutions for data center, ISP/Telecom and enterprise clients.We are looking for a Senior Software Engineer with in-depth Linux knowledge, a deep understanding of networking protocols, and a perfect knowledge of С or С++ language.

In this position you will be a part of a new experienced team, enabling an open Network Operating System support on top of SAI (Switch Abstraction Interface) for a new product line based on the revolutionary Cisco Silicon One platform.

As a Senior Software Engineer, you will be working directly with the Customer as a member of the team responsible for development, integration, product support, and hardening activities. You will join a collaborative environment with open, transparent communication, well-established processes, a minimum of formalities, and a maximum of trust.

Project Definition

The development team is focused on implementation of SAI (Switch Abstraction Interface) library and its integration with an open Network Operating System. SAI library is a layer on top of switching silicon's SDK and Linux drivers. It is a key component that enables Linux-based switches and routers built with a new ASIC (Cisco Silicone One). Primary technologies are C++, Linux user-space libraries/applications, Docker, as well as physical hardware.

Client Profile
Our customer is a leading global networking equipment, software and switching ASIC (chip) vendor, based in the U.S. Their networking products enable end-to-end solutions for data center, ISP/Telecom and enterprise clients.

Vacancy responsibilities:
• Software development and testing to enable the SAI/SONiC high performance for new platforms;
• Create the Architecture and Design documentation. Maintain the Design documentation to assist in modification of software;
• Ensure SAI/SONiC features (components) are implemented and documented according to the requirements;
• Work closely with the test team to give them a development perspective;
• Establish test metrics and mentoring team members while ensuring that all functionality is implemented on time.

Vacancy requirements:
• In-depth Linux OS knowledge;
• Deep understanding of networking protocols (Layer 2 or Layer 3 networking protocols implementation, TCP sockets programming);
• Perfect knowledge of C or C++;
• 5+ years of commercial experience in Software Engineering;
• Knowledge of technical English at Intermediate level and higher.

Vacancy plus options:
• Experience with SAI/SONiC implementation and integration;
• Experience with Linux networking;
• Experience with virtualization/containerization technologies;
• Understanding of CI/CD processes.