VIAVI Solutions

Senior Software Development Engineer

Bucharest, ROU Full time

Summary:

VIAVI (NASDAQ: VIAV) has a 100+ year history of technical innovations that have evolved to keep pace and address our customers’ 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 and engineered diffusers, 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.

We are seeking an exceptional Senior C++ Engineer to join our dynamic engineering team. This is an exciting opportunity to work on cutting-edge embedded systems and telecommunications solutions that power critical infrastructure worldwide. You'll be part of a collaborative environment where innovation meets practical engineering excellence.

• Technical Impact: Your work will directly influence the performance and reliability of next-generation telecommunications test equipment used by industry leaders globally.
• Modern Tech Stack: Work with contemporary C++17 standards, giving you exposure to both modern best practices and real-world architectural evolution.
• Cross-Functional Collaboration: Partner with hardware engineers, firmware developers, and product teams to deliver integrated solutions.

Duties & Responsibilities:

  • Design & Implementation: Develop robust, maintainable C++ code for embedded systems, protocol implementations, and platform services while adhering to modern C++ standards and best practices.

  • Debug & Troubleshoot: Diagnose complex issues across hardware/software boundaries using tools like GDB, system logs, and hardware analyzers.

  • Code Review & Collaboration: Participate in peer code reviews, providing constructive feedback and learning from team members' expertise.

  • System Integration: Work closely with hardware engineers to integrate software with FPGAs, custom boards, and peripheral devices.

  • Testing & Validation: Write unit tests, perform integration testing, and validate functionality on target hardware platforms.

  • Documentation: Create clear technical documentation for APIs, architectures, and troubleshooting guides that benefit the entire team.

  • Build System Maintenance: Optimize CMake configurations, manage dependencies, and improve build times across multiple platforms.

  • Technical Planning: Participate in sprint planning, estimate effort for features, and break down complex problems into manageable tasks.

  • Knowledge Sharing: Mentor junior developers through pair programming, technical discussions, and informal knowledge transfer sessions.

  • Cross-Platform Development: Build and test code across multiple ARM and x86 targets, ensuring compatibility and optimal performance for each platform.

Pre-Requisites / Skills / Experience Requirements:

Key Development Skills:

  • Proficiency in C++ (C++14 or above).

  • OO Design Methodology (OOPS, OOAD).

  • Task-based operating system knowledge (Linux preferred).

  • Yocto experience.

  • Experience with CMake.

  • Qt/QML experience.

  • Unit/Class Test background (Test Driven Development).

  • Experience with version control systems: GIT, SubVersion, etc.

  • Embedded Linux, bare metal development- Experience in software toolchains, RTOS.

  • Experienced using an Agile-based development process, preferably some flavor of Scrum, on multiple projects.

  • Fluent Romanian and English.

Preferred skills:

  • Experience in networking (TCP/IP, 802.11, Bluetooth).

  • Experience with project tracking software with the ability to drive in an Agile fashion, preferably with the Atlassian Tool Chain (Confluence, JIRA, etc.).

  • Domain skills: DOCSIS, xDSL, Cable test equipment, Telco test equipment.

  • Exposure to communication protocols, MATLAB, FPGA, DSP.

  • Mobile application development experience.

  • MVC design methodology (Knowledge of design patterns).

  • Real-time or near real-time design background.

  • Laboratory measurement tools.

  • Markup language experience – XML/QML/JSON.

If you have what it takes to push boundaries and seize opportunities, apply to join our team today.

#LI-Hybrid