1- Coding is really not about remembering and memorizing.
There is absolutely no memorization required as a Software Developer and You really shouldn’t waste time committing details to memory when you really should be remembering the bigger picture and understanding the important concepts, The most used resource of a developer is search online on google, StackOverflow, documentation, GitHub, quora, youtube, ..etc.
2- Coding is just a practical skill and books don't teach you programming and develop a full project.
The best way to practical Coding is to create a personal project and useful applications for yourself that solve a real-world problem for you.
3- University actually does not really teach you development and build real software such as you get into a job through practices.
The best strategy to build real software is to Bringing Your Ideas To Life (best to start and choose a medium-sized programming project) and that could help you to improve Your Problem Solving And Thinking Skills.
4- Investing in yourself is the shortcut because that's usually such a big time saving for you.
If you ask a question, Why would I ever spend money for something that I can just teach myself online using a free resource?
The answer is yes you can but that Spending too much time to collect information that not gives you the best shortcut, and on the other hand someone else that could have a good experience can teach you through service or course and save your time.
5- Be ready to learn new things and adapt new technology.
Because the IT industry is growing, programming especially requires developers to constantly learn new things.