C++ Optical Developer
Location: Bangalore or Chennai, India
Workplace Type: Onsite
About the Role
We are seeking a highly skilled and experienced C++ Optical Developer to join our dynamic team. In this role, you will be responsible for the design, development, and unit testing of optical devices using C++ and Python. You will work on cutting-edge technologies in the telecom industry, focusing on OTN/SONET optical protocols and hardware abstraction layers. The ideal candidate will have a strong background in embedded systems, real-time operating systems, and modern software development practices. You should be capable of working independently, leading junior developers, and contributing to a collaborative and innovative environment. This position offers an excellent opportunity to work on challenging projects and advance your career in a rapidly evolving field.
Key Responsibilities
- Design, develop, and maintain C++ code for optical devices, focusing on hardware abstraction layers (HAL).
- Implement and test OTN/SONET optical protocols.
- Develop unit tests using Python to ensure code quality and reliability.
- Debug and troubleshoot complex issues in telecom products.
- Work with embedded real-time operating systems, particularly Linux, and understand multicore and multithreaded applications.
- Contribute to the design and implementation of containerized applications using Kubernetes/Docker (a plus).
- Apply modern software development approaches in embedded systems.
- Work with OTN/ROADM/Ethernet services, specifically transponders and line systems.
- Develop application software using technologies such as Confd/OpenYuma, YANG model, CLI/NETCONF/RESCONF/gNMI, DDS, distributed messaging frameworks, and TCP/IP.
- Utilize open interfaces like OpenROADM/openConfig/TIP (a plus).
- Use C, C++, Python, and shell scripting for development and automation.
- Employ the Atlassian suite of SW development tools or equivalent for project management and collaboration.
- Work with open-source tools/environments like Git/Stash, Jenkins, Valgrind, Gtest/Gmock, Pytest, Sonarcube, and Fisheye/Crucible.
- Participate in unit testing and continuous integration (CI/CD) frameworks.
- Lead and mentor junior developers, monitoring their work and providing guidance.
- Independently handle work assignments and contribute to project planning.
Required Skills & Qualifications
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
- 8+ years of experience in C++ development, with a focus on hardware abstraction layers (HAL).
- Solid knowledge of OTN/SONET optical protocols.
- Experience with Microchip SDK is preferred.
- Strong debugging skills for telecom products.
- Proficiency in Python scripting.
- Experience with embedded real-time operating systems (esp Linux) with a strong understanding of multicore and multithreaded applications.
- Experience with containers, Kubernetes/dockers is a plus.
- Experience in modern approaches to software development in embedded systems.
- Experience in OTN/ROADM/Ethernet services - specifically transponders and line systems.
- Experience in application software development using one or more of the following: Confd/OpenYuma, YANG model, CLI/NETCONF/RESCONF/gNMI, DDS, distributed messaging frameworks, TCP/IP, etc.
- Experience and Knowledge of open interfaces OpenROADM/openConfig/TIP etc is a plus.
- Experience in C, C++, python and shell scripting.
- Experience with the Atlassian suite of SW development tools or equivalent.
- Experience with open source tools/environment like Git/Stash, Jenkins, valgrind, gtest/gmock, pytest, Sonarcube, Fisheye/Crucible.
- Experience in unit test, continuous integration (CI/CD) frameworks.