.Net is a popular software framework by Microsoft that allows for applications to be written in a wide variety of languages. It is reliable and gives the developer full control over the project. If you are looking to implement a .Net solution for your software needs you may be wondering how do you find a talented .Net developer.
Hiring the right developer can be a difficult process as you want to find someone talented and who can understand your needs. It is certainly not as easy as simply looking through a bunch of resumes. You will want to interview the developers and asses their skills in regards to development and communication.
If you are not super familiar with .Net or just want to be certain you are asking all the questions you can before hiring someone then this article is for you. We’ve compiled a series of questions that you should ask when it comes to finding the right .Net developer for your company.
Consider outsourcing developers and remote possibilities
Outsourcing development work to offshore development centers can be a great way to achieve high-quality results at a lower cost. Be prepared that you may find the right developer for you through remote means.
Be familiar with some general .Net terms
Before even asking any questions to a .Net developer you should familiarize yourself with the different frameworks and libraries that are available with .Net such as the web application framework ASP.NET MVC. This will give you some understanding of what many commercial software products use as well as a means to communicate more effectively what you want to a developer. Developers may not know every framework or library that exists, but if they are skilled in one they can often quickly switch to another. Prior to interviewing a developer, you will also want to know what you are looking for from their development work. In other words: what you want the final software product to be able to accomplish or solve. This in combination with a bit of understanding of what .Net is, will help guide you to ask the right questions and also help the developer to give you better and more specific answers.
Ask for previous work
As with hiring almost any kind of skilled individual or team, you should ask to see their previous work. When assessing the quality of their previous work, keep in mind the date at which it was completed. Technologies have changed a lot over the years and what was done years ago may not look as nice as what could be done by the same developers currently. This being said, previous work is overall good way to judge the capabilities of a developer and it can give you a better picture of the scope of their talent. In combination with looking at previous work you can also reach out to previous clients and ask them about their experience with the developers in question.
Ask technical questions during the interview
What is the main difference between managed and unmanaged code?
This question will assess the developers understanding of a main part of .Net which is called common language runtime (CLR). Managed code runs within the CLR making it platform independent, while unmanaged code runs outside of the runtime. Unmanaged code usually consists of C or C++ and is not supported by the CLR, but it is still supported by .Net through other functions.
What is CTS?
Common type system (CTS) has a set of rules that declare how datatypes are to be described and used in the program. These rules allow one datatype from one language to be called from an application written in another language.
What is an Assembly?
A developer should be able to answer that it is a collection of logical units that refer to the resources that are needed to build a .Net program.
Explain a delegate in regards to .Net
It is a type that allows a developer to define a method signature so that a reference method can be called without knowledge of which method is invoked at the compilation of the application.
These are just a few of many technical questions you can ask during the interview. You will also want to ask about how quickly a developer can provide you with solutions to your software needs, as well as how can they commit to keeping up communication with you throughout the development process?