Welcome to part two of our Coding for non-coders blog series. If you missed part one where we discussed the value of non-coding skills in digital careers – go and have a read.
Today we’re going to focus on learning to code as someone who has never done it before. This can be daunting and something I have first-hand experience of. I’m currently learning Python and SQL having never used more than SPSS and Excel before.
A note that we are focusing on teaching yourself to code in this blog. You can of course learn these skills through formal further study options too. If this is something you are considering, do take a look at our Get Started guide to further study.
Reflect on your approach
‘Coding skills’ really refers to a variety of different skills. There are a huge range of different programming languages and contexts. From designing apps to web design from data analysis to 3D modelling.
Before you dive in – reflect on what it is you are interested in or a task/problem you would like to be able to do/solve. Building a network, doing a bit of research and talking to people with coding experience or who work in related industries can help to inform this. Part one covers how you can start making those connections.
Reading about code is often abstract. If you have a career path or project in mind – what is useful for this area? The best way to learn is by practicing, so having a project in mind can help with motivation and put things into context.
On a practical level, you might want to consider learning one of the top 5 programming languages which are most commonly used and often have multiple applications. You might also want to consider starting with a language where it is easy to run code without compiling or linking.
Choose your starting path
Once you have figured out what programming language you want to learn or what areas you want to focus on, you need to figure out where you are going to learn this.
There are numerous platforms that offer different courses or resources online. These will all have a slightly different approach that they take – whether it’s a structured course or something looser. Some of the ones I looked at or we like the look of in Careers include (in no particular order):
- Khan Academy
- Institute of Coding
- Python for non-programmers (collection of resources from python.org that have no expectation of previous programming experience)
- How to think like a computer scientist (open source e-book)
- Coding bootcamps (intense courses aimed at quickly improving your skills – some of these can be very costly so proceed with caution)
But this is by no means an exhaustive list and we don’t recommend one of these over another. We would recommend doing your own research – there are lots of discussions and reviews out there covering different platforms and other people’s experiences of learning to code.
Be particularly wary of courses that have a high price tag, or you need to pay to get a certification. Do remember that a lot of programming languages are open source, so you can install and start experimenting for free without an online course at all if that’s what you prefer.
However, my top tip is once you find one platform or approach that you like the look of – stay with that provider. By reflecting on what you want to learn and how you want to learn first, this should be easier. With so many resources out there, it can be all too easy to switch from one to another without making much progress. So, find one you like and stick with it.
Building on part one of this blog series, having an online network can also be really useful. For programming and coding especially, there are lots of online communities where you can go for help with specific problems. Try exploring Sub-Reddits (e.g. Learn Programming) or Stack Overflow. In my case I find it helpful to Google the problem I have and can often find someone with a similar issue and a solution to try.
Persevere and have fun
I think it is worth ending this by saying learning to code can be difficult. While learning to code has never been easier with the plethora of resources out there, the skills itself can still be really challenging. Especially if you are completely new to it and don’t have a mathematical background. Learning programming languages often requires a complete change in approach as to how you think and problem solve. To start with it can feel really alien and quite overwhelming. This article is a useful antidote to the “learn to code in 5 minutes” narrative you can often find.
Hopefully though, if you have a key area or goal in mind and have a network around you, this will make it that little bit easier. Don’t forget to celebrate your achievements and progress, no matter how small. For me – I still haven’t got a clue about most things in Python – but I have mastered merging and joining data sets which is a small victory that is already going to make my life easier.
As well as the learning platforms above, there are some upcoming opportunities to help improve your skills.
- Sparta Global Codemas free 4-week workshop on visualising data in Python
- UniHack international hackathon – with additional events and resources
- Microsoft Digital Skills week – 23 – 27 November – range of free online events
- Master the MainFrame – competition for students from IBM – no experience required
Finally, with Christmas coming up – check out Advent of Code. For daily challenges throughout December with varying difficulties and skill-levels required!
Unfortunately, the Careers Service can’t offer help with your coding problems! However, we can help you explore career options that might need coding skills or help you plan the next steps in your career. Find out more on MyFuture