Hi there!
Learning coding may have various purposes, whether you want to decorate your room with colour changing lights or code the next big hit game, it's mainly a matter of interest.
I usually give this tip to people who are new to coding;
You sit by your computer and type some stuff. Do you want to be able to touch, hear or see what happens physically or do you want to enjoy it through the computer screen? This is where I understand their hardware/software motive. And then I give advice based on this.
As with everyone, I will ask you the same question: Do you want to be able to touch, hear or see what happens physically or do you want to enjoy it through the computer screen?
If you want to be able to enjoy the myriad of colour changing lights, allowing you to get a different yet enjoyable new ambience of your room, then you should focus on hardware coding and as for that, I advise you to start from Arduino coding. Start to experiment with boards like Arduino Uno and try installing different components like LED lights. Coding simple lines in this area is relatively easy and it will look nice when you're done! This may come in as really satisfying for a beginner coder and encourage them to do more of it.
If you want to code the next big hit game, then I advise you to start experimenting with basic game engines like Unity, which will give you a little bit of a headstart compared to coding a game with lines from scratch. Although this takes much more experience, time and patience so the result for the amount of work you put in may not satisfy you enough, thus distancing you away from the real coding experience.
All in all, I'd like you to simply evaluate your motives before beginning your journey of lines and lines and lines of code :) Let me know if you need anything or need me to answer a specific question!
Cheers, have a lovely one.