You know those guys who always spend their free time screwing with their cars? Be that guy, but for programming. Figure out what types of applications you'd like to write (web, native, systems, drivers, etc...), find an appropriate language (JavaScript/HTML/CSS for web, C#, Swift, or C for native, and then C for systems/drivers), find a good book and some good tutorials on YouTube, then start writing applications. It may be very hard at first to "struggle through it" but actually, that's the best part because while knowledge is super important, it's the struggling and how you handle it that make you a great programmer.