Microsoft’s .NET Framework is incredibly popular, and its widespread use is one of the reasons C# gained ground as one of the most popular and most-used programming languages. What’s more, .NET Core, a modular, open-source (check out the code on GitHub) development stack that’s already used by ASP.NET and .NET Native, quickly found popularity, heavily influencing the demand for top .NET developer skills. In fact, we’ve been playing with .NET Core for 4+ years now at Stackify by Netreo, and many of our customers have adopted it as well.
In other words, .NET is hot and here to stay, at least for the foreseeable future. At the time of this writing, there are more than 1,700 jobs for .NET developers on LinkedIn and more than 13,000 on Indeed. But what if you’re a company or development leader looking to hire the next great .NET developer? What skills, traits, and experience should you be looking for to weed out the top talent from the mediocre candidates?
For some answers, we reached out to a panel of development leaders and .NET experts and searched the web to unearth some insights on this question:
Find out what you should be looking for when you’re hiring your next .NET developer by reading what our experts had to say below.
|
|
|
Andy Gray is Principal Consultant at Pro-Sapien Software, who provide enterprise solutions on Microsoft SharePoint and Office 365 for EHS management in global enterprises. Andy has extensive experience in architecting, designing and implementing Microsoft SharePoint and Business Intelligence solutions.
“Having a constant positive attitude is key…”
This to me means being able to take feedback, even if it is negative, as well as caring deeply about the task at hand (even if it isn’t the most exciting piece of work in the world!)
Good time management is also among the top .NET developer skills. It might be the default answer to an interview question to say you possess this, but it is certainly key when you are working to tight deadlines for clients who’s business relies on our technology to function.
The ability to plan and project-manage might take up a little more of the developers time at the start of a project but ultimately will save time at the end (from a client’s perspective, this could also save them support hours and time testing).
Debugging is also an essential skill i.e. someone who has attention to detail to examine their code for errors, and fix it accordingly. Also, be prepared that things might not work the first time around (see positive attitude above). Things won’t always work first time: patience is key. Accept frustration, as working out the solution is very satisfying!
As programmers will spend time with clients, both excellent written and verbal communication skills are a pre-requisite.
Kornilios Ampatzis is a .NET developer who has worked at Test4U for four years. Test4U has been creating educational software for 14 years.
“There are some characteristics common for any developer and some more specialized for top .NET developers…”
I will start with the most common.
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:
Janet Attard is the founder and owner of ZenBusiness, a popular small business website that provides ideas and strategies for marketing and managing small businesses.
“From my perspective, a great .NET developer is one who…”
Craig Lewis the Founder and Chief Entrepreneur Officer of Gig Wage, a Dallas-based tech startup that provides a payment, support and management system for small, US-based businesses.
“Here’s what I’m looking for when identifying great .NET developers with top .NET developer skills…”
A constant learner, who likes to be around people smarter and more experienced than they are, and who can deep dive technically and solve complex business problems. Not a purist, but someone open to other ways of doing things. Someone who challenges the way things are done, but is driven by being productive. A person who takes ownership of their part and drives it through, asking questions when needed.
Tech Requirements:
Katy Imhoff is currently Owner/CEO of Camden Kelly Corporation, an Information Technology Recruiting firm headquartered in Dallas, TX with offices in the DFW area and Southern California. Prior experience includes VP of a publicly-held recruiting and staffing firm and founding a national recruiting firm headquartered in Chicago, IL.
“A great .Net developer has…”
Excellent communication skills so they can collaborate effectively, a passion for learning and staying up to date with the latest technologies, and a knack for analytical thinking that helps them problem solve. Additionally, great .NET developers are often self-driven and self-motivated so they don’t need a boss to hand hold them through the development process.
Steve Pritchard is a consultant for giffgaff.
“Aside from being able to write code…”
A good .NET developer will be skilled at swiftly responding to the changes and modifications of an application, saving time and money. They should be able to restructure code to improve its quality, without actually altering the external behavior of the site. The good .NET developer knows how to only test the essential parts of code and not waste time testing all of it unnecessarily. They usually have around three years’ experience to have enough ‘standard’ experience to be considered competent in dealing with such complex tasks.
Adam Amrine has been a software developer for over 17 years working primarily with the .NET Framework using ASP.NET, starting with version 1.0. He’s worked in various industries in several different roles, primarily as a software engineer and architect.
“The same characteristics & skills of great .NET developers …”
Are the same as those that make a developer of any language or framework great. Communication is a key skill of a great software developer. Oftentimes, outsiders assume that great developers are those that sit in a dark corner and can hammer out a ton of code. However, great communication skills set apart great developers from the good ones. A great developer needs to be able to communicate complex technical ideas and solutions to nontechnical product owners and stakeholders. They also need to be able to take the ideas, requirements, and requests of nontechnical individuals and be able to understand their needs and what they’re requesting to create a solution.
This leads me to the second top .NET developer skill, which is problem solving. Great problem solving skills help a developer to overcome problems while developing and create elegant solutions. Many developers can come up with a solution to a problem, but whether or not they build an efficient, scalable solution is based on how they approach the problem. Developers with great problem solving skills look at the big picture, know how their solutions will fit into a bigger ecosystem, and evaluate how the end user will use their solution to ensure that they don’t overbuild or over engineer the end product.
An additional skill that I believe many developers should have is an understanding of the full stack. This especially comes in handy when diagnosing or debugging issues. A developer who understands how networks, servers, databases and infrastructure work is able to more easily find issues and point those in charge of correcting issues in the right direction. This helps when communicating with other technical people, such as network and server administrators, by building a rapport on a foundation of familiar information.
Really the only thing that differentiates a great .NET developer from any other great developer of another language or framework is their familiarity with the .NET Framework. A great .NET developer has a deep understanding of what the framework can do, so as they develop a solution, they can quickly refer to the knowledge they have of the framework and know where to look when trying to implement specific functionality.
Christian Rennella is the CEO & CoFounder of elMejorTrato.com.
“Personally, I think that the most important characteristic of a .net developer is…”
Being focused. Although it may seem a general view, let me tell you that it is really hard to achieve in such an intrusive world.
Rob Reagan is the CTO of TextRequest.com, a managed online business texting platform. Rob has worked in software development for more than two decades with companies such as ExxonMobil, BP, Weatherford, Microsoft, Standard & Poor’s and Fidelity. Be sure to check out his book on developing web applications with Microsoft Azure.
“Here’s the Cliff Notes for what I look for in great candidates…”
This might sound strange, but is extremely important. Developers who are sure that they’re the smartest guy or gal in the room are a recipe for disaster. Developers who think they’re geniuses and always have the best ideas are difficult to work with, rarely listen to or evaluate other ideas, and impact team dynamics in a negative way.
A great developer approaches the craft with humility, realizing that our brains are woefully inadequate for the task at hand. These devs will listen to others and collaborate to arrive at optimal solutions. They’re also easier to work with.
When hiring, pass on the know-it-alls.
Let’s face it: developing software is hard, grinding work. You’ll get better results from a developer who loves what they do than from someone who went into computer science for the paycheck.
Also, technology changes rapidly. Developers who don’t love the craft oftentimes fall behind in keeping up with new tech. Developers who enjoy what they do can’t wait to buy the next Apress book and learn about the newest technology.
I generally gauge a programmer’s passion by asking what they’re working on outside of work, or what’re the latest tech books they’ve read that they really enjoy.
Developing software is very expensive, and the bulk of expense is in developer salaries. Great devs are aware of time constraints and will make optimal choices contingent on deadlines. They’ll also keep a dialog going with management concerning technical debt incurred in a project. Joel Spoelsky once wrote a great piece on Architecture Astronauts, which is the complete opposite of the deadline-aware developer.
Reading code is an acquired skill. Novice devs oftentimes want to write everything themselves. Great devs want to write as little code as possible and will save time by leveraging existing work. This drives down project cost.
In tech, there’s always the latest silver bullet technology that receives tons of hype. Irresponsible devs can’t wait to jump into the next project with the hottest and often unproven tech stack. Great devs are comfortable working with tried and true tech stacks.
David Wanat has been a C# developer at Blue Compass for over eight years. Through his time at Blue Compass and his previous jobs, he has gained experience with multiple development stacks, but prefers .NET!
“As we look to hire new .NET developers at Blue Compass we try to make sure they fit the following four criteria…”
It is important for .NET developers to be open to trying new features, methods and languages. We also appreciate when people are adaptable and receptive to fellow developers’ ideas and implementation techniques. In our office, we encourage our programmers to have personal projects that allow them to continue experimenting and testing new approaches.
a. The last thing anyone wants is to arrive at the end of a project and realize they missed a key feature. When looking for a developer, we look for someone who asks the correct questions at the beginning of a project to eliminate surprises in the end. It is also critical to understand and remain aware of the time and resource constraints, because these factors should determine the approach and development path.
b. To be a good developer you also need to recognize the importance of your team. We value team players who share the credit and the spotlight with team members. We also ask our developers to work together, point each other in the right direction and share successes and failures with each other instead of just handing off code.
While .NET development can be challenging even to the experts; we look for individuals who are open to a challenge as long as they can admit when they are in over their head. To be successful, we are always seeking help and advice from other developers who have accomplished something similar to the project at hand. At Blue Compass we look for programmers who understand they do not need to be an expert in every area available, as long as they are not afraid to try new things.
Last but certainly not least, it is important to find a .NET developer who is okay with failing or getting something wrong as long as they continue to motivate themselves and avoid becoming discouraged. In our world, you need to be able to put code down for a while and circle back on it later or the next day with a fresh perspective. There are some menial and repetitive tasks that are a part of the job description. When applicable, it is good for our developers to find new ways to automate repetitive tasks!
The bonus trait we look for that sets .NET developers apart is someone who has good people skills. From an internal communication perspective, developers often need to communicate effectively with coworkers outside of the development department, including relaying project difficulties to project managers and management. There are also occasions that our developers need to communicate with the end user or client to accurately describe project limitations.
Nahian was a Management Trainee at Nascenia and has since become an Associate Manager for a bank in Bangladesh, where he still seeks out top .NET developer skills.
NOTE: The following information is excerpted from What are the essential skills of a .NET developer? via Quora.
“Though technical knowledge is a must…”
Some other qualities are also essential for a good .NET developer. In my tenure at Nascenia, I met some expert .NET developers. I noticed that good .NET developers possess some traits in common which are as follows:
A sound foundation in .NET framework and any technology on top of it is a prerequisite of a good .NET developer. He must have good command on C# or VB.NET. For web technologies, he should have knowledge on the Official Microsoft ASP.NET Site, JavaScript, Angular JS, or other scripting languages and MVC. For Windows desktop applications, he should have knowledge of WPF and MVVM techniques.
Experience is a very important quality of a good .NET developer, and obtaining top .NET developer skills takes 3-4 years of experience to be considered as having standard experience.
.NET developers should be able to quickly respond to the changes and modifications of the application to save both time and money.
Sometimes a developer needs to start working on an existing application where the code quality may not be good. To improve the code quality, he should be able to restructure the code without changing the external behavior.
A good developer is an expert in finding code already available in different sources and use it, thus saving time and money.
A good .NET developer can test the essential part of the code, knows what to test, only tests the essential parts and does not waste time testing unnecessary code.
Trustworthiness is a quality of a good developer. A good developer maintains the confidentiality of ideas and code. To check trustworthiness, you can talk to the previous clients.
With over 20 years of staffing experience in finance, planning and organization, Scott was responsible for all of SSi People’s financial and operational functions. His duties included annual operating plans, financial reporting, budgetary controls, banking and contract management.
NOTE: The following information is excerpted from What are the Essential Skills of a .NET Developer via SSi People.
“The most important skills for a great .NET developer include…”
Without knowledge of ASP.NET, a developer won’t be able to develop the best web applications. ASP.NET facilitates rapid development and connections between client-side development and backend development, so it’s definitely among top .NET developer skills.
Data and databases are a huge influence on development today. The more advanced a .NET developer is in database technology, the more useful they will likely be. Microsoft SQL, Oracle, and even MySQL are heavily used in conjunction with .NET, though naturally Microsoft SQL tends to be popular when using .NET. Additional important knowledge may include general data science, as .NET developers often need to work with large sets of data for their applications.
A .NET developer is valuable, but a .NET developer who can also do front-end development is even more valuable. Knowledge of CSS, JavaScript, and HTML can make a .NET developer a Swiss army tool who will be able to contribute to every level of the project. JQuery knowledge and Bootstrap knowledge is an excellent plus on a functional level.
.NET developers may have a variety of certifications: Microsoft Certified Solutions Developer, Microsoft Certified Technology Specialist, or Microsoft Most Valuable Professional… An entry-level position may require an MCTS, a mid-level position may require an MCSD, and MVPs will go only for the most high-ranking positions. Certifications can sometimes make up for a deficit in either experience or education, as they do prove that an employee has the basic skills for a position.
Bob Tabor is focused on helping absolute beginners to programming receive the guidance, training and mentoring they need to successfully interview and obtain an entry level software development position focusing on Microsoft development platform-enabled businesses. His views are clearly frontrunners when it comes to identifying the top .NET developer skills.
NOTE: The following information is excerpted from .NET Developer Career Advice – Getting Started Later in Life via DevU.
“At a minimum, [a great .NET developer] must…”
(a) Know a lot about C# (or your chosen language), particularly about object-oriented programming keywords and concepts (static, base, override, overload, inheritance stuff, etc.), LINQ and now async features.
(b) Have a solid grasp on the .NET Framework Runtime, the compiler, garbage collection, reference versus value, etc.
(c) Be familiar with the .NET Framework Class Library … know the major namespaces, what they’re there for, etc.
(e) Know basic architectural ideas like layers, the development lifecycle, etc.
(f) Know basic patterns like dependency inversion, SOLID, etc. (These lead you to a deeper knowledge of object oriented programming, btw.) You simply need to be exposed to these … understand when it makes sense to invert / inject your dependencies, how to apply the ‘S’ in SOLID when designing your classes and methods, etc.
Marek Kaluzny is the CPO & Co-founder at Devskiller. He calls himself a one-man-army, but he knows the worth of his team. He always finds a solution for all tech challenges, advises first-time customers to assist them in fully grasping the Devskiller platform, and works hard on making applications easier for users without a technical background.
NOTE: The following information is excerpted from How to screen .NET developer programming skills to find the best – guide for IT recruitment via Devskiller.
“The most important skills and characteristics for .NET developers are…”
Certificates are a bit [of a] controversial subject in [the] .NET world. Some companies and specialists say that it is the best proof of a candidate’s in-depth knowledge. On the other hand, others point out that exams hardly test any practical skills, concentrating on exceptions and rather theoretical knowledge.
It is safe to say that certificates don’t have to prove anything. Many great developers don’t have any, just because they think it is not worth trying to pass them. Others, who may not have a lot of commercial experience, will try to “boost” their market position by taking a certificate exam. Obviously one can say that having a certificate is better than not having any, but recruiters should remember that it is rather a “nice to have” requirement and [a] candidate’s best proof of quality is his commercial experience and references.
In .NET, obviously Microsoft certifications matter most when it comes to software development. They can be divided into several groups:
MCTS is used to be an entry point for Microsoft certifications and proves skills on a particular Microsoft technology, like WPF, but also SQL Server, SharePoint, SQL Server, Windows Server, etc. Here are a couple of examples:
There used to be many MCTS certificates, which lead to some mess, so Microsoft redesigned their certification schemes and now promotes MCSD’s, described below. That means MCTS’s will expire soon and are no longer issued.
MCSD proves that you possess full-stack skills to create applications which are built with many frameworks and technologies. Usually, MCSD certification requires passing several exams in certain technologies. Some of the examples are:
Robert Half Technology offers a full spectrum of technology staffing solutions to meet their customers’ project, contract-to-full-time and full-time IT recruitment needs.
NOTE: The following information is excerpted from 5 Skills That Could Boost Your .NET Developer Salary via Robert Half Technology.
“The Microsoft MVP program is prestigious. Earning MVP status can position you as a…”
Major player in the job market and help you make a case for a higher .NET developer salary, based on your top .NET developer skills. When employers see that you are a Microsoft MVP, they understand that you have been thoroughly vetted by Microsoft and have a proven track record of leadership and technical excellence in Microsoft technologies.
There are no set requirements to earn the MVP award, except that you must demonstrate an extremely high dedication to the .NET ecosystem and to helping and mentoring others. The MVP award is given only to those with a visible commitment to the .NET community; individuals need to be re-nominated and selected every year.
Skilled .NET developers are some of the most sought-after technology professionals in today’s market.
Mantra Malhotra is a Business IT Consultant for ValueCoders.
NOTE: The following information is excerpted from 5 Skills Your Microsoft .Net Developer Should Have via ValueCoders.
“One of the most important skills for great .NET developers is…”
.NET MVC (Model View controller):
ASP.NET MVC is spreading over the web market replacing many others competing with it. As the web programming is progressing up ahead, a developer should master this skill. With the help of this framework, developers can make beautiful, fast and secure web applications easily. Therefore, this parameter can be considered as the first place while evaluating applicants.
James Burgess is a technology writer and software developer at ValueCoders.com who has been covering digital technology for more than a decade and has a huge knowledge of development, as well.
NOTE: The following information is excerpted from What are the essential skills of a .NET developer? via Quora.com.
“The skills of a Pro-level Microsoft .Net developer are…”
The Official Microsoft ASP.NET Site MVC is spreading over the web market replacing many others competing with it. As the web programming is progressing up ahead, a developer should master this skill. With the help of this framework, developers can make beautiful, fast and secure web applications easily. Thereby, this parameter can be considered at the first place while evaluating applicants.
A dedicated .NET developer should have skills of creating highly creative, catchy and interactive web applications. This increases his value in the market. In order to achieve that, understanding of client side technologies like HTML, CSS and JavaScript, jQuery and Bootstrap is a necessity. Thereby while hiring, check once if they are comfortable with your language demands.
Data is one of the most important aspects of app development, and .NET is no exception. Your offshore .NET development team must be well-versed not only with Microsoft’s own SQL databases but also updated technology like NoSQL. The more .NET developers know about this field, the better performing and optimized of web pages will be developed.
The Microsoft Certified Solutions Developer (MCSD) certification is a highly demanded certification in the market. This skill is valued as its development and maintenance come from Microsoft itself, which requires rectification after every two years. Hence, this competency level can be looked for enhancing code quality of your offshore .NET development team.
Microsoft MVP is one of the most valued certifications in the market. A .NET developer with the same certification is considered to have leadership quality and high skill level in the said framework. Moreover, it will augment the scalability of your project. If you are hiring someone with such a skill set, you will have a mentor in your project.
Moshin Khan is a Global Talent Advisor, Recruitment and Sourcing specialist. He now works with World Wide Technology.
NOTE: The following information is excerpted from Khan’s How to screen .NET developer programming skills to find the best via LinkedIn.
“There are certain tips which can be valuable for IT recruiters when it comes to .NET…”
Just like in Java’s world, knowledge about language (in most cases it will be C#) is simply not enough. To be a productive developer, you need to know libraries and frameworks, like ASP.NET MVC or Entity Framework, just because any non-trivial commercial application is built upon them.
It is important not to rule out candidates if they don’t know a single framework from the requirements list. Quite often frameworks are similar, and if a candidate has a decent knowledge of one of them, he can easily migrate to the required one, because he knows the idea and principles behind it.
Furthermore, it is the commercial experience that counts and brings real value for an employer. .NET knowledge from university, unless it’s very practical, doesn’t bring much to business coding. Of course, if you recruit junior .NET developers, education does matter. But remember that you can take into account programming experience, even if it is a non-commercial one – ask for their hobby or open source programming project that was done in .NET technology.
Last but not least, .NET is currently evolving intensely. Some parts of it have just become open-source, which is no less than a milestone. Moreover, soon it will be possible to host fully functional .NET web applications on Linux OS. Both of those could have a great impact on .NET popularity and growth of open-source frameworks, just like it happened with Java.
Some of the best-skilled .NET developers couldn’t do things alone. As mentioned many times in this article, collaboration and teamwork is important. Moreover, to hone your top .NET developer skills, one should also show proactiveness and continuous learning in development.
The best .NET developers go for efficiency. This is why they use tools and technology to make their work more effective and productive.
Retrace by Netreo is one sure-fire way to improve your skills as a .NET developer. This tool allows you to monitor the performance of your program as you are writing it.
Start your FREE 14-DAY TRIAL today!
If you would like to be a guest contributor to the Stackify blog please reach out to [email protected]