Why Coding At Fifty May Be Nifty
theodp writes "Enough with the dadgum naysayers. Google's Vivek Haldar lists some good reasons for why you would want to program at fifty (or any other age). Haldar's list would probably get a thumbs-up from billionaire SAS CEO Jim Goodnight, who had this to say about coding when interviewed at age 56: 'I would be happy if I just stayed in my office and programmed all day, to tell you the truth. That is my one real love in life is programming. Programming is sort of like getting to work a puzzle all day long. I actually enjoy it. It's a lot of fun. It's not even work to me. It's just enjoyable. You get to shut out all your other thoughts and just concentrate on this little thing you're trying to do, to make work it. It's nice, very enjoyable.'"
... and still coding
This just in, programmers would prefer to continue programming at 50.
And so if you keep programming, you keep learning and stave off brain rot.
Do it yourself, because no one else will do it yourself. [beta blockade 10-17 Feb]
Asking whether geeks should still be coding at fifty is like asking if people should still be having sex at fifty. The answer is stupidly obvious. OF COURSE we'll still be coding at fifty! It may seem revolting to younger folks, and lord knows it does take a little longer to get going. But once we've hit that groove, baby, we're not done in 30 seconds. No, we work that algorithm, and we know how to do it, too. None of those stupid mistakes we made during the frenzied, sweaty all-night coding sessions of our youth, blindly swapping pointers and hoping to avoid another premature segfault. Oh, no. And none of that I'm-too-hot-for-you arrogance, either. We leave our customers satisfied, because - take my word for it - that's the only way they're coming back for more.
... Tragically, of course, if you're a fifty year old geek, coding is as close as you're getting to sex for the rest of your life....
*SOB*
Crumb's Corollary: Never bring a knife to a bun fight.
Many people move on from programming to management or entirely other careers because it is so hard. What makes most existing systems hard to develop is the unnecessary complexity, lack of or overabstraction and negligence of test code. Management coming from such mess and never seeing anything better can not strive for anything better. It is hard to navigate such an enviroment and stay sane and become productive. Once you succeed it is highly rewarding to coach younger team members. I'm living proof of that and there are plenty more at least in the Finnish agile circles. Career age would be of essence to anyone looking for real successful team leads.
I was the real korpiq until I woke up clowned.
If coding is like typing for you, you've never done any real programming. Coding is about thinking out elegant solutions to interesting problems. I don't think that's boring at all.
assignment != equality != identity
As for me at 48, sitting in front of the computer all day just pains me - literally. No matter how often I take breaks, I have a lot of tension that runs down from my neck to my ass.
That's exactly how I felt at age 19 as I was stacking 80 pound salt bags on pallets for roughly $5/hr. About a week after I got my first "real" desk job, the most surprising observation I had, other than the obvious "now I take a shower before work rather than after work" was that I wasn't in some level of constant pain. Getting old is no fun but it beats the alternative, and I'm not thinking there's anything that can help once you get old enough, by that I mean that stacking 80 pound salt bags would probably just kill me at my current age, not make my back feel better. I had back problems a couple years back until I (re-)started serious (as in, need a shower afterwards) weightlifting during lunch hour, the key being if your physical therapist says do X Y and Z do exactly X Y Z no improvising or excuses.
I can't wait for the day when I can tell the computer verbally or draw a picture the algorithm and never ever have to type another line of code - ever.
The bandwidth for that is almost infinitely low compared to typing. You'd basically have to invent your own glyphs and language, or spend hours drawing thousands of pictures. You may want to look into the CAD drafting profession, where you get to spend hours drawing the equivalent of a couple lines of text. Another fun one is wedding photography.
Also try a less verbose language. I've seen 1000+ line java programs replaced by about 5 lines of Perl/CPAN... two use statements, two cpan calls, and an immense line noise appearing regex between them. Unsurprisingly, neither extreme is healthy.
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
It also pains me intellectually and emotionally - it's boring.
I'm the same age as you, and it sounds to me like you're working on things that don't interest you. I like coding, as long as what I'm writing is solving an interesting problem.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
I hope I'm still solving little puzzles like that when I'm 50 but I also solved those when I was 25. There's nothing wrong with that, but if that's all you do then you're probably going to be at the same point career and pay grade-wise at 50 as at 25. If you've become the CEO of SAS, that's probably because you're solving a lot of other issues that you couldn't solve as a 25 year old. If you have experience, you have to find positions where that gives you leverage and not all of them are like that. It doesn't matter if you've been flipping burgers for 30 years and perfected your burger flipping technique, you're still very replaceable by a newbie. If you want to be a coder specialist, make sure it's a specialist job and not just writing your average glue code. It's easy enough for the CEO to say that, he can pick whatever problem he finds complex and interesting to do as a hobby, the actual employees don't have that luxury. Unless you're talking about working on an OSS or pet project outside of work.
Live today, because you never know what tomorrow brings
Switching between languages takes time. Programming Java, then C, then Assembler... It takes me a solid 4 hours to switch between languages if I have to do anything complex. If I have been coding in C for months and then Oh here's a new embedded project we need done in assembler... My brain doesn't have the drivers loaded for assembler and it has to search the tape backup archives for that driver and load it into operating memory.
Then I hit the ground running full speed.
Back in my 20's I was able to switch language sets at random within a moment's notice. In fact I was at one point writing in 3 languages at once. 4GL for the accounting system, C writing printer drivers for that Xenix 386 OS we were running at the office, and assembler for my 68hc11 wyse terminal multiplexer. I figured out how to get 16 text terminals to communicate uber fast speeds over a single pair of dry copper wires from the main store to the second store location. But then I also did not need coffee and drank an epic amount of beer and rum every day...
Do not look at laser with remaining good eye.
. Coding is about thinking out elegant solutions to interesting problems.
On very rare occasion.
The rest of the time it's tapping out boring and obvious solutions to depressingly uninteresting problems.
Salt in the wound: The longer you're at it, you'll find that more problems that once would have been interesting are simple and terrifyingly dull.
My advice? Switch fields as early as you can, write code as a hobby. You'll want to kill yourself after a few years otherwise.
Required reading for internet skeptics
coding used to feel like freedom because of all the possibilities, and now it feels like chains because of all the same old hurdles..
I'm starting to have fun finding cunning ways of working around the hurdles now that I didn't have the experience to make work in the past.
I try to make time to try out my own ideas and to explore away from work. I find it keeps me refreshed and interested.
Stick Men
How sad for you! I'm 50+, and still find coding to be "thinking out elegant solutions to interesting problems"
"Send an Instant Karma to me" - Yes
Waiting for some old guy to fix all those "elegant" solutions.
The flip side of that is, who'll hire a 50-year old coder, or even keep him or her on the damn payroll? Even at reduced wages it's a crap shoot.
... and I've gone back to coding. I'm good at it and I know I'm good at it. I'm only 56 now, but I expect to be still coding for a living when I'm 70.
I'm old enough to remember when discussions on Slashdot were well informed.
OK, granted, I misread you on purpose, go for the easy mod points.
Still, do you really think talking to your computer, or drawing pictures for it, is going to make programming easier or more fun or less work? I very strongly doubt that. When programming becomes repetitive, you should find some way to automate that part; code it differently, develop a tool or invent a new language. And ultimately, it would be great if some AI would just write programs for our problems. Before that, there will be some typing. But not too much if you do it right.
assignment != equality != identity
He was designing and troubleshooting analog and digital hardware.... radio and battery systems until the day he could legally tell his employer to fuck off and collect his Navy retirement and SSI...
He knows more about practical engineering than I ever will. And we still kick ideas around. He retired but did not stop being an Engineer.
I'm 46 and still writing code, and back at school for Biz Admin. I got to go back to my roots focusing on bare metal, and more recently embedded LINUX.
I'll stop writing code when you pull my cold, dead fingers off the keyboard.
tech support! I used to dream of tech support interruptions!
Now I'm doing a bastard child of agile that the company has brought in and I cannot do anything for longer than 2 hours without having to go back to the scrum board for more work. Don't they know they can just point me at a problem and I'll get it solved - it is what I've been doing for several decades after all.
I guess the agile stuff is for the kids who can't concentrate on a task for longer than an hour and have to keep being told what to do or they'll just start looking at facebook and twitter all day.
Its' just a tool to solve some other problem I have. I can't wait for the day when I can tell the computer verbally or draw a picture the algorithm and never ever have to type another line of code - ever.
well, the good news is that you can do this today, it's been around for at least ten years. Its called UML. what happens in your fantasy is that you draw your code layouts in boxes with various types of lines to link the objects together, then click a button and the whole thing gets generated into your favourite language. you then fill in a few of the details (ie the implementation inside some of those objects) and you're done.
I also wrote a system that did something similar - you wrote objects that could be dropped onto a canvas designer like a flowchart and wire up inputs and outputs (yes, a lot like biztalk, only we did it before biztalk came out, though I guess taking our product to MS for performance testing in their labs was a mistake).
Ok, you can stop reading here, the rest of us... I think everyone knows the problems with UML - write the big diagram, put it somewhere for management to look at, then ignore it as you work on code. It simply wasn't expressive enough to use for real work.
As for our product, it worked quite well, you could drop GUI components (html-based) onto it too and it would all magically make an application the user worked through and a business analyst could update when business requirements changed. Trouble was, the complexity of the thing increased exponentially. An app with a dozen components was easy, once you started work on a real-world app, the complexity meant you needed a couple dozen BAs working on it, It would have been more efficient just handing it to programmers and telling them the initial requirements are that the back-end rules will change.
So I don't think there will ever be a shift away from typing code, although practically every app I've seen in recent years has tried some form of configuration replacement (like .net, where everything you used to write in code is now in .config files, and everything you used to put in config is now hard-coded) or custom rolled ones that implement configurable business logic.
I've been programming since 1977, and I'm still doing it, although my job description hasn't had "programmer" in it since 1984:
(My first job out of university was writing digital signal analysis sw for a research institute, I did that from 1981 to 84.)
During the last few years I've been involved with crypto (AES) and graphics optimization, multicore computing as well as a few programming competitions:
I suspect that I'm probably 20 years older than most of the other quarter/semi-finalists at the two Facebook Hacker Challenges.
The main/only/sufficient reason is of course that I love doing it!
Solving puzzles is something I would pay to do, so getting paid is a great deal imho.
(My official job these days is to be the in-house IT troubleshooter for a very large Norwegian IT company, I manage to sneak in some programming here as well, often some Perl to analyze network trace/log files.)
Terje
"almost all programming can be viewed as an exercise in caching"
Nonsense. Python is an excellent language, and its syntax is pretty terse for getting things done. But __init___(self, foo, bar, baz, fuzz) is no more "tell the computer what I mean" than any other modern language.
You might consider http://en.wikipedia.org/wiki/Alexander_technique . It works.
I don't understand. There's plenty of great software around.
You guys should get into math.
well, the good news is that you can do this today, it's been around for at least ten years. Its called UML. what happens in your fantasy is that you draw your code layouts in boxes with various types of lines to link the objects together, then click a button and the whole thing gets generated into your favourite language. you then fill in a few of the details (ie the implementation inside some of those objects) and you're done.
THIS IS WHAT UML TOOLS PROPONENTS REALLY BELIEVE.
Contrary to the popular belief, there indeed is no God.
It's all fun and games until you put a deadline on it.
We'll never make it.......oh! we made it! http://www.youtube.com/watch?v=SWf3iJjqYCM&list=FL7kKrE4eTs17mQl7eyvJIOg
After watching how the various regimes running (and buying, and selling, and outsourcing) my company feel about programmers, I don't think I would ever go into it as a young person today. But a strange thing has happened. Of all the people that have been there all this time, I'm one of the few that has survived all the M&A shenannigans and outsourcings. It seems that those who moved up into management roles were more replaceable than those of us who stayed technical. Turns out they really needed somebody around who knows how the systems work. And who better than the ones who wrote them. The serious downside to this is that all the shortsightedness and 'people as widgets' thinking is leaving behind no next generation to take over where I leave off.
This stupidity will not end until people stop being rewarded for it. So far, every manager who's engineered the next sell-off of the company has been richly rewarded. The company's for sale again, and I can't imagine anybody being stupid enough to buy it. But fools abound, and I'm sure the current crop has their golden parachutes in order...
Posted from my Android phone. Oh, I can change this? There, that's better...
I rarely write comments any longer, and only use them when I can't make the code any clearer (or to explain *why* I did something, rather than what I'm trying to do.). 'What' comments rarely get updated when the code changes, and can frequently do more harm than good. I feel a little sad when I feel I need to add a comment to explain what I'm doing. Computing power helps these days. Back in the old days when writing realtime code, the stack overhead from breaking things up into functions/methods would kill you.
oh no.
I've done agile many years back and it as great - iterative development, regular releases, a 'vision' of what was needed to be added to the product per cycle... it worked.
Today... agile seems to be a way of doing massively heavyweight processes. we have 2 scrum boards, we can't decide what the timebox items should be, or how long it'll take to do them, or how many should be in there, or how much planning for the next timebox needs to be done.... gah! its all planning on our agile nonsense.
Its not agile, lets put it that way.
Mental exercise significantly decreases the chances of dementia. I'm 56 and involved in lots of things, not the least of which is coding for a large company. Someone once said "learning keeps you young" and he was right. My last career switch was at 53. I picked up a new, fairly technical hobby at 54 at which I'm becoming fairly decent. Earlier this year I completed a 4,400 mile solo motorcycle trip.
There are concessions, of course. My knees are blown out. I can't run or bicycle anymore, and put those things away with true regret. But other things have replaced this. Walks with the dog, (with knee braces) long motorcycle trips, and driving daughter and her friends to skiing trips. (I hang out in the bar and write. Some of my best articles have come from there.)
If you think your life is over at 50, I can tell you from experience, it is only if you want it to be. I see some of my contemporaries sitting in their barcaloungers in front of the boob tube waiting for life to end, and it makes me sad. A few of them used to be sharp, and can no longer carry on a conversation that doesn't involve reminiscing. The people I associate with tend to be decades younger than I, because they're still doing stuff and I am unwilling to give up on doing stuff.
At 65, my mother had a bad heart attack, resulting in a triple bypass. She quit smoking, started a new business, and now in her seventies is a successful small businessperson. But the biggest change I've noticed is that for the first time in years her thoughts are clear, she can carry on a coherent conversation, and she's interested in learning new things.
I thought it had been pretty much settled that activity (mental and physical) tends to keep the parts working. I'm not sure why this is a news item. But I note other threads like this, even in Slashdot, of people worried that their careers will be over at 40. Well, maybe if you're a trapeze artist, but otherwise, it's pretty much up to you.
Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
That agrees with my experience. After a certain age, there is an assumption that if you haven't been promoted to management, there is something wrong with you. I haven't worked as a programmer for about four years. I still love programming and code for fun, but I'd be happy if my job title never mentioned software again.
I'm in school training for a new career. One in which my 44 years--and anything since the last glacial maximum--is considered "recent." No doubt, I will still use my programming skills in my new career, and they will be a good selling feature after I graduate. As a programmer, I can count the number of times I've been paid to work outdoors on no hands. As geologist, it is part of the job. Even as a student, I've been some amazing places and seen incredible things. Any career that requires you to hike with a hammer, a bottle of acid, and a set of colored pencils is a good career.
I just turned 55, and have been writing software my whole career. I still enjoy it, but it's been a long time since I had that feeling like there was blue fire coming out of my fingers as I write. I find it has become pleasantly mundane. Beats the heck out of working for a living, though.
Not only management is an entirely different field requiring a different personality and skill set, but it's a pyramid scheme. By definition, only a minority of engineers can become managers. So if the choice is learning an entirely new profession on level field with newcomers or staying good at what you are good at, have tons of experience in and which is still in high demand, I think it's a no brainer. I fully expect to be coding until retirement, although I do notice that my average work day is 2-3 hours of actually writing code and the rest of the time helping others.
I did my first coding at 37 on using punch cards and coded for cash the next year. A couple of years ago I had to switch from C/C++ and Windows to Java on LINUX and have learned Java and some LINUX. When my Raspberry Pi arrives in a couple of weeks I'll start on Python! Mostly my job descriptions have been Ecologist with some coding. I look at most of the coding I've done as problem/puzzle solving.
Nate
My 'creds' : coding since 1968, not as a career or software jock, but for fun and to support my research/analysis as student and engineer (in that order :-) ).
While you don't have to be a total c++/java/perl expert to do engineering, you sure as heck have to be able to move on from slide rules and TI-88's to actual programming if you want to be a productive engineer.
I'm 57 and continue to enjoy writing stuff in R (as well as explaining to people why LabView is a recipe for disaster if you try to apply it to large projects). Then again, I like abstract algebra and topology, so I suppose I'm an outlier (yeah, I do stats too).
https://app.box.com/WitthoftResume Code: https://github.com/cellocgw
Webmaster adept with HTML, Javascript, CSS, PHP and MySQL and lovin' it!
My experience is that I started as a hardware engineer, then spent 25 years as an engineering manager. I now have a job as a programmer, work sane hours, and am a lot more productive than the "one-year-out-of-college" kids who are generally creating as many problems as they're solving. Some of my code is now in the Linux kernel and I'm a lot happier going to work.
Graphical programming has been attempted before. It turns out there's more to programming than just connecting boxes together, although it did find some uses in audio processing and such.
Disclaimer: I'm 65 and have enough money to retire, go fishing, whatever.
I wrote my first app in 1967 - a failed attempt to multiply two matrices in Fortran.
Today I code 3D apps.
WebGL, libraries such as Three.js and the whole FOSS thing enable me to build stuff I've been dreaming about for decades - no large teams, no huger servers, no VCs needed.
I'm having a blast! << maybe one day /. will allow me to show that sentence using particles and shaders...
No, not any more. When I was a young programmer, you could disappear into an office and just code all day. But one thing that has happened in the last couple of decades is that coding has become much more collaborative. Even if you are not doing extreme programming, with another coder practically in your lap, test-driven development, continuous integration and methodologies like Scrum mean that you are spending a lot of your day with QA and other devs. Break something and you have 20 guys on your back to fix it, stat. Put in some nifty but unorthodox code and then get it reviewed out of the product. I'm sure there are lots of people who thrive in that environment, and it does tend to improve the quality level of the software, but it means that you don't get to fly solo anymore, and that is what drove a lot of introvert/geek types into programming in the first place. It's also a bit of a shift if you haven't grown up as a dev in the new world, although I've been able to deal with it.
Oh, Wait...
Sent from my ASR33 using ASCII
How sad for you! I'm 50+, and still find coding to be "thinking out elegant solutions to interesting problems"
Just saying... There was this guy named George Marsaglia. Occassionally posting on comp.lang.c and elsewhere with new algorithms for generating random numbers with a period of 10^45000 or so (ten to the fortyfifththousandth power). Then no posts for a bit, then someone posted he died aged 86.
I can only hope to be fit enough at 86 to come up with elegant solutions to interesting problems.
I am 61, and certainly not the oldest still programming. My first 2 paid programming positions involved FORTRAN IV and COBOL, I now use Java. Recently I've played with Python and Groovy.
A few years ago I met a young man in his mid twenties, who said he was too old to learn programming!
I wrote my first program (in BASIC) when I was eighteen, to display what happens when you feed the sine function complex numbers - I did it for fun. The computer was the size of a 4 draw filing cabinet, and had about 4K bytes - not 4 megabytes, nor 4 gigabytes! Now my main development machine has 16 gigabytes.
Currently I am writing a system to to store, retrieve, and display tagged images using Java on Linux. The full system will be backed by a Postgres database and will be accessed by a web front end.
55 too, still coding... dunno what all the fuss is about. Programming nowadays is a helluva lotta fun... each line of code compares to 10K lines of assembly language, deployment is continuous rather than once every six months, what you deploy is always in beta... it's Paradise!
The ick of making friends with someone who's visibly old. ???? Most of us old farts don't wear adult diapers, don't have old man smell, and if you actually talked to us, you might just find out that we have insights and ideas worth hearing.
Think about this. Someday you will be old. When that day comes, do you want people to think of you as "Icky"??
You're both missing the essential matter. The people who pay the bills don't want to wait for the elegant solution when they can have the good enough solution yesterday. We know that there are better ways to solve problems, but the bean counters put the kabosh on that because they view elegant code solutions, which do the same jobs as the good enough solutions, as wastes of time and money. The worst part about it is that from a business standpoint, they're often right.