Software Developer VC++ & C#
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
Employment Type: Full-Time