Software Engineer II – SCADA / C++ / .NET / IEC Protocols
About the Role
We are seeking a highly motivated Software Engineer II to join our industrial automation and SCADA engineering team. The ideal candidate will possess strong software development expertise in C++ and .NET technologies and be passionate about building reliable, high-performance solutions for mission-critical industrial and power automation systems.
This role offers an exciting opportunity to work on SCADA platforms, industrial communication interfaces, and next-generation engineering solutions supporting IEC-based protocols. Strong software engineering fundamentals and the willingness to rapidly learn and scale in industrial protocols are encouraged to apply.
Key Responsibilities
- Design, develop, test, and maintain software applications using modern C++ and C#/.NET technologies.
- Develop and enhance features for SCADA, industrial automation, and communication interface products.
- Support protocol integration, testing, troubleshooting, and maintenance activities related to IEC communication standards.
- Analyse and resolve software defects, performance bottlenecks, and customer-reported issues.
- Participate in software architecture discussions, technical design reviews, code reviews, and release activities.
- Develop scalable, secure, and maintainable software following established engineering practices.
- Collaborate with Product Owners, Architects, QA teams, and global engineering teams to deliver high-quality solutions.
- Perform unit testing, integration testing, and debugging activities.
- Utilize AI-assisted engineering tools to improve development productivity, code quality, testing effectiveness, and documentation.
- Contribute to Agile/Scrum ceremonies including sprint planning, backlog refinement, reviews, and retrospectives.
Required Technical Skills
Software Development
- Strong hands-on experience in C++ development.
- Strong experience in C#/.NET Framework and/or .NET application development.
- Good understanding of Object-Oriented Design principles, SOLID principles, and design patterns.
- Experience with multithreaded, concurrent, and distributed applications.
- Strong debugging, troubleshooting, and performance optimization skills.
- Experience with Visual Studio and software development best practices.
AI-Assisted Engineering
- Hands-on experience using AI-based development tools such as:
- GitHub Copilot
- Microsoft Copilot
- ChatGPT or equivalent AI coding assistants
- Ability to leverage AI tools for:
- Code generation
- Debugging and troubleshooting
- Test case creation
- Documentation
- Productivity improvement
- Strong judgment in validating and reviewing AI-generated outputs before adoption.
Development Tools & Practices
- Git, Azure DevOps, or equivalent source control systems.
- CI/CD pipelines and modern software delivery practices.
- Agile/Scrum development methodologies.
- Unit testing and code review practices.
Preferred Skills
- Exposure to SCADA, Industrial Automation, or Power Systems applications.
- Exposure to:
- IEC 60870-5-101
- IEC 60870-5-104
- IEC 61850
- Understanding of industrial communication protocols and real-time systems.
- Familiarity with protocol diagnostic tools such as Wireshark.
- Experience with SQL Server or relational database technologies.
- Exposure to cybersecurity concepts in industrial control systems.
- Knowledge of substation automation and power utility applications.
Qualifications
- Bachelor's or Master's degree in Computer Science, Electronics, Electrical Engineering, Instrumentation, or related discipline.
- 2-5 years of software development experience.
- Strong analytical and problem-solving skills.
- Excellent verbal and written communication skills.
- Ability to work effectively in a collaborative global engineering environment.
Preferred Candidate Profile
The ideal candidate is:
- Strong in C++ and .NET development.
- Comfortable working with complex software systems and troubleshooting challenging problems.
- Experienced in using AI tools such as GitHub Copilot or Microsoft Copilot as part of daily engineering workflows.
- Interested in industrial automation and SCADA technologies.
- Willing to learn and become proficient in IEC60870 and IEC61850 communication protocols.
- Self-driven, adaptable, and passionate about continuous learning and innovation.
Skills Required
- Strong hands-on experience in C++ development
- Strong experience with C#/.NET Framework and/or .NET application development
- Understanding of object-oriented design, SOLID principles, and design patterns
- Experience with multithreaded, concurrent, and distributed applications
- Strong debugging, troubleshooting, and performance optimization skills
- Experience with Visual Studio and software development best practices
- Hands-on experience using AI-based development tools such as GitHub Copilot, Microsoft Copilot, or ChatGPT
- Experience with Git, Azure DevOps, or equivalent source control systems
- Experience with CI/CD pipelines and modern software delivery practices
- Experience with Agile/Scrum methodologies, unit testing, and code reviews
- Bachelor's or Master's degree in Computer Science, Electronics, Electrical Engineering, Instrumentation, or a related discipline
- 2-5 years of software development experience
- Exposure to SCADA, industrial automation, or power systems applications
- Exposure to IEC 60870-5-101, IEC 60870-5-104, or IEC 61850
- Understanding of industrial communication protocols and real-time systems
- Familiarity with Wireshark or similar protocol diagnostic tools
- Experience with SQL Server or relational database technologies
- Exposure to cybersecurity concepts in industrial control systems
- Knowledge of substation automation and power utility applications






