"Pick an engine" ..
I agree, but there are many engines you can pick.
Everything but the kitchen-sink engines or dedicated engines that does a subset of what you need. SFML, GLFW and SDL fall into that latter category.
And I think they are a good choice when you are starting out.
Writing an engine from scratch sounds daunting, but - contrary to what you might think - all it is is you choosing what you want from a large pool of specialized game programming libraries: rendering, input, physics, imageloading,..
You decide!
The problem doesn't lie in how to program at a low level, but how to get those libraries to coexist and writing code that glue them together.
Then you can decide to write a game engine or an engine for a game.
The last option is IMO always the best option. ;)
Unreal Engine started out that way. Id Tech started out that way. Source engine as well.
In fact, I don't think any engine worth using hasn't been used to create at least a couple of games before being mature for wider use.
Engine development is incremental. Especially for indies, because we don't have an army of coders to create tools, etc.