Experience Required-5 - 8 years
Role & ResponsibilitiesEngage in the design, development, and programming of Linux/C++ SDKs.Collaborate with software development teams on application design, development, and integration.Analyze code and software design, troubleshoot code flow, run test cases, reproduce issues locally, and implement debugging to enhance serviceability.Should be able to diagnose network-related issues, determine their connection to the SDK, and translate them into practical, actionable solutions.Improve the overall software by performing maintenance updates, upgrades, and optimizing performance.Participate in software/hardware integration with teams across various locations.Conduct unit testing to ensure code quality and reliability.Maintain regular communication with relevant design teams to ensure smooth integration and optimal performance.Ideal CandidateProficiency in developing SDKs or device drivers using C++.A minimum of 5+ years of experience in software engineering.Strong academic background in computer technology (BSc / MSc in related fields).Demonstrated expertise in debugging, problem-solving, and analytical skills.Ability to work independently with a high sense of responsibility.Fluent in both spoken and written English.Experience in Embedded Protocols.Preferred Qualifications:Experience with SONiC, SAI, and ASIC SDKs is a significant advantage.A solid understanding of computer networks and network protocols (Ethernet, TCP/IP).Familiarity with communication protocols like I2C, SPI, USART, and PCI.Experience with Makefiles and Linux environments.Exposure to ARM microcontrollers.Knowledge of additional programming languages and tools such as Python and SWIG.