Ask Slashdot: What Training Helps Older Programmers Most?
brown.dragon is an older programmer moving to Australia. He writes:
I want to start an online solution that other programmers find helpful, and right now I'm wondering if I should go with "learning new technologies" or "getting really good at the basics". Both are targeted towards giving a career boost to older programmers...
Would you like to keep in touch with the latest technologies because that's what makes it easy to get jobs? Or would you like to be really good at answering (Google/Facebook/Amazon) algorithmic interview questions?
He asks programmers looking for an online educational tool, "which of these (if any), would interest you?" So leave your answers in the comments. What training do you think would help older programmers most?
Would you like to keep in touch with the latest technologies because that's what makes it easy to get jobs? Or would you like to be really good at answering (Google/Facebook/Amazon) algorithmic interview questions?
He asks programmers looking for an online educational tool, "which of these (if any), would interest you?" So leave your answers in the comments. What training do you think would help older programmers most?
that's you're best bet. Just keep writing software. The best way to learn is by doing.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
Most programmers I know can pick up a new tech in about two weeks and be average at it automatically then gain mastery of it over time. There's no need to have a tutorial because there are plenty out there already.
Personally, I do so much hands on coding and software engineering that I forget the terminology they used in college. I know how to do the stuff, but I forget the definitions they used. Its kinda embarassing in an interview to not know what they're talking about because I forgot the word they use for something super basic. There's webpages for this too. Not to discourage you, but older programmers can train themselves in just a few days if they want to.
Its not like older programmers today haven't been exposed to OO or something game changing. I'd even imagine older coders can pick up new techs faster than kids out of college just because of a lifetime of experience.
God spoke to me
Older programmers know the basics and they know how to learn new technologies. Matter of fact, that's precisely what they know. Those who don't move into management before they become "older programmers".
There's always a need for better learning tools. But tools for "old programmers" doesn't make any more sense than tools for female coders.
You should ask "I've got this bunch of folks with 10-40 years experience. How do I make them most productive?"
I've been around for, jeez, 38 years now. I'm really good at C, C++, Java, RTOS systems, embedded systems, device drivers, talking to hardware in general, and meeting avoidance. I'm not good at "team building", "Agile development", "Synergy", "open office", "ping pong", "free cokes".
Tell me what you want me to do. I'll give you feedback on how reasonable your desires are. I listen to you, you listen to me, you give me a nice quiet place to work, and stuff happens.
It's about the increasing biases in the industry that assumes that older programmers just can't possibly pick up new technology without a lot of help. It's quite the opposite in many cases. As if somebody that started programming hasn't moved from language to language multiple times. They understand the fundaments, and they don't just chase one trend after another. They have a good sense of what is mature enough for consideration and what isn't.
They know that programming all the time not only isn't necessary, it is detrimental in the long term.
What Training Helps Older Programmers Most?
Physical one. Running or even walking would be a grate start.
Disclaimer: didn't RTFS
The simple fact is that as we age we become less able to pick up new things easily.
I've yet to see much evidence of that. I see a trend for more experienced people to be less willing to learn lots of new things all the time, but that's partly because they better at recognising potential. They know that a lot of the heavily hyped new things in the tech industry aren't really new at all and/or probably won't last five minutes. They know there will be plenty of time to learn the ones that do have staying power, if and when they need them. In the meantime, they tend to prioritise using and learning those things that will actually help to get the job done or done better. This, grasshopper, is the difference between knowledge and wisdom. :-)
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
I find that older people are better at picking up new things. They have a lot more experience and context than someone still wet behind the ears, and if old enough, are also used to figure out things on their own, because there was no training. In fact, they may have a harder time with training than without. Give them a man page, not a teacher.
The main problem I see is letting older people do something new. They tend to be experts at things that requires experience, and which is vital for the business. So they aren't allowed to move away from that.
Javascript baffles many "older" programmers, usually it's something along the lines of "Why the fuck is this godawful shit-show of a language so widely used?"
[FrLz]
I am shocked at the number of 20 somethings that are a decade or more out of date. I am not talking about jumping on the latest and greatest, node.go or whatever, but simply aren't using the latest version (often off by years) of their existing tools. I am not talking religious wars such as C++ vs Java, but programmers who aren't using testing, not using any code analysis tools, not using patterns properly, using globals like they were bicyclist in a performance enhancing drug mart, and all the usual bad practices.
Then to make it worse they will use "modern" techniques like they are some magic spell. If you way-over apply the technique, then it will magically make up for the lousy choice in just about everything else. Let's use multi inheritance OOP on our single SQL call to the single table in the single database. Or let's use the factory pattern for what should have been a single function that takes one parameter.
I am not leaving older programmers out of this. Usually there are subtle differences. They don't realize that things have massively changed in the last 10 years. Threads aren't bad, the GPU can do stuff, disk is pretty much free, don't conserve memory in your single purpose server with 32GB and your application is only using 2.
My advice for any programmer, young or old, is to be flexible. A great choice may not really be the great choice, it may be an illusion. So be prepared to change. And experiment. Lots and lots of experiments. Try out new languages. Try out new datastores. Try out new OSs. Try out new IDEs. If you see the cool kids doing something that requires a fundamental new skill that you don't have, then learn the fundamental new skill. With ML you need linear algebra and some calculus to really get to the meat of the subject. So learn the libraries and if they seem like your future, learn the fundamentals.
To be a great programmer you have to be both a specialist and a Renaissance man. So nail something like C++ networking(as just one specialist example), but make sure you can configure a database, set up a server, program in Python, etc.
Then there are the domains of knowledge. This is where it can get tricky. Do you perfect the game industry, or do you jump from games, to banking, to engine control units? We all know that having a diverse experience will really help. I am dead certain that what you learn in games could easily bring some wildly creative approaches to engine control units; yet the HR types are "How many years have you been working with ECUs?" I have successfully leapt more than once from pretty fundamental tech to completely different fundamental tech. Not easy, but very worth it.
How to recognize when a company quietly labels you an "older programmer" rather than an "experienced programmer".
Don't waste your vote! Vote for whoever you want, unless you live in a swing state it won't matter anyways
HIndi and Urdu are essentially the same language, genius.
And FWIW, I have numerous Indian colleagues whose English is just fine, no more or less "bad" than that of any of the other dozens of non-native speakers I work with daily. Possibly because English is one of India's official languages.
Il n'y a pas de Planet B.
I had my 66th birthday, a week ago. So, officially in the UK, I'm retired.
However, I still program and still learn new stuff, at the moment a lot of technology around the Raspberry Pi. I'm also a philosophy undergraduate and, as such, I have to do formal (propositional and predicate) logic, so I'm refreshing my Prolog a little, because we're going to do a workshop for some of the other students.
I don't consider myself to be particularly bright, but I do enjoy technology (and learning, in general) so I'm self-motivated by curiosity. My feeling is that motivation will probably matter more than age, if the person isn't somewhat engaged, they probably are not going to learn. It's one of the big dangers of doing something just because it's well-paid. I've been lucky, working at something I like and it's pretty well-paid as well.
On y va, qui mal y pense!
Succinct summaries of new (but proven) technologies & techniques. For me it's less about how to learn, and more about what to learn. Having an idea of what new technologies & techniques have been developed (and/or are becoming popular), what problems they solve for me, what trade-offs are involved, and what alternatives exist, helps to direct my learning. In other words a trade or hobbyist magazine that focuses on focuses on technology in the 'early majority' area of the adoption curve, across programming disciplines.
i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
What Training Helps Older Programmers Most?
Here's your answer: Stop thinking of yourself as older!
When we get older, there are several hurdles we need to pass, one of them is our mindset. If we see ourselves as "older" instead of more experienced, we will often display this trough our actions and our talk with others. People will then also perceive us as "older" rather than experienced.
If youre the "go-getter" type that will rater spend time solving tasks and problems than spend time on age related issues, you will soon forget age. Sure, the occasional aging symptoms like back pains and other irritating signs of age will remind you, but if you try to stay healthy and fit - you need not remind yourself of this and others will take no notice of your "age".
Im in my 50s now, and people often remark how young I am, why? Its my attitude. I get things done, I have fun with my coworkers, and I totally forget my age. In my mind Im not a day over 20.
Those companies who miss out just because of ageism - will lose big money on it, not to mention sour up their own work-culture as everyone will be afraid of becoming older rather than embrance this valuable experience. Those companies have a tendency to fail in other areas too.
Your best training - is your mindset.
What this world is coming to - is for you and me to decide.
Apparently to code with kids these days you need to deserve the title of "ninja". So I recommend ninjitsu training.
The simple fact is that as we age we become less able to pick up new things easily.
I've yet to see much evidence of that.
You've never seen an old person on a computer or smartphone? Compare that with your average teenager, there is an obvious pattern there.
The average teen is using Snapchat or whatever this year's trendy messaging app is. The old person is using the phone as a phone to talk to people. Neither has any technical knowledge.
We're not talking about them. We're talking about old programmers and young programmers.
Based on my observation of "older", (I'd prefer to use "senior" or "experienced") programmers, I'd say they fall into two camps:
(a) The guys with 20+ years of experience, who is comfortable with his technical competence and does not want to move into management. They stay current on what they need automatically, and get the job done.
(b) The guys with 1 years experience 20 times. They stopping learning a long time ago, and you cannot help them.
So the first group is your target; what I've often observed is that their meeting and PM skills could be improved; hence their contributions (direct and indirect : how often have you seen a "senior guy" make a quiet suggestion that headed-off disaster?) are persistently under-estimated...
Overall decline in health is, what threatens aging professionals the most — not ignorance of the exciting new technology of the week. Learning a particular tool has never been especially valuable — education is supposed to teach you one thing, primarily: how to learn new things on your own. If you are a developer already, you must've mastered that long ago.
So, strength training and regular walks and/or yoga (while still legal).
In Soviet Washington the swamp drains you.
In my case, I can say that the main issue for me has been having a child. We have children later in life nowadays and I think some of the problems that people associate with older employees may have less to do with age and more to do with family.
When I did not have a child, I was an extremely reliable employee. I could work the whole weekend in an emergency if something needed to get done. If I told you a problem was going to be solved come hell or high water, it would get solved. I could stay up all night trying to fix it. I would also spend a lot of my personal time learning new technical skills, reading about new trends, working in projects etc. I was very punctual and I was pretty much guaranteed to be in the office at the very same time every single day. Life is completely different now and my child is my number one priority. If she is sick, either my wife or I need to stay at home with her. This can happen at a very short notice. If it is time to pick her up at the daycare, I have to drop absolutely everything in the office and rush out the door. I no longer have any free time available to invest in my hobbies and interests (and learn new things as a result).
These are problems that have long impacted women in the work place. They were less likely to be promoted in part because the employers did not know what kind of commitment women would be able to offer after having a child. Nowadays, we live in a more equitable society so the burden of raising children is split equally between parents. I am not saying this is bad thing but the result is that both parents are no longer able to fully commit to their careers after having children.
I love my child but the reality is that I am a shittier employee after she was born. The reality is also that I no longer care that much about my career. I will not make any sacrifices that could impact my family. If I were a manager, I would probably prefer to hire a younger person with no children simply because I believe I would be able to get more out of them (and perhaps for a lower price).
As an older programmer if I need to learn a technology I learn it! The problem I face is the amount of ageism in this industry! Once you're over 40 most firms just don't seem to be interested.
Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.
Same is true in my experience. It doesn't matter what your record of accomplishment is either -- in fact it's almost a handicap to have an impressive resume when you're older.
One thing I noticed is when it started to get harder to get interviews, when I did get an interview everyone would seem excited about bringing me on ... except the hiring manager. The first time it happened I thought it was a fluke, but after it happened a number of times I realized: nobody wants to supervise someone with more experience than they have.
So my advice to older programmers is: don't put your hopes in gaining even more expertise. It works against you. Start your own business, or get training in some other kind of job.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
Get into contracting, where experience is very much valued.
If you have a clean record, get into GOVERNMENT CONTRACTING....you can make good money there, and contracts are long lasting (years at a time).
Do make sure to incorporate yourself first.
Light travels faster than sound. This is why some people appear bright until you hear them speak.........
Right, if you're scared about facing uncertainty with 3 months of notice, do not try to be a consultant. You would probably die of a heart attack the first year. Try to understand: if you had the personality for consulting, that would sound like a great deal to you to just put in your notice and have 3 months to get everything ready. After all, if you have the personality to be a consultant, you already save more of your money, and have some set aside for unexpected externalities. It isn't like a contractor works constantly anyways! You have to be ready all the time not to have a contract, not only after 3 months of preparation.
I'm an old programmer (first computer I ever wrote programs on used punched card decks), and ideally the best training for me would actually be training for the hordes of younger programmers who have no real interest in programming except as a paycheck, and who don't have any real deep understanding of how computers work - and who also write very bad code. There was a time, a golden age in computing, where almost all the programmers were college trained engineers, scientists and mathematicians who were really interested in working with computers, and brought all sorts of deep skills to the table. Today, not so much...
There is no God, and Dirac is his prophet.