What is next? How to expand?

First off, hello everyone! I started programming roughly 6 months ago off and on as a hobby, and am really starting to enjoy it and want to take it more seriously and improve. However, I'm not sure how to do that.

As for now I have the general knowledge of things from I/O to classes and pointers. However, it still feels like I don't KNOW much. Yes I can write code and small little things (A console connect four game being my biggest), but how do I apply that to actual real life application of programming? I downloaded SDL last night and seem to be getting the understanding of event driven logic vs procedural programming. Is it a good idea to just "jump in" to APIs like this to try to learn the overall structure before learning more advanced things in C++?

I seem to be all over the place with this post, but my main concern/issue/question is how do I break out of the "beginner" coding and expand to the "intermediate" and "advanced" things?

Thank you all! (Sorry if this is comes across as dumb or pointless jumble)
Make a 2D game using SDL or SFML (I recommend SFML). It can be anything you want, even a clone of your favorite Sega or Nintendo game (though the latter will not allow you to distribute it). Getting the game to a point where it plays mostly like the original will be a journey that gives you much more experience. You will want to start over from scratch at least a few times too.
Topic archived. No new replies allowed.