Ask Slashdot: Am I Too Old To Retrain? 418
Talcyon writes "I'm a 40-year-old developer, and it's become apparent that my .NET skillset is woefully out of date after five years of doing various bits of support. I tried the 'Management' thing last year, but that was a failure as I'm just not a people person, and a full-on development project this year has turned into a disaster area. I'm mainly a VB.NET person with skills from the .NET 2.0 era. Is that it? Do I give up a career in technology now? Or turn around and bury myself in a support role, sorting out issues with other people's/companies' software? I've been lurking around Slashdot for many years now, and this question occasionally comes up, but it pays to get the opinions of others. Do I retrain and get back up to speed, or am I too old?"
Re:You Tell Me If You're Too Old; What Is Your Goa (Score:5, Informative)
.NET 5.0 isn't *that* different from .NET 2.0 (Score:4, Informative)
Which tells me it's not your age ... it's your ability. You have none. Oh, and I'm a 45 year old .NET 2.0 developer who has just learned .NET 4.0 for a new job, with a 20% raise.
Train != Retrain != Versataile (Score:4, Informative)
Your in technology, like it or not this is a field that requires more continuing education as a matter of course (if not law) than a lawyer or a doctor. You should never ever be retraining or training. Instead you should constantly be working on your next thing skill and never ever become complacent.
You can't afford to work in this field in a job where you know everything. You have to find a job where you have 80% of the qualifications so that you can learn the other 20% and expand your skill sets. If you don't you become the expert who is 100% qualified at something that was relevant five years ago. The expert who is 100% qualified is also known as tomorrows dinosaur.
Never, ever rest, never ever allow yourself to be in a position where you cannot be challenged. Whatever job you find, it has to be one where you are picking up new skills and learning new things - whatever those new things are.
I have also learned it can help to talk to your managers and explain that you want to start learning more about the business side or whatever else you have an interest in. It is called initiative and it will set you apart from all the other people that show and simply do their job.
clueless? (Score:2, Informative)
Implied are
Why this unclear statement? I will conveniently jump to conclusions and say: this person is a mediocre developer having only done some VB.NET stuff and can't make the jump to
Re:VB.NET ? Seriously ? (Score:3, Informative)
Re:You Tell Me If You're Too Old; What Is Your Goa (Score:5, Informative)
The problem is not whether he can actually retrain himself, but whether someone will hire him for his new .NET skills. 40 year old junior - or even regular developers - are rare: they normally want to be paid more than kids out of school, but don't have the productivity of the old .NET hands. Furthermore, even if he were to become a .NET expert, many companies feel that it is more efficient to hire a kid with some .NET experience right out of school and pay them a pittance, instead of forking of lots of money for an experienced developer.
A developer at age 40 should be getting very concerned about his/her career path. Old coders are not very common, and there's not much interest in hiring them. Architect is a very different skill set, and something that people are willing to pay an old person lots of money for.
So my recommendation: retrain, yes, but retrain with an eye on running developers, not being one. And by the way, being a people person is not a requirement for managing people. The question is, can you get them to do what they need to do, and can you remove roadblocks that hinder their productivity? Oh, and if you want to go into management, get an MBA. It's just a piece of paper, but unfortunately, it's an important one.
Re:You Tell Me If You're Too Old; What Is Your Goa (Score:4, Informative)
You know, 40 wasn't where it it me. It was about 46 or so. And then it HIT me. I love learning, so don't get me wrong, but a couple years ago, I really noticed that stuff was just not sticking like it used to. Abstraction helps, but specifics come and go. I no longer try to remember them, Google search everything.
I'm 42 now, and have had a full-time .NET dev job for the last year. Before that, I was going back to grad school for a degree in Computer Science. I loved the education environment, but left because a) I needed the money (loans were stacking up), and b) this was just about the ideal position.
On top of that, I have never worked with .NET before, but the business was willing to take a risk because they needed the experience and were setting up a shop to take over a lot of legacy tech.
Turns out it was the best move I could make. There's only one other developer in the group my age; the rest are in their late 20s to early 30s--several with .NET only experience. But the other "old" guy and myself are pretty much running the place from an expertise point of view*, because depth of experience can matter more than single-language expertise. An array is an array, string functions work pretty much the same across the board, and it's more a matter of Googling "How do I do X in .NET?" than trying to figure out what the hell you need to do in the first place.
If you love learning, you never get stale; if you're tired of or worried about learning, find something that will excite you enough to want to learn how to make it happen.
* This is not to say that I am all that and a bag of chips--I struggle with the way .NET handles certain things, but I enjoy learning how to do it. And, if something isn't working, I can usually figure out what is going wrong on a fundamental level instead of just throwing in a cookbook answer and saying, "Magic happens..."
Also, I am sure that in a heavy .NET shop that's been around for a while, the story would have ended with me as "that old guy who didn't know what LINQ was," but my point is that it's not all doom and gloom.
Re:.NET 5.0 isn't *that* different from .NET 2.0 (Score:4, Informative)
I imagine he's concerned that his old .NET 2.0 skills (where you programmed) are now replaced with .NET 5.0 skills (where you write config files that magically make a framework do stuff). and if you don't know how to work VS to the level his colleagues expect (as they're busy busy busy reading the latest codeplex and msdn and other MS sites to keep up) then he will find it difficult.
My new place, I'm dropped into a world where VS is king, and if there's a way to do it in VS, sure as hell a setting to reference a project is there, linking things together with some magic, that if you get wrong ever so slightly, will bollocks the whole thing up royally.
Mind, I'm coding with WCF frameworks against unit test frameworks with database frameworks all linked with VS magic, and we still have to generate an old-fashioned sql file for deployment (as the DBAs rightly expect to know exactly what's going on and would never let a generated auto-deployment project run on the live servers. Can't blame them really... it begs the question why I have to generate such crap only to do it manually all over again... but I know the answer.. VS has the bits to click, so someone has decided they absolutely must be clicked!)
So, maybe he's an old kind of guy, the one who thinks you write code by, well, coding.
Still, here's hoping MS's C++ renaissance will blow all that away and I can get back to writing performance-oriented services instead of 'generate a project for me' services.
Re:You Tell Me If You're Too Old; What Is Your Goa (Score:2, Informative)
I'm 63 (cut me in half and count the rings), and have been doing maintenance programming for 40 years. If you can't learn to translate to new language and styles, then you should never have gotten into the business.
I am 63 (Score:3, Informative)
When I think back at the times I most enjoyed, it was when I was engrossed in designing or coding, whether circuitry or software. Is that true for you? Questions such as that are what you need to ask yourself. If not, well, try to think of other options.