It is generally agreed upon that learning programming is made much easier by starting with a ‘high level’ language such as Python, though one can begin with almost any language. There are a vast number of learning resources online such as codingdojo.com, khanacademy.org and code.org, which provides interactive an environment for writing and compiling the code. Feedback is offered after every completed stage to help the user recognise and learn from their mistakes.
The best way to become more proficient at coding is through hands-on practical experience, and it is often better to dive right in to a project than to spend too much time learning syntax. Navigating and making sense of new technology by oneself can be a great learning experience and is one of the core skills of any good programmer.
Finding a practical use for programming and becoming invested in a personal project can be a great motivator to learn and keep interests high. Patience is key when learning to code, and it is important to not become jaded from the volume of unfamiliar concepts that will likely arise.
It is extremely valuable for the beginner to become familiar with the fundamentals of programming before writing a single line of code. These are best taught through interactive online tutorials and further understanding can be developed through regular practice with feedback.
Finally, it is advisable to find a mentor – often a learner will not be able to grasp concepts by themselves and will require examination and feedback to solidify what they have learned. For this reason pair programming is very popular in the commercial software industry.