Computer programming is based in logic. From its most fundamental form, to the highest-level programming languages, logic is the main ingredient to a working software. As most of the skills, computer programming needs studying to acquire, and since it is constantly evolving, this studying is a never-ending process. I believe that programming requires a certain level of creativity and love of creation. It is common for most programmers to have a Gollum-ring relation to their software. Since the basis of programming is logic and creativity, all programming languages require these two feats. A .NET developer, in particular, needs some more skills: Proficiency with C# is a must, with a familiarity of its coding environment (which is mainly Microsoft’s Visual Studio). Strong C# web development experience Web and Backend Web API MVC .NET Core ASP.NET Experience using customized .NET tools Client-side web development technologies Databases experience of working with Microsoft SQL Server or Oracle