The best thing to show what you can do without sounding big headed, is just to illustrate previous work. Give examples of things you have done, where the experience you gained can be reused effectively.
Stating you have been doing a certain type of software development in someway connected to what is required in current projects, will bring across by itself, that you should have some proficiency in that area, and selection of duties will come accordingly, without you sounding like you are trying to say: "lemme 'ave it"
I think its good to have a competitive type of environment to an extent, but it sounds to me that in your company, you are now having to compete for assignments, you should try to find a way to "work together" with your colleagues, so its not one's skills against the others. Anything else will damage you as a person, and your team because you are not working to the best of your abilities, which is cooperatively.
In my case: I really don't like SQL related assignments and I think I am better utilized doing software development outside that area, but the truth is, I cannot avoid it completely (I wish I could) and often I feel like telling my superiors:
"look, this is not my forte, and we
are just wasting everybody's time"
More often than not, I find that the scars I get by fighting with the bits of software development that I don't like, make me a much stronger developer.
My tip to you is: don't avoid the things you are not good at, you are not supposed to be good at everything, but use every opportunity you get, to learn whatever gets thrown at you.
If it gets boring or too challenging, then cry for help, but the idea is:
- work in a team
- work towards the goal
Not just to show what you can do, but to achieve the result(s) your team is trying to achieve.