I am from a third world country that has a bad image in media nowadays.
I work in Belgium, in a good company, as a software engineer.
I am working on a very specific programming language that there is no one at the company knows how to program with it (of course, not for lacking skills but for lacking time to learn).
We use English to communicate in the company. We got a new colleague, fresh, coming from a math background and doing programming (well, I don't know if you believe me or not, but here it is normal to teach new people for like 6 months how to program).
This new guy started working with me on my tasks, which at the beginning was good because I started to have team feelings and started to care more about the code.
However, he is less than a junior, he is 6-months-old in the software domain, he knows nothing about data structures, algorithms, design patterns .... etc.
He is local, and he speaks the same language as my manager (who knows nothing about software development, but he is in charge because the former manager left and they are probably searching for a new one, the current manager comes from the marketing department).
The three of us meet mostly on Mondays to discuss the plan, and for some reasons, when we have conflict in opinions, the manager chooses the new guy's opinion.
I tried to show him the negative sides of his decisions, but showing why the suggested approach will not scale. I calculated the complexity of the suggested approach and compared it to my approach and showed him formally (using math) that my approach is better.
However, it is always the case that my opinion is never taken into account. So I lost motivation, and I just stopped suggesting.
What makes it worse that they speak their language together over the coffee machine for example, which I don't understand and while that they speak about the project.
I must say that I am a very quiet person, and maybe I have a weak personality (I don't fight for my rights!)
Suggestions are appreciated.