Job Description
As a Software Developer, you will play a key role in designing, building, and maintaining software solutions using the Microsoft Stack of Technologies. Your daily tasks will involve end-to-end software development, where you will use your proficiency in C#, .NET, WPF/XAML, Web APIs, LINQ, and Entity Framework. You will also utilise your skills to write and optimise SQL queries, ensuring performance and scalability. You will be part of a team that builds service-oriented or microservices-based applications, following industry best practices for object-oriented programming and design. Your work will require you to ensure high quality code, write unit-tested code, and apply effective debugging skills to resolve any issues across different environments.
In this role, you will have the opportunity to contribute to a team that values collaboration and continuous improvement. While working in an Agile environment, you will participate in Scrum or Kanban methodologies to deliver solutions efficiently. You may also be involved in test-driven or acceptance test-driven development to ensure that the software meets business requirements. Your work could extend to creating applications on Microsoft Azure and using tools such as FitNesse or Postman.
Qualifications
To be successful in this role, you should have a degree in Computer Science, such as B.E./B.Tech. or MCA, or equivalent experience. Fluent English is a must. You need to bring 6 years of professional experience in software development and a strong understanding of object-oriented programming principles, UML, and software development practices. Your ability to ensure performance management and troubleshoot C# or SQL-related performance issues is essential.
It would be beneficial if you have experience in WPF development, working in Agile team environments, and using methodologies such as Scrum or Kanban. Familiarity with test-driven development and cloud platforms like Microsoft Azure would also be advantageous.
In addition to your technical expertise, you should have excellent analytical and problem-solving skills and strong communication abilities, both written and verbal. Being self-motivated, detail-oriented, and able to work effectively both independently and as part of a team will be key to your success in this position.