It's often being said now that everyone should have a basic knowledge of coding. Whether it's being able to tweak the design of your website, speed up your spreadsheets, or even creating your own games, programming skills enable you to take these tasks into your own hands and forge the solution yourself. However, learning to code can be an incredibly daunting prospect. For example, where do you even begin? Which language should you start with? How do you go about learning it? What will it do for your job prospects? Well, don't worry - we're here to help. Keep reading and find out how you can unlock your hidden coding skills. Why? Why? Why not?! Aside from adding an extra couple of lines to your CV, having some programming knowledge has some incredibly useful benefits. Putting it simply, programming is finding a solution to a problem, often in the most efficient way. Sound familiar? Learning will no doubt enhance your "problem solving" skills, in a tangible, provable way, along with boosting your abilities elsewhere. Many jobs these days can have an element of programming included, even if it's not explicitly mentioned. For example, if you're working with databases and forms, a bit of coding knowledge can do wonders. Plus, showing the capability and drive to automate a laborious process without being asked can only be a benefit! The fact that you've put the time in to learn the skills, in any language, shows that you're dedicated to improving yourself and pushing yourself further than the majority. Learning programming can also have some nifty uses outside the office as well. Alongside the aforementioned editing of websites, there's a multitude of common tasks that can be tackled with a bit of programming - most of which don't require any special equipment either. Fancy having a script monitor your Twitter feed for certain phrases? Done. Want to link together forms and spreadsheets to simplify your budgeting? Done. How about making your own app? Done. Again, any task you complete, it's something else you can talk about in an interview or on a CV - it's a problem you solved. How? Deciding where to begin can be one of the most difficult tasks. If you've not had any experience with the languages, then they can all look the same. There are thousands of them, from A++ to Zeno, so which one(s) to choose? For learning, you can boil down the thousands very easily to the mainstream ones. It's a matter of opinion, but generally these are HTML, CSS, C++, Python, Java and Ruby. Again, these may just be words, so it's worth doing a little bit of research around the subject before you jump straight in. However, in my own opinion, generally Python is best for beginners. Once you've got the basics sorted, you can then jump into C++ and HTML, which can either be more difficult or a bit more specialised. For learning, there are almost as many paths as there are languages! Websites such as CodeAcademy, Code School, Treehouse offer interactive courses which guide you through, from the basics up to more advanced tasks. However, some courses can charge a fee for access, so it's worth keeping an eye out. For those who prefer to learn by solving problems, then several sites across the internet offer constantly-updating challenges to test your skills. Examples are Project Euler (for the more maths inclined), the Daily Programmer subreddit and CodeAbbey. Often these challenges will have more than one solution, meaning that you can compare your answer with others and see how you can improve. If you're a fan of tech and you don't mind the minor expense, then another way to challenge yourself is to grab hold of a Raspberry Pi, a credit card sized computer built to help teach programming skills. At the end of it all, the best way to unlock your hidden coding skills is to knuckle down, try a few languages and methods and find the right one for you. Once you've learnt the basics of one, you'll find it a lot easier to learn the others - believe me, I know!