Since you have some programming experience, I wanted to ask you do you have any recommended resources or links for real-world projects?
This is one of THE issues. What should I code to grow? And it's hard to answer this without self-doxing. But I'll give a couple examples.
I hate the UI of most audio player software. So I wrote my own. You can develop a working prototype in an afternoon these days, but depending on the featureset you want, they're wildly different. If you simply target some weird platform that doesn't have anything developed already, you might even get users. It can be something as dumb as "I'm going to write an audio player with a
- Qt UI,
- in Zig,
- targeting PipeWire output,
- using GStreamer to decode
This is a terrible example that no one should do, really, and I don't know how well the parts connect, but you can vary any of the four parts to make something new. If your program works well, consider changing one or more of the 4 dimensions. I've written the core to my player half a dozen times in nearly as many languages.
Also, do you have some advice on how to handle days where someone doesn't feel motivated to code?
There's no real solution to this. It's best to manage your life with other fulfilling stuff so that when you have a chance to code, you go do that.
"Instead of browing KF, I'm going to spend 20 minutes doing [specific task X that ought to take 20 minutes].
Another free example is: "I'm going to implement [card game]." This is another thing I've done, implementing a card game I play with a friend. There are all kinds of high-level APIs that make card games in particular easy, but most card game implementations handle few games.