I was in your position 14 years ago and will be a bit biased as I’ve always worked with and loved the Unreal Engine.
Getting into games nowadays even easier than it was back then, especially with Unreal, the engine is SO polished, tutorials, documentation and help from the community is very very good. Also they’ve since switched from U-Script to C++ so getting in now is golden as you’l have no troubles working with the source code.
I would recommend getting a hold of the engine (it’s only 19$ and is STUPID value for money) and take a look into the core fundamental aspects of game design, a little bit of level creation, a bit of 3d modeling, texture creation, animation etc so you know how everything works together to create a game, then focus on one aspect that you enjoy the most, in your case that sounds like programming.
With this knowledge you’l know exactly what needs to be done (or at least be able to find out how!) on a technical level on how to create a small mod for Unreal, start with small things like changing the players movement values, or modifying a weapon and then do your own thing once you’re comfortable with how it all works.
Once you’ve got to grips with the engine I would look at joining a mod team that interests you, most mods never make it to full release so don’t worry if things are slow or fall apart, you’l learn a hell of a lot by working with a team, taking requests and telling people how to use your code. Soon enough you’l know what you’re talking about and have a portfolio of work to prove it. Game studios are often looking for entry level programmers and with C++ and Unreal under your belt, you’l be a prime candidate for studios, just don’t expect to luck out and end up working in your hometown.