Build your own software
You should build your own software. It's one of the most effective ways of growing as a developer, even if you're just building small, personal tools.
Early in the software development journey we're often curious – "how does X work?", "why does Y do this specific thing?", etc. Once we start working full-time and spend less time exploring things, that aspect of software development tends to fade away. Building your own software encourages that curiosity, since you have full-control over the journey. You don't need to worry about deadlines, team dynamics, or processes. You can experiment with new languages, frameworks, patterns – whatever it is that you're curious about.
A common argument against building your own software is that reinventing the wheel is bad, that it's a waste of time. Building something that's already been built can be a deliberate way to learn. You'll figure out why things need to work the way they do, what tradeoffs exist, or where performance decisions come into play.
Building your own software also provides a tangible goal, since you're the one setting the expectations. You could build a simple to-do list application or the next Netflix, it doesn't matter. As long as it does what you need it to do, it's a success.
So start small. Build something that solves a problem you have. It doesn't need to be perfect. It doesn't need to be original. The goal isn't to ship the next big thing – it's to learn, explore and grow as a developer.