I joined my first and current company and I am at the verge of leaving due to unexpected internal politics, but all these 16 months I have not been given a confirmation nor an increment in salary. The internal communication application has always read that I am a trainee. So my question is, will the company give me my experience certificate as a trainee ? Or a software developer ?
Your title is what the company says your title is. When you are officially handled as a trainee, that will likely be what they will write into your certificate. However, usually a trainee is always specific to a profession, so it will likely read something like "trainee software developer".
When you have good relations with the company and you did much work which goes beyond the usual responsibilities of a trainee you might be able to convince them to write that you worked as a full-fledged software developer, but they are not obligated to do this.
By the way, you often can influence what a company writes into your certificates to a certain degree. A company has nothing to lose by writing what you want, but they can lose by writing something you don't want because it might result in an annoying lawsuit. For that reason most companies are usually cooperative when they are approached by soon-to-be ex employees about what to write into their certificates.