||That's a big question with many answers. I'll just discuss the topic I like.
Well, if I were you, the first question I'll ask myself is "Do I really want to be a programmer"?
Programming maybe exciting for you, or maybe you like the implied exclusivity of it, or you probably simply always get this satisfaction whenever you finish a component or an euphoria if you manage to build that one huge project.
But ask yourself again, do you really want to be a programmer?
This is not a question whether living as a programmer sucks or not. This is a question whether you will be best satisfied if you take your life to the programming path.
You're still young, you can afford to taste here and there. You may change your preference. Expose yourself to every kind of job you can be exposed to. Don't just focus your experience only to enhance your programming skill or skills supporting your job, while abandoning all others life experience. You may never know if you will be happier living as an accountant.
Anyway, back to your question. If I were you, I'll just do everything I like and try to make it connected to programming.
For example, suppose you like to observe/study about cross-cultural differences and traffic in your place is pretty bad. Connecting these to programming, you can make a computational model of traffic jam, considering drivers culture (particularly the level of tendency to give ways to others) adjusted for distance of where they life, also adjusted for reaction time and physics limitation, considering time left before the start of normal office hour.
The above project will look impressive in your resume, or at least when you're interviewed. But what's more important, this project will expose you to different subjects, not just programming thus making you less likely to regret choosing programming.