Senior C/C++ Software Engineer
In this position you will be a part of an 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 and 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.
About PLVision
PLVision is a software product development services company specializing in computer networking, embedded systems, and the Internet of Things Connectivity. Operating in the global market since 2007, we help networking industry leaders and ambitious startups launch innovative products.
Vacancy responsibilities:
• Develop software and run testing to enable high performance of Switch Abstraction Interface (SAI)/ Software for Open Networking in the Cloud (SONiC) for new platforms;
• Create the Architecture and Design documentation. Maintain the Design documentation to assist in software modification;
• 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 Continuous Integration (CI)/Continuous Delivery (CD) processes.