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
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 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
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
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"
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.
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...
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.
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.
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 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.
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.