I am mostly self taught, which is good and bad. Bad, because it takes way longer, good because you learn how to derive solutions yourself and learn why things work the way they do. My recommendation is to either start with a set of OpenGL/DirectX tutorials or just get some pixels on the screen any way possible, and build a software renderer from there -- that is if you want to learn. If you want to make a game, your best bet is to use an existing engine, although I'm hardly a shining example of that.
https://youtu.be/gNZtx3ijjpo (three parts).