Good understanding of computer science fundamentals, including operating system, common-used data structure and algorithm, database and network. More than 15 years’ experience of software design and development, have been building the software system for different industries, including HealthCare, E-Commerce and Manufacturing. Be familiar with .NET platform and C# programming language, have the experience of building desktop/web/service applications using WinForm/WPF/MVC/WCF/Web API frameworks. Be familiar with common-used frameworks such as Entity Framework/Dapper, NUnit/Xunit, AutoMapper, Quartz.NET, SeriLog… Be familiar with both .NET Framework and .NET Core, understand the core concept of .NET Framework, .NET Core and .NET Standard. Have certain experience of system design, have certain understanding of software architectural patterns such as Monolithic, MicroService and Distributed System, and have certain project related experience. Be familiar with the common OOD design patterns. Be familiar with relational database design and principles, have certain experience of database design. Be familiar with SQL Server and also have some experience of using other RDBMS like MySQL and PostgreSQL. Understands the suitable scenarios of using NoSQL database, and have certain experience of using MongoDB and Redis. Be familiar with common source control tool like Git, as well as the source code branching strategy. Good understanding of code quality and certain experience of code refactoring. Be familiar with both waterfall and agile (Scrum) workflow and features. Some exposure to other tech stacks including Java, Python and Web Front-End.
©