About the role
Responsibilities:
- Lead the design and development of scalable software solutions using C# and. NET/. NET Core.
- Drive advanced system design, applying design patterns, modular architecture, and best engineering practices.
- Ensure high-quality deliverables through rigorous code reviews, design reviews, and quality governance.
- Provide technical leadership and mentorship to junior and mid-level developers.
- Collaborate with product owners, architects, and QA teams to define and deliver robust solutions.
- Work with TypeScript/JavaScript for application logic and feature enhancements.
- Own and improve development standards, coding guidelines, and best practices.
- Drive root cause analysis, troubleshooting, and resolution of complex technical issues.
- Ensure seamless code integration with CI/CD pipelines and version control systems within delivery timelines.
- Contribute to and maintain comprehensive technical documentation.
Requirements:
- Bachelor's or master's degree in computer science or a related field.
- 5-8 years of hands-on experience in software development.
- Strong expertise in C#, . NET /. NET Core, and backend architecture.
- Advanced understanding of Object-Oriented Programming (OOP), SOLID principles, and design patterns.
- Proven experience in system design, architectural decisions, and solution optimization.
- Strong experience with TypeScript or JavaScript.
- Hands-on experience with unit testing frameworks (e. g., NUnit).
- Strong proficiency in code review practices, quality standards, and secure coding.
- Excellent analytical thinking and problem-solving skills.
- Experience with Git, CI/CD pipelines, and DevOps practices.
- Strong communication, collaboration, and stakeholder management skills.
Preferred Skills:
- Experience with SQL Server.
- Domain expertise in substation automation (IEC 61850 protection and control systems).
- Knowledge of SCADA systems and energy automation solutions.
- Exposure to large-scale enterprise applications and distributed systems.
- Experience working in Agile/Scrum environments.
Key Competencies:
- Technical Leadership: Ability to drive design decisions and guide engineering teams.
- Design Excellence: Strong focus on scalable, maintainable, and extensible architectures.
- Code Quality Ownership: Ensuring high standards through reviews and governance.
- Problem Solving: Expertise in analyzing and resolving complex technical challenges.
- Mentorship: Coaching team members and fostering continuous learning.
- Accountability: Ownership of end-to-end delivery and quality.