Using technical references
Of course, any new product will involve a lot of novel arrangements of new ideas with information from technical references.
Anyone who has done any software development has had to go to the technical sources of the languages they are developing in. However, being largely written by developers, and usually in a standardised format, their examples tend to be about the minimum they can be, or lack explanations deep enough for those who are not familiar with the languages. Basically, they seem to expect that anyone who wants to program in them will have formally learnt the languages.
That is probably not a fair assumption these days, as many more hobbyists without formal training are trying their hand at programming. Enter sites like StackOverf
One of the issues in education is of keeping up with the languages that will be in common use at the end of the degree, so even trained people are not really ready for the often mixed-language environments they encounter, especially for web technologies that are comprised of not just the basic HTML, CSS and JavaScript, but a plethora of libraries and frameworks with their own syntax and idiosyncrasies. Programming these days is really about just-in-time learning.
Artificial intelligence (AI) is making a big splash, with SO having to deal with answers to questions that have been generated by the likes of ChatGPT. The advantage of the answers provided by AI is that they are seemingly complete, and have lots of inline comments so that the code can be understood. There may even be a summary of what is happening, which is useful for the inexperienced. The major issue with AI is that the answers may just be plain wrong, but that is because they are using dubious information from the internet upon which it was trained.
When I suggested that SO would have to get onboard with AI, the trolls descended, as they did with anyone trying to discuss it rationally. However, SO has been bleeding a large % of its users to AI like ChaGPT and Copilot, just because people have been going to AI first because they don't snipe or belittle them like some SO users. They started using AI in question curation, but have now licence their data to OpenAI. If they had instead got some AI and trained that on their own data they would have owned their future, but now they have basically given away their data. This will end them.
AI is like smart search that can handle discussions, because it remembers the context, and so we don't have to refine our query, but just keep asking questions, or even challenge its answers, making it find other information. It is good at gathering relevant information and can be pushed to give the fuller information, rather than just a few examples. It is more useful if we have some knowledge of the topic, because we have to be able to evaluate its results for relevance. It will only get better. At this stage, I would bypass SO, as it is imploding under the weight of its trolls.
When designing stuff, I prefer to work from first principles, which means for programming, going to the syntax descriptions, then working out how to do what I want done. If I come across issues, I may hit SO for a very particular answer about a narrow issue. In designing anything, there is always the risk of infringing on others' intellectual property (IP), which is why I follow this path. The AI for programming answers came too late for me to use, but I would have avoided it for the same reason. AI uses web information, and its provenance is unknown, so increasing the risk of being sued.
The other issue is that even with better documentation, all the different scenarios encountered in real life will not be covered. One of the first sites to offer the ability to experiment alongside their command descriptions was W3Schools. While they received a lot of flak early on for some inaccuracies, being able to experiment and verify what works wins over just plain syntax explanations. This advantage may have led the gold standard site of web documentation, MDN Web Docs, to eventually offer some experimentation facility. There are now many online sites that allow experimentation, as well as those that will check code in various languages for syntax errors.
Designing anything by oneself is a multidisciplinary process. Getting access to accurate information is critical, but being able to experiment is essential as errors in documentation can creep in in insidious places. A designer needs to be able to do research yet be practical enough to get their hands dirty and verify what they have learnt. Fortunately, the conspiracy theory madness has not hit programming documentation or we'd all be in trouble, especially from AI fed on it!