Practice, just for the sake of practice, isn't a particularly good way to approach it. It works better if you have defined goals to reach, such as completing Epics, User Stories or Spikes (to use Agile terms).
For example, lets say you want to work on developing your skills in a particular area of web development. If you approach it randomly, practicing this or that without any goal in mind, you won't retain as much. But, if you define your overall goal, such as "As a sports fan I would like a single page dashboard to display scores of games", and then build a step by step plan to create app using your target technology, this will help you learn and retain because you will have more focus and a sense of accomplishment.
If I was going to compare learning software development to video games. Reading about it in books feels like the beginning of a video game where you are playing the tutorial but you just want to play already. Many other gamers just skip the tutorial part and just learn as they go and they grasp things a whole lot faster becoming immersed in the game. I did build one project and I got a lot out of it, but books and videos only supplemented my learning. I think I'm going to try this more because I didn't realize how effective it was looking back on it now.. Thank you for taking the time to drop some knowledge. I highly Appreciate it.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.