Software developers are sought after, so if you know your craft you should be able to find a job.
Is having your own software acceptable to being hired as a programmer?
Yes, but in my experience only the recruiter will care. The technical interviewers will find out whether you are experienced or not.
Are the "complementary studies in IT" a better idea than self-made experience?
Some companies like formal education (e.g. a Master's degree) and others don't.
You will be looking for the second type and in these companies usually certificates don't matter the moment you make it past the recruiter.
Or any other way to make this change?
I am doing interviews for my current companies and if a candidate gets through the recruiter screening phase, all we care about is whether you know how to develop software.
My suggestion is to just know your shit, and someone will want to hire you.
My idea so far would be to resign to spent time (a few month) developing my own program and use it as an argument for future job interviews. Sadly, all the ideas I have in mind are games or game-ish
I wouldn't worry too much for this. Game development has a lot of challenges that are needed elsewhere:
- optimization and profiling
- managing dependencies to libraries
- writing parsers for configuration files
- usability issues
- network communication
You can make a conscious decision to use some technology you want to be exposed to, even thought it might be the best solution for your game (if you develop it on your own). For example you can use an SQLite database for your configurations, just because you want to sharpen your SQL skills..
The bigger risk I see is that you don't get all the skills needed in the real world, if you work on a small project on your own.
If you are hired by a company as a programmer, you are usually expected to collaborate and extend an existing project, skills you need for that are:
- communication with technical and non-technical stakeholders
- using version control
- reading lots of other people's code
- working on random bug reports
You can work on that by trying to find a free software gaming project that accepts patches. Contact the core developers, and ask them which minor bugs or feature requests they think are easy to implement and see whether you can setup the build environment, reproduce the issue and come up with a fix.
If you know how to cooperate on a gaming project, you have most of the skills you need to work on business application.
Then start applying for jobs as soon as possible. This will give you an idea what the job market in your area looks like, and if you get at least past the CV screening phase you will get some feedback in what companies are looking for in an entry level software development position.
If the recruiter turns you down as too inexperienced, ask them what would change their minds.
If you consistently make it through the CV screening but don't succeed in technical rounds you know what to improve.
Reading a lot of job postings also gives you an idea on what is relevant in your area. If most companies around you are in embedded systems, you might want to improve your building and linking skills. If Java is in high demand, you can start writing games in Java. If everything is hungry for web, try to make a web version of an idea...