When you are first starting to learn to code one of the most underappreciated sources for learning is documentation. Programming documentation is reference material produced by the community to facilitate the developer experience. It can range from detailed specifications about functions and data types to examples and Q&A.
Professional ‘docs’ are extensive bodies of knowledge neatly compiled by the creators of major languages and frameworks. Yet, professional ‘docs’ are not the only source of documentation. There are also many community-created examples of documentation that are now available on the internet. For example, Stack Overflow has an extensive archive of answered questions, while YouTube and other websites have numerous detailed tutorials and examples on all types of technologies.
Making the most of these freely available sources of knowledge will help to accelerate your learning and at the same time expose you to the best practices.
When a new framework, language or service is released the developers want to incentivise other developers to use it. In order to achieve this, it is critical that the framework is developer-friendly and, as such, many large frameworks invest in high-quality documentation. A great example of this is Stripe; it has been argued that Stripe’s success as a company was largely due to its focus on making the developer experience really easy.
Some other great examples are:
When debugging your code you have probably come across Stack Overflow or other Q&A forums. These forums are a great start when trying to troubleshoot problems as it is likely you aren’t the first person to face a similar issue.
The comments on Stack Overflow are a great wealth of practical coding advice, as it is used by many professionals across the industry. The only caveat is that if you want to improve your coding you shouldn’t just replicate the answers without thinking. Try and understand what they are saying and think critically about what you are doing and why.
Another amazing way to learn is to divide your project into sections and then find online tutorials that show you how to build a particular part of your project. There are so many great examples of this on YouTube and on the internet (and I will be publishing some in the near future).
Similar to Stack Overflow, be careful not to copy these guides without thinking about what you are doing and why. Nonetheless, they give you a structure and the confidence that the approach you are using is possible and reasonable.