I'm 42, and employed as a Java software developer (in the UK). Recently I've been contemplating my future, and wondering if my employment prospects may become limited as I get older. I'm worried about the trend in off-shoring development work, and conscious of the fact that I will be increasingly competing with graduate developers and migrant workers on a fraction of my salary. I don't have any aspirations to move into management, in fact I doubt I'd ever be selected for such a position, as I am introverted and don't have good people skills. Besides, I enjoy the hands-on technical aspect of the job i.e. designing and writing code.
Also worrying is that my passion for the job is becoming jaded, due to a combination of bad project management and lack of proper design process (i.e. let's just get in there and hack out some code, as we haven't got time to design anything properly). I don't have enough influence to change any of these things.
One possible career change I'm considering is teaching. It wouldn't be a natural thing for me to do, but I would view teaching as a more secure job than being a developer in the longer term. I do not want to reach 50 and realise I can't find work in software development (I know someone in this situation). However, the teaching profession in the UK is not in a happy state, with teachers complaining about bad pay, and intrusive Government initiatives. (I realise I would be taking a massive pay cut, but if the job was rewarding, I could live with that).
Sorry about the long rant, but I feel I am at a crossroads in life, and would appreciate some comments on the direction to take. Are my fears justified about longer term prospects for software development? Would you think it's a good idea to remain as a career rank-and-file software developer?
Edit: Don't know what I was thinking. Teaching couldn't be a worse career for me. I still have big doubts about the longer term future for me as a software developer though.