Just finished reading the book 'My Job Went to India'. I began to read it not sure if it would be any value for me in it (I am neither an 'indian' nor a 'US' developer). But the book is not for US people, it's for any software developer that want to make a 'career' ( and I mean 'non executive' career, to be clear). It's about how to stay on top of the things when the industry changes everyday, when the jobs migrate from one country to another, when younger, brighter developers get hired and talk about things you never heard of, making you feel like an old age dinosaur.
The core idea is that you should become a little bit of marketer, to build and to sell your own single product: yourself. Depending on how well you will do that the success will come or not.
First you should invest in your product: chose carefully what technologies to learn, become proficient in them, be aware when they start to fade and the next big thing begins to emerge. What is hot today might be obsolete tomorrow.
Understand the business process, cause they pay your check. Make the business persons comfortable by speaking their language instead of the geeky jargon we all find so dear.
Make the others aware of your brand (inside your company and outside, via forums, discussions, open source) (e.g. how does it sound 'I worked with Struts' vs 'I am a Struts committer' ) . Be a mentor for the others, share your knowledge, strive to make a little step forward every single day, learn to listen and to interpret the hints.
Some advices even sound counter intuitive like : strive to be 'disposable' (your code is so elegant everyone can work in it easily) or 'sometimes is better to work in maintenance instead of creating brand new functionality' (there are not the same process constraints in maintenance versus new code)
But let's stop rephrasing the whole book. Just grab it, read it and live by it: find your own spot and provide value in every way you can.