Senior / Software Engineer (C++, Python & Cloud) (m/w/d)
VIAVI (NASDAQ: VIAV) is a global provider of network test, monitoring and assurance solutions for telecommunications, cloud, enterprises, first responders, military, aerospace, and railway. VIAVI is also a leader in light management technologies for 3D sensing, anti-counterfeiting, consumer electronics, industrial, automotive, government and aerospace applications.
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 passionate 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.
The VIAVI RANtoCore(TM) platform offers end-to-end testing from Radio Access to Edge to Core.TeraVM products within this platform are enabling successful commercial wireless deployments guaranteeing the highest standards. TeraVM is a complete end-to-end validation solution enabling carriers, mobile virtual network operators and network equipment vendors to validate the network topologies, systems and devices by generating control and user plane traffic.
Statistics and key performance indicators are provided to validate the functionality and performance of mobile services or to assess performance of individual nodes of the mobile network.
Senior / Software Engineer (C++, Python & Cloud)
As a Senior Software Engineer your tasks will primarily revolve around building software by writing code, as well as modifying software to fix errors, adapt it to new hardware, improve its performance or upgrade interfaces. You will also be involved in directing system testing, validation procedures and working with customers or departments on technical issues including software system design and maintenance in order to meet the customer's high-quality requirements for stability and availability.
Duties & Responsibilities
Clear and concise design of functionality and components.Writing clear and understandable code according to best practices.
You are responsible for the design and implementation of test scenarios for the system to be tested as well as analyzing the system's behavior.
You have experience in the integration of load and performance test suites in CI/ CD pipelines and the possibility to interpret and summarize performance test metrics and present the results to key stakeholders.
Responsible for the evaluation and documentation the performance of automated test cases and test results.
Create and maintain effective cross-functional team relationships to ensure team satisfaction.
Maintain knowledge of telecommunications industry/market domain knowledge.
Work within a multi-disciplinary cross-functional team.
Training and coaching our customers in the operation of test automation and the use of test tools.
Education and Experience Required
5+ years of experience in software development and proven hands-on (complex) problem-solving skills.Very good knowledge of C/C++, a good knowledge of language specification and experience with the entire software development lifecycle, as well as programming on Linux.
Experience with IPC, including socket programming and hands-on experience with multithreading, including race conditions, deadlocks, debugging and profiling (e.g., perf).
Practical experience and in-depth knowledge of STL and Boost, an understanding of data structures and algorithms.
Excellent problem-solving and multitasking skills, as well as a logical and pragmatic attitude.
Motivation to create lowest latency components.
Knowledge and Skills- OS Proficiency - Linux (Ubuntu/Debian/RedHat).
- Good Understanding of Networking Concepts IP, UDP, TCP, SCTP.
- Linux scripting - Shell scripting, Python, Groovy.
- Experience with Test Automation tools such as Jenkins, Robot or similar.
- CHRoot, KVM, ESXI.
- Private and Public Cloud - AWS, Azure, OCI, GCP.
- Openshift / Docker / Containers.
- Must have demonstrable knowledge of mobile network protocols, services and applications used by mobile operators and network equipment manufacturers.
- L4-L7 application protocols, OSI Model and common routing and switching protocols.
- Preferably having good knowledge of 3GPP telecommunications protocols, e.g., 3G/4G/5G application protocols.
- Experience with Git and codebase management.
- Knowledge of Telecom Network topologies, components and architectures.
- Ability to perform/drive resolution of problems on combinations and interactions of products.
- Able to communicate and present complex issues with assurance and confidence.
- Demonstrates the use of consulting skills including: questioning, listening, ideas development, permission and rapport, and influencing.
- Ability to conduct/lead oral status/technical interchange meetings with cross-functional teams on small- to medium-sized engagements.
- Own and produce test suite documentation. Ability to translate technical details into concise and easy to understand written form.
- Excellent written and oral communication skills, strong team player, self-starter and detail-oriented.
- Strong decision-making ability to troubleshoot problems and bring resolution.
- Fluency in English, German is a plus.
- Must have Engineering or Software development background.
- The role is likely to involve remote and some travel to key customer site for direct engagements - flexibility to travel may be required (Up-to 20%).