Summary :
Plans, designs, develops and tests software systems or applications for software enhancements and new products including cloud-based or internet-related tools. Most companies should be able to match to a specific software development engineer position. Use this position if company does not breakout software development positions such as Software Engineer (Applications) (5141-5146) or Software Engineer (Systems) (5161-5166).
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 softwareDevelop with an eye towards high performance and data throughputSolve complex problems and implement designs using C / C++Actively contribute ideas for product improvements and solutionsShow a passion for continued learning. Stay abreast of new technology and trendsWork closely with Software Development Engineers in Test (SDETs) to facilitate functional software validationExperience with Microsoft Visual Studio is a strong plusPre-Requisites / Skills / Experience Requirements :
Bachelor’s degree in Computer Science, Computer Engineering or equivalent5+ years of relevant work experienceStrong skills in C and C++, including algorithm design, data structures, and design patternsA proven ability to initiate and drive forward software development in an Agile development environmentA solid understanding of the Software Development LifecycleExcellent written and verbal communications skillsCritical thinking and the ability to structure elegant solutions to difficult problemsA passion for creating, reusing and maintaining well-structured and architected solutionsThe ability to deliver high-performance, customer-focused featuresExperience 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
Experience with data modeling and management techniques for "big data"Knowledge of networking and TCP / IPExperience with RESTful API creation and consumptionWorking knowledge of multiple data formats, including XML and JSONNetwork architectures and what impacts their performanceExperience with layer 7 protocols and their inner workings