I originally wanted to get some extra input from wider audiences and reached out on Twitter, LinkedIn and even here. But did not get any extra replies.
I am posting an article I published originally on my site - but it first came about as email to someone who asked me for that advice.
I believe this may help someone out there.
I am a software engineer working with web technologies for a good chunk of my life. Recently I have been approached for some advice about switching career to software development.
Firstly it is worth mentioning that the software world is vast: Web, mobile applications, data, AI, etc. this article is not aimed at providing advice on which specialty to go down, this is for you to decide personally.
The following advice is meant to be generic but is heavily influenced by my work with web development.
This is probably the most important piece of advice.
When you start on this wonderful journey you may find yourself feeling silly, or not good enough, or that you just don't get it, this is just anxiety setting in. Remember this is a natural reaction to being outside of your comfort zone. I cannot tell you how many times I experienced this, feeling stupid until it clicks. Panic is over and life goes on. Some things that I would consider basic now would throw me into a child-like behaviour when I was first starting.
Just stick at it and it will become easier. You got this!
One of the things to consider is to look back and think about what learning approach works best for you.
Do you prefer being in a class environment or would you rather be on your own doing the research, watching videos and trying to write the code.
The ideal scenario is of course both. Having a teacher or mentor may aid the learning but you will have to put in the practice outside the class.
Classes may be more expensive but you reap the benefits when you are in a class with a teacher - some research into some local courses in your area may be beneficial.
Have a look at local colleges or even universities that offer courses that may last a year (my wife took one for her Masters degree when she decided to switch from the field of law).
You may find smaller courses that teach you the basics that may set you on the right path.
And of course there are Code Academies that promise to help you take the first steps in the software development world. It normally involves an intensive course followed by a project, then they help you find your first entry level job. I am not specifically advocating for this and you will have to do your own research - but I have worked with some very talented people that were graduates of such programmes (UK specifically).
The course you may choose will depend on your financial situation - even those courses that allow you to pay the fees once you find your first job - be careful and think hard before you commit. I was in a similar situation with my student loan. It wasn’t until the monthly repayments starting coming out that I realised what a large chunk of my pay check was being taken.
If you decide to go for a course, it is worth looking on LinkedIn or other similar platforms to find graduates of such courses and reach out to them. They will have been in a similar situation regarding their career so they may provide some useful insights.
Finally there are meet-ups that help people learn. One of such gatherings is CodeBar. Check out the events page to see if there is one near you or there may be alternatives with similar idea behind.
This section is useful regardless if you decide to go down the course path. As mentioned earlier, you will have to put in the effort and practice. As a developer, being able to learn and find the information online will come in handy in the long run.
The following is a list of resources I use to keep up with new trends and frameworks. Some have video courses aimed at different levels.
- Egghead - web technologies - - a lot of courses on all things web. React, Vue, TypeScript, Node, etc.
- Udemy - courses on all sorts of topics. They often have promotions on and may even have promo codes out there? If you are just getting into this - those codes may come in really useful.
- A Cloud Guru - everything AWS and Cloud related -
- Dev.To community
- FunFunFunction on Youtube
- And many more out there on either YouTube or your favourite search engine.
Creating your own website is perfect as you can write about what you learn on it and also test out any new skills you acquire. It will force you to learn how to: Buy a domain name, build a website, deploy, host a website and create content, amongst other things. This will also give you a chance to try out different hosting platforms.
When you have a website there is always a project on your hands. You will always find ways to make things better or opportunities to learn new techniques and try them out. It’s like a builder’s house - never finished.
You will always come across people who will need a website or an app and will ask you to do something for a very low price or even free. They will promise that they know other people who they can introduce you to. Myself and my fellow peers never got introduced to anyone or benefited from this.
Exposure is tempting and it seems to makes sense, but always be reminded of this:
Source: The Oatmeal
This one is probably applicable further down the line when you’re looking for your first job in software development. Think about the skills you have from your previous career and work experience and see how they can be transferable. For example, if you worked in the service industry your people skills most likely deserve a medal. This can be a separate topic on its own but remember do not dismiss your previous experience.
Finally if you choose to go down the web development path, my advice would be to learn the basics of this as it will help you grasp other development concepts. This is not a requirement but it helped me in my career. The basics are:
Changing careers may seem daunting but there are more and more people taking the plunge and finding satisfaction in their new career in development. It gives you a chance to work for all sorts of industries, for example, publishing, streaming, journalism, sports, travel, fashion, property etc. Just make informed decisions based on your situation and your best way of learning. Persevere. You will get there!