First, enjoy where ever you are in game development, even as a beginner, take great satisfaction in the learning process because your success depends on it. Read my signature below here and you will see that you need to take my advise to heart.
In my opinion, beginners with any kind of desire to eventually have strong art assets in a game should start with a decent game engine. Here is a partial list of them:
Settle on only one language and one game engine to develop 3-5 single person 2D games. After about 1-2 years, then go multi-player and maybe even 3D games.
There are a few very hard working and talented game developers who are successful as solo indy developers, but the majority of success testimonials come from people in teams. Such organizations almost require some sort of version control software and it would help you to make modular coding of good game code if you begin to use one fairly soon. You need to study the folder, file, functionality, and other structures of successful games in order to learn to do the same. Look under the hood! Open the main registry of popular indy games and see how they look. It will really enlighten you. Your games and your development system should be such that you can turn ON, OFF, or SWAP modules of coding instead of digging thru spaghetti coding. Generally, game source codes are built to plug into a game engine and are sometimes partly integrated with a game engine, but the best reusable coding is modular and not fully integrated. Therefore learn class files, UIs, GUIs, importing art file formats, executable files, and dlls application within your game software by the time you reach about 4-8 games made by you. Most people will be at this a good couple years to reach this point.
The larger and more complex a game source code is, then the more the demand for a team to develop it and another team to create art assets for it. The larger the game development company then the more demand for structure such as version control and source control.
Beginners typically write good, reusable, working code at about 10-50 lines per day. Most of the rest is abandoned for various reasons, including unusable or undebuggable. This highlights the need for reasonable game software architecture planning (simple for the first few years) and setting reasonable goals expressed in the game concept that is outlined in easy to read documentation. Follow your plan to the best of your ability and always complete projects unless the coding becomes obviously unworkable or unsustainable. You must get satisfaction to be in this hard line of work!
These things are critically important if you want to be a long term professional success in the industry. If this is just a hobby, then it only matters that you really enjoy it.
Thanks for the advice. I will surely get to that.