C# is famous as a modern, general purpose, object-oriented, strongly-typed programming language. In January of 1999, Microsoft started building a new language, called Cool, that was an acronym for "C-like Object Oriented Language", later to be renamed C#. Despite many criticisms that C# was just an imitation of Java, it continues to win over developers all over the world.
Many years and five versions later, C# is today one of the most popular languages in the industry. C# can be used to build any type of application, from desktop to mobile, and is even widely used in server environments to power modern web applications.
Image Credit: Toptal
Yet, despite the success of the C# language, companies looking to reap the benefits by using it on their projects are faced with a dilemma. Finding an expert C# developer is extremely difficult, both because demand far outweighs supply, and because telling a talented C# developer apart from an amateur is no trivial task.
To give you a leg up in your hiring search, here is the vital guide on how to hire a C# developer. Follow these tips to help yourself make a confident, speedy hire for your next C+ project.
1. Understand That Distribution of Available C# Developers is not Uniform
Plenty of people post their job descriptions on LinkedIn or some other platform and are baffled when they either don't get any responses, or worse, get back hundreds of responses from unqualified candidates. Given the high demand for talented developers, the odds of finding a great C# developer in tech hotspots like San Francisco is very, very slim. However, remember that there are incredibly talented C# developers in plenty of places all over the world in which the tech industry is lagging. Expand the geographical scope of your search and you'll see the results. Check out conferences such as Microsoft Ignite and Microsoft Build if you don't know where to start.
Moreover, virtual distribution of C# developers is also not uniform. The average developer has plenty of opportunities and spends almost no time on general job platforms like LinkedIn. Instead of taking the traditional approach, look for candidates in online places that have strong C# communities, like Stack Exchange.
But understanding these important points is only half the battle. Even if you know where to look, you still need to make sure you are piquing the interest of the caliber of candidates that you'd like to hire. This begins with your job description. Too many companies put no thought into their job listings and find themselves buried in useless applications. Begin with a C# job description template to save yourself time and ensure that you don't miss any of the basics. Don't forget to add a clear description of your company with a compelling explanation why you're an amazing place where top developers will want to work.
Your description also needs to weed out unqualified candidates before they even apply. A great C# developer should be capable of writing declarative, functional, generic, object-oriented code, and should be able to develop an application that performs well and is scalable and secure. Be sure your job description lays out these requirements in sufficient detail. If you're too vague in your requirements, you'll find your inbox overflowing with hundreds and hundreds of applications. Even if one or two happen to be qualified, you'll never locate them amidst all the noise.
2. Prepare And Test Your Interview Questions
Interviewing a C# developer is significantly different than interviewing nearly any other type of developer. As many non-technical people fail to note, C# has a sizable array of important features that any good C# developer should understand deeply, including generics LINQ, and much more. Keep the following in mind when planning out your interviews:
Make sure your candidates follow C# Coding Conventions. The last thing you want is a poor team player coming in and attempting to convince your other developers to change their paradigms.
In addition to questions that test raw intelligence and problem-solving ability, you'll need to ask a variety of carefully thought out C#-specific questions. Make sure that these questions are as relevant as possible to your project, and above all, avoid random brain teasers or questions that require applicants to recall random C# facts from memory. This is an immediate signal to any seasoned developer that you're lost.
3. Include Your Existing Developers In The Hiring Process
For talented developers, being asked to babysit someone who doesn't know what they're doing is a nightmare, and is also a great way to bring progress on your project to a screeching halt. Unfortunately, telling the difference between a truly talented C# developer and one who just picked the language is pretty impossible for non-technical people, and can only really be properly done if you're a seasoned C# developer yourself.
To ensure good chemistry between your existing team and your potential hire, get your trusted developers involved in the interview process, and make sure they check the candidate's past work for any signs of common C# mistakes. Hiring someone who will avoid these mistakes will save you enormous amounts of time and will prevent many errors and faulty features down the line.
Consult your developers on which skills are most needed for your current projects, and make sure they quiz your candidates on thing like how they'd implement relevant features without unduly impacting performance or compromising testability. Devising solutions to such scenarios should be trivial for elite C# developers. It is also wise to ask your candidates how they'd organize your development team, given a hypothetical project. Hiring candidates with excellent critical thinking and decision-making skills will pay countless dividends down the line when it comes to making architectural and task prioritization decisions.
C# is a powerful language with many mechanisms and paradigms that can greatly improve productivity. The best C# developers understand the language at its core and have an enormous amount of passion and technical expertise, outstanding problem solving skills, and an excellent knack for communicating complex ideas in simple ways.
Hiring developers is hard. Plan a thoughtful approach to hiring a C# developer and you will reap the rewards.