Ask Slashdot: Becoming a Programmer At 40?
New submitter fjsalcedo writes "I've read many times, here at Slashdot and elsewhere, that programming, especially learning how to program professionally, is a matter for young people. That programmers after 35 or so begin to decline and even lose their jobs, or at least part of their wages. Well, my story is quite the contrary. I've never made it after undergraduate level in Computer Science because I had to begin working. I've always worked 24x4 in IT environments, but all that stopped abruptly one and a half years ago when I was diagnosed with a form of epilepsy and my neurologist forbade me from working shifts and, above all, nights. Fortunately enough, my company didn't fire me; instead they gave me the opportunity to learn and work as a web programmer. Since then, in less than a year, I've had to learn Java, JavaScript, JSTL, EL, JSP, regular expressions, Spring, Hibernate, SQL, etc. And, you know what? I did. I'm not an expert, of course, but I'm really interested in continuing to learn. Is my new-born career a dead end, or do I have a chance of becoming good at programming?"
I'm happy for you and your new career. Get ready for a nonstop list of reasons why you're doomed, but don't listen to them. If you love what you're doing, do it. Make your own success. Ageism is as bad as racism, and just as illegal.
Success has an element of surprise to it, but its not entirely out of your control either. My caveat is the argument that what you learn when particularly young is what you'll be a natural at the rest of your life. Learn a 2nd language before 14 years old and your entire life, new languages will come easily and without notable accent... but learn 2nd after 14 and it'll be hard, most will give up, and even those who succeed maintain a lifelong accent. It's a brain chemistry and stage thing. Programming is an analytical and problem solving sort of thing... if anything you've done during your developmental years is similar, then it shouldn't be hard for you to adapt now, really... and as with french and spanish and italian, the differences between, say, perl, python, javascript and php are not significant enough to deter you... the LOGIC behind them will be familiar... the differences are more in context, strengths, and dialect.
Go for it. If you're willing to learn new things, then age should be no obstacle. Indeed, I suggest that even older people (in their 70s and 80s) learn programming, as by exercising the brain, you may prevent certain brain problems (like dementia).
You might not be able to work as many hours as young folk, but if you're willing to work, and to continually learn new tricks and ways of doing things, then I can't see it as a problem.
Anyone who says that you are too old is at best an idiot, but maybe someone who just wants to take your job. Don't let them, prove the bastards wrong.
HELP MY ACCOUNT HAS BEEN HACKED BY AN ILLIBERAL ART STUDENT SET TO DESTROY THE INTERWEBZ!
Since then, in les than a year, I've had to learn Java, Javascript, JSTL, EL, JSP, regular expressions, Spring, Hibernate, SQL, etc. And, you know what? I did. I'm not an expert, of course, but I'm really interested in continuing to learn.
Go forth and prosper. Programming is not like professional sports or the ballet, where there are only a few hundred jobs nationwide to go around.
Even someone that is 70 can learn a new programming language and thrive. The only advantage the youngsters have is the ability to adsorb the information faster, they cant learn more, they cant do more.
Problem is you as an older person will not happily take abuse from management, thus you are less desirable than a young fresh out of college kid that will take epic levels of abuse and not complain.
Do not look at laser with remaining good eye.
Is my new-born career a dead end?
Yes. But your old career was a dead end. All our careers are dead ends. Life is a dead end. We all have to deal with it. You can give up, or enjoy what you have while you have it.
Do I have a chance of becoming good at programming?
Without knowing more about you, I'd say a slight chance. But I'd say the same for a fresh graduate from some top engineering school. Good programmers are a rare find. The best we can hope for is your maturity and experience leads you to spend more time considering edge cases and maintainability and less time trying to impress people with cleverness and flash.
Your company sees you as worth investing some time/training in. That speaks well of you and of the company. If you didn't at least have some level of competency they would not have been interested in training you, but (and I'm totally guessing here) you apparently show up to work and make a contribution.
So yes, be a programmer! If you're really cool we'll make you a brogrammer.
Most of the ageism seems to come with the hiring company. If you're at a company that's already supporting you, and it appears they are, then you're not going to have problems as long as you stay. Obstacles may only start to crop up if/when you want to move. Even then I think the horror stories are exaggerated - we've got programmers in their 40's or 50's here who were relatively new hires, but we're a smaller and perhaps nontraditional company. I think you ought to still have plenty of options, but you may struggle if you try to pick certain large and established firms with a reputation for ageism, including most of the gaming industry.
Best of luck to you! I'm actually still pushing back my plans to reinvent myself as a programmer (trying to get through kids before changing career paths) and I know I won't get to it before I'm 40. Despite the general negativity about my prospects, I don't expect that to stop me from eventually making the transition.
The Quirkz Handbook of Self-Improvement for People Who Are Already Pretty Okay
Like there was any fundamental difference between hardware and software engineering.
Indeed. I do both hardware and software.
When I do software, I sit at my computer and type C.
When I do hardware, I sit at my computer and type verilog.
The main difference is that C code is executed in sequence, but with verilog it is all executed at the same time.
I expect to be replaced by a robot sometime around 2030.
Yes, the guy should totally judge his employability by a theoretical programming robot that doesn't currently exist.
It's better to vote for what you want and not get it than to vote for what you don't want and get it.
- E. Debs
The difference between a 20 year old coder and a 40 year old coder is usually 20 years of coding experience. That usually entails not doing silly things like pushing untested junk to production. Instead, it is pushing well-tested junk to production.
However, if this guy is just starting at 40, he may have more things in common with the 20 year old than the other 40 year old coders.
I made the transition at about age 40, 25 years ago, and it was an excellent career move. But I also spent some time taking CSci courses as a part-time student. There are important issues you should understand that are not in any programming-language handbook or website. These include the problems of concurrency (race conditions, deadlocks), complexity of algorithms, and the basic data structures. Good luck to you!