Role Overview The Software Engineer will be responsible for implementing product features, fixing defects, performing unit testing, and supporting sustaining engineering activities under the guidance of senior engineers and technical leads.
Key Responsibilities
Implement software features based on defined technical requirements and designs.
Develop and maintain embedded C++ code.
Fix software defects and perform root-cause analysis.
Perform unit testing and basic troubleshooting.
Support integration and regression activities.
Participate in code reviews and follow established coding standards.
Maintain existing product functionality and resolve sustaining issues.
Use Git for source-code management and JIRA for defect/task tracking.
Develop basic Python scripts or utilities where required.
• Work closely with senior engineers and QA teams.
Required Technical Skills
4+ years of software development experience.
Valuable hands-on C++ programming experience.
Embedded Linux and/or RTOS exposure.
Understanding of multithreading and embedded software concepts.
Knowledge of OOP principles and basic design patterns.
Debugging and problem-solving skills.
Git and JIRA.
• Python/scripting exposure.
Preferred
Optical networking or telecom product experience.
Exposure to optical modules, CMIS, OTN, coherent optics, or DSP.
• Experience with AI-assisted coding or development tools.