views:

752

answers:

16

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.

+2  A: 

Teaching is very good... but if you don't have people skills then do you think teaching is good for you?

More over you should be having enough experience to start a s/w consultant firm or may be start your own software firm.

Edit: Also even an off shored company does not do all the dev work.. Impress your management with your technical skills and you may become the architect who manages the engineers working offshore?

Shoban
A: 

Perhaps change jobs first not everywhere has bad project management and a lack of proper design process.

Then if this does not help go for it!

Paul Whelan
A: 

If you're "introverted and don't have good people skills", I think you're going to find teaching really hard! Other disadvantage of teaching is that you're forced to take holidays in peak times (which is really bad for skiing)

Ian Hopkinson
+1  A: 

I can appreciate the dilemma you find yourself, but I would question the idea of moving into a career such as teaching if you are not passionate about it. I have friends who work in teaching and the ones who enjoy it the most, and who are best at it are the ones who really want to do it!

Also, at the risk of sounding harsh, if you describe yourself as "introverted and don't have good people skills", would standing up in front of a group of children really be something you would want to do instead?

If you are not happy in your current position then perhaps a change of career is in order, but I would suggest that it would be worth finding one you really enjoy and which suits your personal skills.

chillysapien
A: 

Teaching in my view is very similar to a management job, just a heck of a lot harder. If you're willing to go in to teaching, I'd give IT management another thought. I am not sure if your concerns regarding age are warranted, what you need to do is raise yourself up to Guru level so that you're not competing even in the same league as the new graddies or offshore hired hands. If you're willing to go in to teaching that requires an extra degree, so consider taking a part-time one that will boost your worth in the IT arena - either management-related or more technical.

Hope that helps.

endian
A: 

If your current programming job is not rewarding, try finding a programming job elsewhere(while trying to assure your current job in case you can't find any).

Also, teaching is good if you like teaching. But if that's not a skill of yours, it can be a huge mistake(as in, losing a current job to switch to a worst one and then realizing it's too late to return).

@codege3k is also right about own software firms. But you may not be able to do this by yourself and without management/economic/peopleware knowledge, your business would be doomed.

I guess you can only assure you're a great programmer by learning and practising. Sorry if this is not very specific, but I guess it's the best advise I can come up with.

luiscubal
A: 

Though teaching can be a wonderful career, I've always found it an extremely hard one. I remember years ago teaching an introductory computer course at a local college. Though I can reach most students well, I had problems with one individual that completely skewed my reactions to the entire endeavor. I think that good teachers have exceptional 'people skills' and have to be able to relate to many different types of individuals. I ultimately abandoned any pretensions I had of teaching. Perhaps things would be different for you. A sister of mine absolutely loves the environment. She finds it intellectually stimulating to such a degree that she is postponing retirement until she reaches her mid seventies.

apolinsky
+1  A: 

I feel that you are deciding if you want to be a teacher for the wrong reasons. I think we can all relate to professors that would rather work with a particular subject than teach it. Especially compared to those teachers who really have a passion for teaching.

I feel that your real issue is with your current employment. My recommendation is to find another employer who satisfies your needs.

PaulWaldman
Yes, I acknowledge the comments about choice of career change, but I would like to try and use the existing skills/knowledge I have. I do have doubts about my ability to do the job effectively, considering my personality. I do enjoy mentoring other people though.
Hicks
A: 

I have thought about teaching as well but for different reasons, (I love lighting up faces when they learn something new). I was thinking of trying to find a part time job teaching at a local college to see if it suits me. Perhaps you can do the same?

JoshBerke
+3  A: 

I don't have enough influence to change any of these things.

Joel Spolsky's Getting Things Done When You're Only a Grunt refers to this situation,and gives some recipes. Eric Sink's Career Calculus also suggests that you will constantly learn new tricks. As someone who first was a teacher (albeit a university programming teacher) and then a programmer - First decide what you love to do (It appears to be programming). Then, try to acquire useful skills for this role. This is hard as it involves trying to predict the future. You may have pleasant surprises, though, like the demand for COBOL programmers around the Y2K problem.

Yuval F
A: 

I would strongly suggest that you not pursue teaching unless it is your "calling" or your dream. It won't be rewarding unless it's what you really want to do. If you think project managers and bosses are tough to deal with, just wait until you start getting budget directions from the government and you have to cut important content from your lesson plans.

Think customers are a pain? Try talking to parents who think their kids are unique snowflakes that deserve special attention, and when their kids misbehave, it's your fault.

Don't get me wrong: teaching is a rewarding profession with perks you won't find anywhere else. But you simply must want to do it. Anything less is a disservice to the kids in your class.

Robert S.
+1  A: 

In the US, maybe in the UK, where there are lots of cows, there is a saying: "The grass is always greener on the other side of the fence."

I've been a college professor, and it has pros and cons.

  • Pros: I enjoy conveying skills to students and watching them grow, and I enjoy the company of other faculty.

  • Cons: It is hard work - you can't have a bad day. Also, I never got the hang of "publish or perish", so I left it. Also, the students grow, but the teacher doesn't, necessarily.

Possibly at the secondary school level, at least you don't have the publishing bit.

As far as personality goes, it is fine to be introverted, but you need to really care about the students and seeing them grow. You should feel this way about all students, not just the "stars". SEE BELOW

If you feel your people skills are weak, that is easily fixed. I don't know if you have it in the UK, but the Dale Carnegie course is excellent.

ADDED: Some teachers were doing it for not very good reasons, like

  • They thought they were really smart, and needed somebody to tell them that, often. Students are good for that, because it's easy to impress them.

  • They thought they were really smart, and though they couldn't get a job at MIT, they figured they should treat students in a middle-tier college with the same sink-or-swim attitude. So they would breathe fire in the classroom & give too-hard problems, and figure it's only right if half the students drop out. Never mind that they've paid good money.

Mike Dunlavey
A: 

I've been teaching user interface design at university now for a couple of years. This far I've lectured the same course three times, and it's getting a bit easier through experience, but still I don't feel like doing this the rest of my life. I much prefer creating and learning new things, instead of teaching the same things over and over again. At least the kind of teaching where you stand in front of a class and speak, is boring to me. Some hands-on style teaching and consulting might be more interesting. Right now, my ideal work would be in a middle-sized software company doing user interface design and programming (at 50-50 ratio) in custom software projects. I don't mind doing some teaching jobs every now and then, but they give much work, little money and no new things.

Esko Luontola
A: 

Introversion and Leadership: Yes, You Can! is one of a number of articles showing that introverts can be leaders, so I'll disagree with you there.

Software development will morph in the coming years, I think. Does becoming an architect where you'd design the code but not necessarily write it appeal to you? That is another technical career path you might want to consider. Things like Sharepoint and ASP.Net weren't around 10 years ago and I kind of wonder how will we develop software in another 10.

I'm not sure about the UK, but over in North America I think the fears about software developers get exaggerated and overblown as if you are a good developer and in a large metro area then there should be some prospects, having applied for jobs in Toronto, Seattle, Vancouver and Calgary in my experience.

To remain a "rank-and-file software developer" isn't a good idea to me. I'd rather keep a list of things that I can bring to an organization with my experience which is more than just spending x years developing in something, it is learning about what works and what doesn't and how to salvage projects in some cases. The skills, both technical and non-technical, are important for me to keep an eye on what I like, what am I good, and what strengthens me which has a subtle variation to it. I think my own aspirations are more toward being an architect as I like making plans and then moving on to something else, but that's me. Another thought is to become a consultant that gets called in to solve a problem and then move on to something else.

Another factor to keep in mind if you do want to teach: What level would you teach? Elementary school, secondary school, college and university level? If I did become a teacher, I think the college and university end of the spectrum would have the most appeal for me.

JB King
A: 

You said yourself that you are an introvert. Teaching, which involves speaking in front of and constantly interacting with groups of people, can be quite taxing on an introvert. My advice would be to learn rather than to teach. Make sure you stay up to date on the latest technologies, and try to learn other programming languages. Put together a portfolio of code samples you have written, particularly ones that required innovative solutions, and try to keep the portfolio up to date. Even if many companies start to outsource to foreign countries, there will always be companies who want in-house programmers, who they can meet with face to face, and who they can hold personally accountable. I think your goal should be to remain competitive in your current career rather than trying to change careers.

Of course, if teaching is something you have always wanted to do, or something that you feel passionate about, I'm sure you can get past the introvert obstacle. Teaching can be rewarding in many ways, although it can also make some people feel unrewarded, because of the low pay and the way teachers are sometimes treated as fungible commodities rather than individuals.

If you can't make up your mind any other way, I've written an electronic coin toss game you can use. . .

Tom V
A: 

I've been a developer for about 4 years now. For what it's worth the best time of my life was when I was going to school and teaching math on the side. I was taking the bus a long distance to teach math for a few hours a day. This was in a crappy part of town so the schools didn't have good math teachers... so I was helping the kids a lot. That was probably the deciding factor.

MrDatabase