Job Description
Bachelor's degree in computer science, Electronics, Information Technology, or a related engineering discipline (or equivalent industry experience).
• 8+ years of hands-on experience in C++ software development.
• Good working knowledge of C# is desirable.
• Strong understanding and implementation experience with industrial communication protocols, including:
o DNP3 o SNMP o IEC 61850 o Modbus
• Hands-on experience implementing and supporting communication/file transfer protocols, including:
o FTP o FTPS o SFTP o TFTP o HTTP o ASCII o YMODEM o XMODEM
• Strong experience in ODBC driver implementation and database connectivity.
• Experience in protocol debugging, packet analysis, and troubleshooting communication issues using tools such as Wireshark, tcpdump, or other network protocol analysers.
• Ability to understand and configure devices using vendor-supplied instruction manuals and technical documentation.
• Strong analytical, debugging, and problem-solving skills.
• Excellent verbal and written communication skills with the ability to work effectively in cross-functional teams.
• Must have hands-on experience with Docker for containerizing, deploying, and managing applications.
• Understanding of DevOps practices, including CI/CD pipelines and container based deployment strategies.
Work Experience
Required Skills and Experience
Design, develop, and maintain software applications primarily using C++, with a strong focus on high-performance and reliable communication systems.
• Contribute to the implementation, enhancement, and maintenance of communication protocol stacks and device integration solutions.
• Analyze customer and system requirements, translate them into technical solutions, and participate in architecture, design, development, testing, and deployment activities.
• Develop and support communication interfaces for industrial devices and embedded systems.
• Implement, troubleshoot, and optimize industrial communication protocols and file transfer protocols to ensure seamless interoperability between devices and applications.
• Develop and maintain ODBC driver implementations and database connectivity components.
• Interpret vendor instruction manuals and technical documentation to configure, integrate, and validate third-party devices.
• Perform protocol analysis, debugging, and issue resolution across multiple communication interfaces.
• Collaborate with cross-functional teams, including product management, QA, and customers, to deliver high-quality software solutions.
• Participate in code reviews, technical discussions, and mentor junior engineers by sharing best practices and technical expertise.
• Ensure software quality through unit testing, integration testing, and automation wherever applicable.
• Contribute to continuous improvement initiatives by recommending enhancements to development processes, tools, and methodologies.
• Design and implement scalable, high-performance software solutions that support future enhancements and evolving business requirements.
• Ensure applications are developed with scalability, maintainability, and performance optimization as key design principles. Good to Have
• Experience with C# application development.
• Experience with automated testing, CI/CD pipelines, and software quality best practices. Exposure to industrial automation, SCADA, power systems, or embedded communication software is an added advantage
