How to hire for a .Net Developer?

 Summary :

A .Net developer is responsible for develop Form-based applications, Web-based applications, and Web services using .net languages such as C# and VB. Net developers create applications from scratch, configure existing systems and provide user support. Also, net developers can write functional code with a sharp eye for spotting defects. A net developer’s overall goal is to work with internal teams to design, develop and maintain software. Net developers are employed by companies within differing industries. 


Standard Job Description:

.NET is a Microsoft framework that allows developers to create applications, online software, and interfaces. .NET is just one of the frameworks from Microsoft but is the top solution for Windows servers both on local networks and in the cloud. Any application is developed over a framework, it could be opensource framework or licensed framework. .NET is one such framework developed my Microsoft and is opensource friendly.  


 .Net Developers are primarily employed in systems and software houses, in telecommunications and information technology companies, in
engineering offices for technical planning and in computer service providers. In addition, engagement is possible in IT research and development facilities as well as in the IT departments of companies in various sectors of the economy. 

.NET developers are largely responsible for the design, corresponding implementation and further development of software. In addition, a .NET software engineer oversees the analysis of specific problems, potentially providing or developing the appropriate system requirements. These
system requirements are then implemented in the design mix of interfaces and components.  


Often, they work on concrete projects. Normally, this involves the development of software solutions based on various technologies. In addition, a .NET developer or a .NET engineer also programs .NET applications, support – depending on the field of activity – the 1st and 2nd level support and also takes over the management of software projects. They can take on a variety of tasks, from simple things like bug fixing on an existing product or app, to completely building a new one from scratch. 

A .NET developer should also be interested in theoretical-abstract, organizational-testing, and commercial-organizational activities.  


Key Job Responsibilities:

1. Write clean, scalable code using .NET programming languages. 

2. Remain up to date with the terminology, concepts and best practices for coding mobile apps. 

3. Develop technical interfaces, specifications, and architecture. 

4. Use and adapt existing web applications for apps. 

5. Create and test software prototypes. 

6. Develop client displays and user interfaces. 

7. Assist software personnel in handling project related work and other requirements. 

8. Coordinate with other software professionals and developers. 

9. Must be familiar with .Net framework Design principles. 


Ideal Candidate:

1. Familiarity with the ASP.NET framework, SQL Server and design/architectural patterns (e.g. Model-View-Controller (MVC) 

2. 5 years of development experience using C# .NET. 

3. Knowledge of at least one of the .NET languages (e.g. C#, Visual Basic .NET) and HTML5/CSS3 

4. Familiarity with architecture styles/APIs (REST, RPC) 

5. Understanding of Agile methodologies 

6. Excellent troubleshooting and communication skills 

7. Knowledge of REST and RPC APIs 


Desired Education:

A bachelor’s degree in Computer Science, Engineering or any related field 


Certifications Associated:

1. Microsoft Certified Professional Developer (MCPD) 

2. Microsoft Certified Solutions Developer (MCSD) 


Key Skills:

Software Development, Application Development, Project Management, Requirements Gathering, disaster recovery management, risk management, SDLC, OOPS, C#, HTML, Visual Studio, JavaScript, CSS, .Net, XML architect, ASP.Net, MVC, VB.Net, WCF framework, MS SQL Server, Ajax. 


Common Positions:

1. .Net (Dot Net) Developer 

2. C#/ASP Developer 


Screening Questions/Assessment Parameters:

1. Any present projects and his/her role in it. 

2. Experience of Handling ad hoc requirements. 

3. Experience working on ASP.NET, VB.NET, C# or MVC. 

4. Proficiency in complex SQL queries, stored procedures, and triggers 

5. Experience of Dot Net framework 4 and above. 

6. Links of the projects and duration. 

7. Knowledge of RESTful API Services and SOAP Based Web Services (JSON and XML) 

Besides that, one can have look at the links below for the technical questions which are asked often. 


Basic Terminologies: 

1. Cross-platform. The ability to develop and execute an application that can be used on multiple different operating systems, such as Linux, Windows, and iOS, without having to rewrite specifically for each one. This enables code reuse and consistency between applications on different platforms. 

2. Framework. A comprehensive collection of APIs that facilitates development and deployment of applications that are based on a technology. 

3. GC. Garbage collector which frees memory occupied by objects that are no longer in use. 

4. IL (Intermediate language). Higher-level .NET languages, such as C#, compile down to a hardware-agnostic instruction set, which is called Intermediate Language (IL). IL is sometimes referred to as MSIL (Microsoft IL) or CIL (Common IL). 

5. JIT. Just-in-time compiler. An action taken at the last possible moment; by extension, a JIT compiler turns a programmer’s code into something the computer can execute just before the computer needs it. 

6. Mono. Mono is an open source, cross-platform .NET implementation that is mainly used when a small runtime is required. 

7. Stack. A set of programming technologies that are used together to build and run applications. 

8. GUI. Graphical User Interface. 

9. Common Language Runtime. The plumbing that enables all the .NET languages to interoperate and function. 

10. Common Language Specification. A mandated set of features that a language must implement to be a .NET language. 


Industry Jargons:

1. ADO.NET. Data access software; can be used from any of the .NET languages. It is an open source server-side web application framework
to develop dynamic web pages. 

2. ASP.NET. A programming environment for building Web sites. 

3. Assembly. A piece of a .NET application that can be deployed onto computers. 

4. Simple Object Access Protocol. A standard that specifies a way to communicate XML-based information about applications and data from one point to another. 

5. XML (Extensible Markup Language). A language for describing data, principally across the Internet. 

6. Managed Code. Code that runs under the management of the Common Language Runtime. 

7. Unmanaged Code. Code that runs outside of the common language runtime; in common terminology, code that does not “target” the .NET runtime. 

8. Namespace. A naming schema for organizing related objects into separate “buckets.” 

9. Global Assembly Cache. An area where .NET can store assemblies that are meant to be used by many applications at a time. 

10. AOT (Ahead-of-time compiler). Similar to JIT, this compiler also translates IL to machine code. In contrast to JIT compilation, AOT compilation happens before the application is executed and is usually performed on a different machine. 

11. APS.Net MVC. It is a discontinued web application framework by Microsoft. 

12. WCF. The Windows Communication Foundation, previously known as Indigo, is a free and open-source runtime and a set of APIs in the .NET Framework. 

13. WPF. WPF is essentially a new API for creating Graphical User Interfaces for the Windows Platform. WPF is more than just a next-generation presentation system for building Windows Client applications along with visually stunning user interfaces. 


Benchmark Profile:

Benchmark Profile on LinkedIn (1) 

Benchmark Profile on LinkedIn (2)

Benchmark Profile on LinkedIn (3) 

Benchmark Profile on RMS(1) 

Benchmark Profile on RMS(2) 

Benchmark Profile on RMS(3)