I work as a Software Developer, and have been with my company for about 7 months. I would describe myself as a Java developer. The company employs around 2000 staff, and has quite a few software products.
For the first 5 months, they had me working on a Java project. The lead in time was about a couple of weeks. That project ran out of money, so I had to be moved to a new project.
About 2 months ago, I was moved to another Java based project. It took me about a month before I felt I had learnt enough to be productive. Last week, I found that this project too had to let go of staff (as the client had stopped paying us money). I am now "on the bench" and have been told to concentrate on training.
I find it quite disruptive to be moved to new projects every few months. It takes me time to get settled and to fully understand the work I'm doing.
I've now been approached by an internal manager, asking me to work on a C++ project until Xmas (i.e. about 6 weeks). I've not worked with this language for 7 years, and then only as part of my degree, so (admittedly, without knowing much about the work in question) I suspect it would take me quite a while to get up to speed.
My question is, when you are "on the bench", should you take any reasonable job offer that comes along?
Some more background. I feel I am socially anxious, and I worry about what is expected of me in certain situations. If an internal manager is "offering" me a role, is he or she really giving me an instruction, or is it reasonable to turn things down. I am a good, mid-level Java developer, and I prefer working on projects where Java is a core component. I usually feel anxious when I join a new project, and I feel there is an expectation on me to be productive from day one, which I realise is unrealistic.
I realise that if the company doesn't place me in a new project within a reasonable timescale, that there is a reasonable chance I will be made redundant. I'd prefer that didn't happen right now, but if it happens I could live with it.