Hello everyone,,
I'd like to know just what's the way to becoming a professional graphics programmer (3D).

Some months ago I started learning OpenGL and I even got quite far (I think , I got to the three basic types of lighting), but right when I got to the point where I wanted to organize a little better my code, the struggle started. What I wanted to do was something of the kind: new model? Just create a new object of this class; want to add a light? Then create an instance of this other class instead, etc.

Obviously, I wasn't able to do it and gave up after spending entire days with pen and paper to try and design a sort of "game engine".

What I did after that, was come in this subreddit in the "getting started" section, and saw the "road to gamedev" that suggested to make a copy of tetris first, then a copy of atari breakout and so on, to get the basics down. I even made a very bugged version of tetris, and it felt really good to finally "finish" making a game; but upon starting the breakout clone, I started thinking that maybe this isn't the very best course of action for me.

See, what I want to learn (and what I want my job to be) is graphics programming, for which, I believe, the main focus is implementing shading techniques to make a game look good, and not worrying about how the game is structured. So, should I stick to 2D games for now(with SDL2)? Or are there other, better, ways to learn graphics programming?