This is a very common problem for people getting into software development. You are not alone!
A lot of other people in this thread provided some good advice to finding problems to solve, but I'd just like to comment a bit on how to solve them.
My advice: read code. Lots of it. Find popular libraries in your language of code and pick them a part to see how they work. Set up some open source project that solves a real problem (a CMS, chat bot, whatever) and explore how it operates.
Seeing how other people solve problems will give you a good frame of reference on how to tackle other challenges you encounter. You will also occasionally come across sub-optimal solutions: learn from those as well. Seeing how to do something badly can be just as valuable as seeing something done well!
At the end of the day I think programming is a lot like writing: a good writer reads a lot of books and writes often.
Just keep at it, there's a whole community of people here who've gone through this exact same thing. Good luck!
A lot of other people in this thread provided some good advice to finding problems to solve, but I'd just like to comment a bit on how to solve them.
My advice: read code. Lots of it. Find popular libraries in your language of code and pick them a part to see how they work. Set up some open source project that solves a real problem (a CMS, chat bot, whatever) and explore how it operates.
Seeing how other people solve problems will give you a good frame of reference on how to tackle other challenges you encounter. You will also occasionally come across sub-optimal solutions: learn from those as well. Seeing how to do something badly can be just as valuable as seeing something done well!
At the end of the day I think programming is a lot like writing: a good writer reads a lot of books and writes often.
Just keep at it, there's a whole community of people here who've gone through this exact same thing. Good luck!