Their company, their rules
For the last two years, I run my company Beyond Code with my awesome friend and colleague Marcel. Before that, I've been a freelancer for one year. It took me seven years to go from employee to being self-employed. During these seven years, I tried to change the company I was working for as a developer, team lead, and project manager. I argued with our boss multiple times a week and got pushed back in more than 90% of all cases. In my view, I had better arguments, but they never changed their opinions, and everything stayed the same until I left. I believe it's still the same, but it changed for me as I went for a completely different approach to consulting and working with clients.
It took me a while to realize that their opinions are not wrong and that they are not terrible bosses. They are just different. Their views are still valid–otherwise, they wouldn't have a profitable company and be around for about ten years now.
But there is a thing that was much harder to accept. It is also the most missed viewpoint for many employees when they ask for a raise or want to change something in a company. It is the company of your boss, and your boss makes the rules. There is no reason why they have to give you a new position or why they must give you a raise. You were likely hired for a specific problem that they had in the past. Your only purpose is to solve this particular problem. If you change your role, they need someone else to solve this problem for them, and so it becomes their problem again.
This statement is far beyond being a piece of advice for your boss. It's a sign of missing leadership which people should bring to the table in case they employ other humans. As an employee, you have to understand this and make sure you avoid bosses that behave this way–but you also need to know that you are the problem in their point of view. So if you are in a similar situation as I was, there is likely only one way out: Leave the company.
Self-employment is not for everyone, but many companies treat their employees differently. They put them in their center and take care of them and their careers. They understand that people change and want to grow–so they build their companies in a way that this is their goal. They hire for people, not for positions.
So if you ask yourself why your boss doesn't like your ideas or want to give you a raise, you have to keep in mind that they can do whatever they want.
It's their company, and so they make the rules.
The good news in our industry is that thousands of companies are looking for developers–so can switch your employer easier than they can replace you.