Are you a cog or lincphin? Every employee has to answer this question.
In your team, you work hard, show up on time, folllow the order, try to fit in the team, compliance to your boss, always say "yes", finished what you've been told.If you are lucky, you might be given some bonus. But if you only just did that, then you are just an average developer, will be no difference with other colleague, you are just an interchangable component, like a cog in a machine, which are easily to be replaced.
The problem in IT industry, average and mediocrity can not survive, whether a company or a developer. If you are just an average cog, then you are easily to be replaced, you have to compete with other lower priced developer; and even more finally your job might be outsourced to India or China.
So if you want to survive, secure your job, you have to be lincpin: you are indespnesible. Make sure you stand out, remarkable, quite different with others average people; you have passion, you are emotional labour. If you are linchpin, you will become independent and get freedom, you don't need to worry about job, job is always looking for you. Since you are linchpin, you deserve the high pay because you bring much more value to the company.The difference productivity between a great software developer and average one is 10:1, think about how much you can earn if you are linchpin. Think about Apple, how the iPhone makes such difference with other regular phones.
You have to make a choice between these two: to be linchpin or not to be. It is up to you.
If you want more details about linchpin, please read the book: Linchpin: Are you indispensable?
Also check this article: The indispensable Developer
And this: You are not your role