image/svg+xml

Digital Roast

Switching career to software development

January 29, 2020

Two ladders side by side stnading against a wall Photo by Biao Xie on Unsplash

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.

Persevere

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!

Different ways of learning to code

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.

Class Environment

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.

Online Courses

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.

Creating your own personal website

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.

Do not work for free or exposure

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:

The Oatmeal Comic - Exposure Source: The Oatmeal

Transferable skills from your previous career

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.

The web development path

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:

  • HTML
  • CSS
  • JavaScript - pure Javascript as opposed to frameworks like React etc. This will cover the basics: How to write simple logic, how to manipulate data, how to access and manipulate the DOM (Document Object Model - I know this sounds scary, but really once it clicks, it’s not that bad) and how to get data from a server or submit a form.

After you get the basics from the above I’d then recommend learning JavaScript frameworks and libraries: React or Vue (these are most in demand)

And finally once you get a better grasp of all that, look into Web servers such as NodeJS (JavaScript for server side). Other languages are available, but if you already learning JavaScript this will help you with learning the concepts for server side development.

Final thoughts

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!