Learn to program first. Learning game development and programming at the same time is a fucking disaster and you'll probably need to unlearn a bunch of bad habits later on. Game development is different than traditional application development in both code and project structure, so even talented programmers find a bit of a learning curve - total newbies don't stand a chance IMO and will just need to learn a lot of things the hard way. I tell everyone to learn C because it's often the first time they're exposed to memory management after coming from something like Python. I also think it's valuable to get outside the mindset of OOP and see if you can be more productive without it. If you don't stick with C it will still teach you tons of stuff about programming The Right Way (TM).
I've built games from the ground up, but there's little value in doing it unless whatever your idea is happens to fall outside what the traditional engines/frameworks offer. You should do it so you know what your options are, but nobody cares about bragging rights and you'll just have 1000 technical issues. If you want to talk business, then Unity, GameMaker, and the other development suites blew out the low end of the market, so now PR and marketing are huge parts of the job in addition to the already tough work of developing something worth playing. Unless your game is immediately doing something crazy that's obvious in the first few seconds of a trailer, it's an uphill climb and a huge money/time sink. Thousands of other developers are trying to do the same thing you're doing at any given time, so it's somewhat common to fall into the trap of building weird "share for share"-style relationships that end up in a vortex of developers just sharing each others games over and over with very few potential players paying attention. Just a circlejerk, basically.
Not to discourage anyone, I'd just say keep it as a hobby and have fun with it. When the pressure's off you can focus on prototyping a shitload of games and maybe one day you'll stumble upon something cool that you can polish up a bit and put out there. Too many people show off interesting stuff too early and then fail to deliver. Games also have the tendency to become impossible to work on once they hit 90% completion (see: Rockstar's games, any "crunch" story, etc.)
Read "Designing Games" by Tynan Sylvester. Lots of interesting talk about prototyping and how the brain handles problem solving re: game design and programming.