I am an experienced professional developer with two two year technology diploma from back 20 years ago (I also later did a Commerce Degree) and I want to get into a software development position using .NET. How can I do this when I've not used it professional since 2013 (my last two positions were development a SQL db and a C like proprietary dev language). Plus I have limited web dev professional experience. I've created blogs and a professional site for myself various times over the years who'. I've updated my knowledge in .NET Core through online classes. It's fairly competitive out there now and my question is how do I convince an employer to give me a chance (in a .NET role)? Is volunteering (work for free) on websites, for ex, something people think is worthwhile> Just to get some web development expertise. Thank you.
I am an experienced professional developer with two two year technology diploma from back 20 years ago (I also later did a Commerce Degree)
I wouldn't include that on your CV anymore, world has moved on in the 20 years and this will bring your currency into question, as people will assume that you've been in the field all this time and that won't go well for you at all. Maybe mention that you have that degree but skip the 20 years part.
I want to get into a software development position using .NET. How can I do this when I've not used it professional since 2013
The way I see it you have three main options:
Find someone who is willing to overpay you based on your future potential. This almost universally means taking advantage of an existing network of people and using those connections to get yourself a job for which you are not qualified yet, but with the assumption that you will grow into the role. If you do not have those connections then this is unlikely to work as strangers do not hire unqualified people to do a job where qualified applicants are available - and that's how you describe the market around.
Take an entry level job. As straightforward as it sounds, admit that your level of knowledge is around the entry level and seek out those jobs, while betting on yourself to quickly gain the required experience and knowledge to advance and make some proper money. For many people this is a non-starter as they cannot afford to live in on entry-level job wages, but if you can live on that for a year or two then this is very similar to option one, but you are the one taking the financial hit instead of the company.
Gain the experience as a side-hustle while working in your core competency. This means that you will have to keep working the job you are qualified to do now (maybe in reduced hours if you need it) and in the spare time work on some related projects. Delivering meaningful contributions to some established opens source projects is definitely a good way to establish yourself. You could also create your own, but then there is a very real risk that no one will ever know about it besides you, unless you are providing something unique, while improving an existing project guarantees recognition if you are willing to tackle the hard issues. This is a slow route to your goal but it's also relatively safe, you continue contributing, updating your cv that highlights your involvement with projects X, Y and Z and eventually you may just score a job.
I wouldn't even suggest trying to go freelance, unskilled part of that market is very much oversaturated, so you will be cutting price dramatically while delivering something that is unlikely to ever see light of day anyway.
If the OP is currently employed, in some sort of development or related roll, there is another path that wasn't mentioned by the other answers.
You can try to gain experience in your target technology, by doing side tasks, for your current employer. At first, you can start very small, and be "under the radar". For example, you could start using C# as a scripting language for all the small peripheral scripts/tools that developers write just to make their job easier, but that no one else knows about - collecting data, generating reports, configuring test runs, etc.
Once you get some experience, you can try to expand that to some scripts/tool that are used by others and are part of the "official" source code / tool chain. Here you will likely need approval from a manager (as this is code that the company will use and maintain), but if you start small, you can present a solved solution for approval.
Finally, once you gain some buy in, you can try and convince your manager to undertake some tasks of considerably more size and scope in this new technology. This might be especially powerful if you propose the project, and it's a project which can some useful impact to the firm, but still far away from the main-line product(s)/code-base. A small web based tool for managing configurations, or collecting log output, whatever.
This allows you to learn the new technology, while remaining employed. It will, after a year or so, allow you honestly describe yourself as a developer versed in this technology, and give you a portfolio of work to discuss.
Given the context, I believe the best way to prove your skills in a given language is creating and maintaining open-source projects on websites like GitHub. Specially something that is user-facing rather than a complicated niche tool for programmers. Think of it like a portfolio or a model book. It shows that you can deliver stuff based on this technology by yourself at first. If people collaborate it even shows some people skills and business mind.
Note that is not that simple to get a recruiter to check your code, so maybe leave unclear in your CV where exactly each programming language was applied in your career. You'll handle this at the interview, and then you can explain about your open source projects. Don't expect a head hunter or HR person to check your code, but maybe your future manager might want to take a look at it, to check if it's well written, organized and if it has tests.
Apply for management roles
You’ve got 20 years of experience and a Bachelor of Business? I’d say you’re probably overqualified for a programming job - instead, you should be applying for jobs involving the management of programmers. Maybe a Team Lead role if you want to get your hands dirty with actual code, but most likely something like a Project Manager role.
A. Open Source.
B. Closed hobby project.
C. Self-employed work. See Freelancing Stack Exchange
C. is more valuable to some employers. Others prefer A. B. can really help with first time jobs, I thnk.