C++ Engineer with Linux, Cloud, Virtualization-(2100008X)
VIAVI (NASDAQ: VIAV) has a 90+ year history of technical innovations that have evolved to keep pace and address our customer’s most pressing business issues. We make equipment, software, and systems that help to plan, deploy, certify, monitor, and optimize all kinds of networks - like those for mobile phones, service providers, large businesses and data centers. VIAVI is also a leader in high performance thin film optical coatings, providing light management solutions to anti-counterfeiting, consumer electronics, automotive, defense and instrumentation markets.
We are the people behind the products that help keep the world connected – at home, school, work, at play, and everywhere in between. VIAVI employees are fierce about supporting customer success and we welcome people who bring their best every day to the company - to question, to collaborate and to push for solutions that will delight our customers.
Work with a team to develop high performance software supporting modern network application performance management technologies in a fast paced and agile environment where you’ll be making meaningful contributions day one.
Duties/Responsibilities: Work with your team to become best in class in quality, innovation, and time to market while creating the next generation of VIAVI's Network Performance Management and Diagnostics (NPMD) platform Responsible for ensuring product features are functionally correct, fully validated, and demonstrably meet specifications Apply sound engineering principles for highly maintainable and testable software Develop with an eye towards high performance and data throughput Solve complex problems and implement designs using C/C++ Actively contribute ideas for product improvements and solutions Show a passion for continued learning. Stay abreast of new technology and trends Work closely with Software Development Engineers in Test (SDETs) to facilitate functional software validation
Basic Qualifications: Bachelor’s degree in Computer Science, Computer Engineering or equivalent 3-5 years of relevant work experience Strong skills in C and C++, including algorithm design, data structures, and design patterns Knowledge of networking and TCP/IP stack A proven ability to initiate and drive forward software development in an Agile development environment A solid understanding of the Software Development Lifecycle Excellent written and verbal communications skills Critical thinking and the ability to structure elegant solutions to difficult problems A passion for creating, reusing and maintaining well-structured and architected solutions The ability to deliver high-performance, customer-focused features Experience in debugging and testing new software constructs as well as an ability to predict and prevent negative side-effects when modifying existing or legacy code.
Nice to have: Packet-level VoIP protocol knowledge Experience with Microsoft Visual Studio and/or GNU toolchain is a plus Experience with RESTful API creation and consumption Working knowledge of multiple data formats, including XML and JSON Network architectures and what impacts their performance Experience with layer 7 protocols and their inner workings Experience with virtualization and cloud technologies (eg. containers, VMs, Kubernetes, Openstack etc) Experience with high performance network processing frameworks (eg. DPDK, XDP, VPP etc) Experience with modern network interface adapters (Intel, Mellanox, Napatech, Netronome etc)