The Changed .NET Landscape and What You Can do About it
There are many articles out there that tell you how to become a good .NET developer and most of them contain some valuable tips on how you can improve. But did you ever read an article telling you how to become a desirable .NET developer?
We’ve witnessed many changes in the landscape of .NET development, the most prominent one being of course Microsoft finally open sourcing .NET core. It seems that Microsoft realised that by enabling developers to deploy their applications, this provides an incentive to developers to keep using their tools, albeit a bit late. This gives developers a great opportunity to upskill and increase their chances in the job market.
However, the advent of the open sourced ASP.NET core and the highly testable and powerful ASP.NET framework bring great benefits to developers, but also some disadvantages that shouldn’t go unnoticed. In my experience as a talent acquisition partner I talk to clients and developers every day and I feel that it’s time to highlight some of the struggles some developers might face by providing tips as to how you can improve your chances in the (extremely) competitive job market. Let’s get started.
WHY DEVELOPERS ARE LEAVING THEIR CURRENT EMPLOYER
I have noticed that many of the technical and experienced developers I talk to share similar reasons as to why they leave their company, a very common reason being that companies still implement outdated technologies. This is a big one. Not only is it more fun and stimulating to work with newer technologies, it also gives developers the chance to enhance future career opportunities, which is what most developers strive for.
A company that does not invest in newer technologies simultaneously does not invest in the development of their employees. As a result, many companies will experience (and some already are) higher numbers of attrition due to developers seeking a challenge elsewhere.
This means that there are many technically strong, experienced developers who have not been exposed to these newer technologies, purely as a result of their technical environment. They are stuck with their current stack and miss out the opportunities to be exposed to technologies and frameworks such as AngularJS and MVC which is a growing prerequisite for .NET roles nowadays. The result: they will not be considered for these roles as they simply lack the expertise that is required, despite being technically strong and capable developers with an aptitude for learning new technologies quickly. There are of course some hiring managers that will look past this.
This is a huge problem. For both parties. Everybody is searching for a job where they can learn, develop, deliver value, and feel that they contribute to something bigger, whereas companies want to retain their employees. The essential point is, that if a company is resistant to investing in newer technologies or upskilling their developers, they can expect developers to leave.
HOW CAN DEVELOPERS ARM THEMSELVES AGAINST UNCERTAINTIES IN THE JOB MARKET?
I’m totally aware that these recommendations are not feasible for every company for a number of reasons, mostly time and money, so this puts the ball on your court.
You may have spent a number of years as a developer for a company to which you committed yourself, but you feel that change is necessary. Right now there is a growing demand for full-stack developers, however if are tied to one particular stack after years of working in a certain technical environment, meeting these technical requirements can be problematic.
Employers nowadays are eagerly searching for developers who treat programming as a hobby rather than a 9-5 job. many skilled and talented developers see development as a hobby but face the issue of not being considered for a job simply because they never had exposure to certain technologies. Despite being excellent developers, they find themselves in a catch 22 situation. Which leaves us with the question, what is that you can do to get considered for some of the attractive jobs out there?
Get educated, connected, and never stop learning
r/DotNet for example, is a subreddit dedicated to .NET developers all around the world. With many subscribers, you will enter a realm where developers discuss, resolve, share ideas regarding everything .NET. A big plus for posting a query in this subreddit (and in my experience on Reddit in general) is the incredibly quick response rate, especially when you face an issue that others face as well.
If a quick Google search can’t help you out, r/DotNet is a great place to post your question. You might need to wait a bit, but the answers from the like-minded developers are usually worth the wait and often initiates an interesting and on-topic discussion from which you might even learn a thing or two.
Another great source for information is the all-famous StackOverflow.
You can’t deny it, it is one of the (if not, the) largest online communities for programmers to learn, share their knowledge, and advance their careers. Q&A’s are plentiful and you can expect to get extremely objective answers to your queries that will help you progress with your project.
A third resource that I would like to mention is DotNetKicks another community-driven platform where ideas and thoughts are wildly discussed.
In addition to the sources mentioned above, my colleague took the liberty to explore what other sources .NET developers would recommend by opening a thread on /r/DotNet. Not surprisingly, we got numerous recommendations within the first hour regarding some great websites which you can use to raise your .NET game, and I’m going to share them with you.
• Wildermuth – Author of eight books and teacher from which his latest course is about Implementing and Securing an API with ASP.NET Core.
• PluralSight – A database of courses covering ASP.NET Core, ASP.NET Core MVC testing, and much more.
Feel free to check out the complete thread here and get connected with like-minded people.
On a side note, if you have more sources that could be added to this list feel free to drop me a messagewhy you think this list is incomplete is without your recommendation.
Put your knowledge into practise
Build up an online portfolio, show what you did, how you did it, and why you did it. Proving that you have strong problem-solving skills and astonishing coding skills, some of which is self-taught – Amazing! This is what will make you the developer that every employer dreams of.
There is one thing that drives most developers – the ability to grow. Investing solely in newer technologies will not be enough without investing in people as well. There are many ways companies can contribute to the continual growth of their developers. A good starting point is to encourage developers to consistently improve their output.
INSTIL CONTINUOUS PRODUCT IMPROVEMENT IN THE DNA OF YOUR COMPANY
Companies who don’t encourage their developers to improve, for example, by letting them use copypasta code to create reusable objects, and / or deleting old and unused code, are disincentivising their developers, perhaps unknowingly. In contrast, developers that are pushed by their employer, and have the autonomy to continuously improve their code and development will have a much better experience at work. I have seen hiring managers incorporating the learning of new technologies into sprints and developers love this ie free access to online courses and allowing time for learning and presenting new technologies to the team. The result? A happy team of devoted developers who justifiably feel that they are a valuable contribution to the company’s success.
This takes time. Don’t expect this change and the positive results it will bring to happen overnight, but the moment developers will have more autonomy as to how they can improve the way they work and offer valuable solutions to certain problems, the results are likely to surprise you. Never underestimate a boost in morale on the productivity of a team.
DELEGATE CODE OWNERSHIP
Recognise the leaders within your development teams. Those that seem to have the best knowledge could be given responsibility of code ownership. This would mean, that other developers cannot touch the code without getting permission from the owner. The big benefit of this from organisation point of view is that you will be better able to identify the developers who need extra training or help. On another note, this is what makes a good leader! The next step for you would be to train them, and help them get in touch with the technological advancements within the industry.
It’s only normal that some developers generate more bugs than others. By showing them that you as a company have the willingness to invest and enable them to learn and develop, is one of the things that enables you to retain them.
Know when it’s time to invest in new technologies
And that goes in hand in hand with investing in your team’s knowledge as well. We have already established that one of the things that can drives developers away from organisations, is the outdated technological environment. Giving developers the chance to work with cutting-edge technology allows them to grow as well. This ultimately results in a happy team of developers who are better able to contribute to the company’s overall goals, and remain ahead of the competition.
By exposing them to newer technologies such as .NET core, and allowing them to upskill on MVC, you don’t only show your willingness to help them grow, but also the fact that you’re a modern company any developer would like to work for. This will improve any companies chance of being able to retain top tier developers which is absolutely crucial in this fiercely competitive market.
SOME KEY TAKEAWAYS
Yes, it seems unfair that a company may not be willing to invest in you and you have to do everything yourself. Luckily there are some great resources out there to help. In an ideal world, it would be better if more companies start realising what drives their attrition, regarding the needs of their developers.
However, you have the power being a self-taught programmer, developing applications at home as a hobby, spending his/her time on learning technological advancements over time including for example .Net Core and MVC, will make you an invaluable asset for your (future) employer.
If you are searching for job opportunities at the moment or maybe you’re just simply searching for more advice, then I welcome you to send me message via the form below. I look forward to your message