
The American IT job market is slowly coming apart at the seams, and it's all our fault. Most of us have been stumbling around letting our careers take us where they may, and now we're surprised when our companies are shipping our jobs overseas for a fraction of the price. It's time to take control of our careers, and in the process, learn to stay both relevant and employed. This book will show you how to take action to avoid becoming yet another casualty of offshoring.
I'd also recommend "The Career Programmer": The only book I've seen that deals with a realistic view of programming in a corporate environment. For example, what to do when your boss stops you in the hall and asks, "We need a tool to do X. How soon can you get that done?" It's subtitled "Guerilla Tactics for an Imperfect World", which is _just_ what you need to break free of the fantasy land that books and classes put you in. (APress publishes this.)
And don't be fooled by the title: "My Job Went to India And All I Got Was This Lousy Shirt". It's the distilled experience of a programmer who spent a year (or two?) in India when his company outsourced code, and sent him to manage the new group. There are some really important tactics inside, like the chapter on "reading the boss's mind". You don't really, of course, but it explains how to capitalize on "wouldn't it be nice if we..." throw-away comments in meetings. (Pragmatic Programmers publish(ed) this one.)
Oh, and don't be shy about using the Internet Archive to sample all the books recommended in this thread. I haven't seen any bad recommendations, but you don't want to spend more money or read more pages than necessary. The IA will help you decide which books answer your needs the best.
Good luck!
Always be the worst on your team.
The idea is, of course, not to suck but to put yourself on a team with people that are more awesome than you, because that's how you grow. People usually do a double-take when I quote this, though. :-)
The bullet points all sound like typical developer gripes, except being forbidden to talk to team members means one of two things: 1. Management is all messed up and is attacking 'troublemakers' instead of the problems. 2. Your coworkers have complained to management that you are a ball of negativity that they don't want to hear.
Read the book "My Job Went To India". It's a great book for career planning and it'll help you figure out whether you're in 1 or 2, I can't guess which. If it's 1, you can't fix it, you need to find a company with a healthy culture. If it's 2, you need to start fresh with a good attitude at a new company.
Best of luck with your career.