Your key responsibilities will include, and not limited to:
- Design and development of software utilizing C#, .NET, WPF/ WCF, MVVM and SQL.
- Execute Software Engineering processes to create the most productive environment in terms of processes and development infrastructure.
- Perform proof of concepts to resolve complex technical challenges.
- Perform structured code reviews, critiquing code produced by others and providing constructive comment.
- Deliver detailed effort estimates for software design implementation in line with defined Agile processes.
- Delivering working, tested software with each sprint with early engagement of testers
- Independently develop high quality programs with no supervision
- Develop and implement unit testing, test code coverage and implement the same in the developed programs
- Ensure high quality, defect free and long term maintainable code
- Ensure high quality and consistent with code base documentation and source code management process
- End to end ownership on component development
To be successful in this opportunity, the must haves:
- Qualification: Graduate or post-graduate qualifications in Computer Science / Software Engineering (or equivalent qualification)
- Experience: 5 to 10 years of application development experience.
- Hands-on programming experience in C#.Net,WPF, WCF MVVM
- Microsoft .Net Framework C# using RESTful APIs with .NET WebAPI, web applications using .NET MVC
- Experience with using PostgreSQL database is a plus.
- Good to have experience in ORMs such as Entity Framework or NHibernate and performance related challenges
- Good to have experience in CI, CD, GIT version control
- Strong understanding on OOPS, Data structures, computational complexity, Design patterns.
- Strong analytical and quick learning skills
- Proven experience in performing proof of concepts to resolve complex technical challenges
- Experience in Agile software development process.
- A thorough understanding of engineering (or software) development life cycle, including coding standards, code reviews, source control management, build processes Unit testing
- Technical knowledge and experience, ideally in areas of software development for clinical and medical device development would be an advantage
- A proven team player and problem solver with the ability to work collaboratively to brainstorm, uncover key issues, troubleshoot and recommend/implement solutions