Bachelors degree in computer science or a related study or equivalent work experience
Minimum 5 years of software development and related experience utilizing Microsoft technology stack
Proficiency in architecting/designing/developing large n-tier business systems for high availability and scalability based on the Microsoft .NET platform.
Proficiency in .Net technologies including C#, WCF, MVC, Multithreading, ADO.Net, RESTful Services, IIS.
Proficiency with Microsoft SQL server design, development and troubleshooting and a good understanding of relational database systems
Experience in code testing methods (e.g., test driven development or behavior driven development) and tools (e.g., unit testing frameworks, mocking frameworks, etc.)
Solid understanding of the Software Development Life Cycle, Object Oriented Analysis, Object Oriented Programming and Design
Advanced working knowledge in software development methodologies including design patterns, enterprise integration patterns, systems analysis and design, database design
Excellent analytical and problem-solving skills
Strong communication, organizational and collaboration skills