I'm almost 100% sure others will disagree but I'd say start with Unity. The most important thing is getting something small done to give you a taste of what's involved and then you can dig deeper and develop Opinions and eventually go pick a new engine/roll your own.
I definitely do not recommend trying to roll your own engine at first because you'll never get a game done.
As someone who started as a game developer and is now mostly in the web world, I totally agree to start with Unity - a side project I have now is using it, and it's an absolute godsend as a small/one man team for making games. You can do almost anything you can do in a AAA studio engine, but with more productivity and a gentler learning curve.
So yeah, to parent poster: Go download Unity and do the tutorials.
It's also worth working through some OpenGL tutorials to get a feel for how the lower level stuff works.
Actually as someone who also did mostly web development professionally before starting games as a hobby, I think it's better to start by coding a small game without any engine (like a shooter or a platformer) to fully understand the concepts like game loop, FPS, sprites, etc. Then only you can move to using an engine and you'll understand better what's going on.
That's especially true for someone who already knows programming, the answer would be different for someone who had no programming experience.
I'm taking tutorials for game making in SDL2 to expand my knowledge of C++, and because i've had an interest in game design for a while. I'm certainly learning a lot more than I ever did playing around with Game Maker..
Hey, don't knock it. I learnt to program in GML; to the point where I built a 3D game out of Game Maker, pretty much using the UI as a glorified level editor, rather than using its proper actions. Taught me heaps :)
Nowadays, I'm a web dev, but I build games in my spare time, and have lately been doing it with Canvas/Javascript. Just like SDL it takes some of the finicky bits out of your way, but is still pretty low level somewhat.
Game Maker is actually pretty nice now that it comes with a physics engine (although I was annoyed when it took me like an hour to reimplement a project it took me weeks to do in an older version because everything was just there) ... I just wish it used something other than GML for its scripting language.
I'm working through Unity tutorials now and this is what I did, and I'd agree. Being a web developer and knowing JavaScript is awesome for this - HTML5 games are really fun and easy. I started with a Galaga clone[1] that taught me about game loops, input, rendering, and the state of the game world and how they interact and are separate. I think this has made working through Unity, where things are kind of magical, much easier.
I definitely do not recommend trying to roll your own engine at first because you'll never get a game done.