1. Translate application storyboards and use cases into functional applications
2. Design, build and maintain efficient, reusable, and reliable C# code
3. Ensure the best possible performance, quality, and responsiveness of applications
4. Identify bottlenecks and bugs, and devise solutions to these problems
5. Help maintain code quality, organization, and automatization
6. Able to communicate effectively in both documentation and writing readable code
1. Bachelor’s degree in computer science, computer engineering, or relevant field
2. A minimum of 4 years’ experience in application development
3. Proficient in C#, with a good knowledge of its ecosystems
4. Familiarity with the .NET and .Net Core framework
5. Strong understanding of Object-Oriented programming
6. Understanding of functional programming aspects is an added advantage
7. Should be expert in design/implementing Web API, Entity Framework, and serverless based solutions
8. Familiar with various design and architectural patterns
9. Understanding fundamental design principles behind a scalable application
10. Knowledge of concurrency patterns in C#
11. Creating database schemas that represent and support business processes
12. Experience with Microsoft SQL Server and any one of the No-SQL options such as MongoDB, Cosmos DB, etc.
13. Familiarity with any popular web application frameworks, such as Angular, React, Vue.js
14. Should have implemented cloud-based solutions
15. Experience in containers is an added advantage
16. Experience with Microsoft SQL Server and any one of the No-SQL options such as MongoDB, Cosmos DB, etc.
17. Expert in implementing DevOps based deployments using CI/CD Pipelines
18. Expert in implementing automated testing platforms and unit tests
19. Proficient understanding of code versioning tools, such as Git, TFS, etc.
20. Strong understanding of SOLID Principles
21. Well versed in cloud design patterns
22. Should be able to build apps using 12-factor app principles
23. Knowledge in event-driven architecture