I'm 68, and I should add that "hacker" meant something different when I first heard it used. :)
> Are you still employed or retired?
I'm retired, but I still program for enjoyment. I have a line of free Android apps published:
> How does one's passion and aptitude for hacking evolve towards this part of one's life?
If anything, programming has become more important to me as I have gotten older, for the same reason that mathematics has greater appeal to a maturing mind -- it represents a rational counterpoint to a world that, over time, seems to make less sense.
Also, I've met many programmers who were obliged to program with such persistence and effort that over time they learned to hate it. This is a risk with anything one chooses to do for a living, which is why it's prudent to avoid doing things for a living that you love.
I do sometimes notice that the breadth of his hacking aptitude might be less than in a younger person; he doesn't always grok new concepts as quickly when they are outside his immediate area of interest. Eg., it took me a long while to convince him that automated testing was a really important part of modern software development. But I can understand how this would seem quite alien to somebody who first learned to program on punch-cards -- and since he's happy to delegate things beyond his immediate area of focus, it hasn't been a problem.
So, anecdotally: medical issues permitting, there's absolutely no reason you need to scale back on your passion for hacking passion as you age, although the breadth of your hacking might need to narrow somewhat.
Say my regards to your father
My passion and aptitude for hacking are higher than ever!
I struggled all day yesterday, trying to organize parameters to feed an engine to propagate data that would generate code for a new project. Woke up at 4 a.m. with a hypothesis, and built a working prototype before breakfast. What a great day already.
I have written over a million lines of commercial code since 1979, still work serving customers pretty much full time and have enough time left for another 20 to 30 hours per week on personal projects. I have at least one or two more start ups in me, for sure.
If this industry was like it was when I started, before PCs and the internet, and I had to sling COBOL for enterprises, I'd probably be a greeter at Walmart now, planning for social security. But fortunately our world has changed and it's so much more interesting and fun. If I ever do retire, I'll probably still keep building stuff forever.
The 2 best things: software is everywhere and involved in everything now. I can't imagine not finding an interesting application. And perhaps more importantly, things change so fast, there's always something newer and possibly more interesting right around the corner. (I wish I had more time to explore node, go, and some more frameworks, but I'm so busy...)
Between building software, riding my bike, drinking great beer, and getting laid every once in a while, I still feel like 25. I don't want it to ever end.
I think anyone who builds software should feel like I do. I hope most of you do. Prepare for a nice long ride!
I love that line. That is so incredibly inspiring. You really are living the dream.
Because Knuth is five years his senior?
Now I am 66, still fully employed, latest thing you might have heard (of) is the WiiU Audio engine. For unrelated reasons I went through a battery of cognitive function tests a couple of years ago and came out sharper than I was at 19 by at least a full sigma. I have no plans to retire.
I would add Don Knuth to the the honors list. And Minsky. Tony Hoare. Ted Nelson. Alan Kay. The original Homebrew Club members are getting up there. And about 100 others I know but you probably won't recognize. A peer group in which I am merely average.
As to selectivity and numbers. Yes, there have been programmers since WWII. But mot that many. So my age group has far fewer members than the upcoming geriatric programmer generation. But I have noticed one very encouraging feature we share: barring serious health issues (and even in spite of in some cases), a high percentage are still very active and passionate. No comment on causality, could easily be that it takes a active mind of a peculiar bent to get into the field in the first place and these just last, or it could be that the mental excersize it takes to keep relevant keeps the mind young, or both. But I'm pretty sure I won't last long if I have to stop doing it.
I take inspiration from a quote last year from Nellie Kroes - European Commissioner for the Digital Agenda. She's an iconic fighter for Openness - goes on Spanish hack camps with 14-year olds. Hopefully accurate:
"I'm 71. I don't do this because I have to but because I want to". [PMR was also 71 at that stage].
I take "hack" as a very positive concept - from its roots in MIT and the Hacker Manifesto up to HN and "hackdays" and "hackathons".
I started my communal chemistry code ca 30 years ago - in FORTRAN - and it's gone through C++ (including f2c), and now Java. There have been six major revisions of JUMBO.
I had the major epiphany about 15 years ago when I was writing molecular display in Java3D (argh!). I realised I didn't have to do this all myself - and so integrated the magnificent Jmol into the system. That led to the culture or sharing the load and fighting the battles communally (standard chemistry software is awful, highly prices and restrictive - one company will sue you if the publish the output FORTRAN log file).
I shan't give my life history , but I have been incredibly fortunately to find like-minded collaborators both locally and globally. Locally it came from Jim Downing who just us about 9 years ago and showed us how to use all the right ideas and tools (JUnit, maven, Jenkins (CI), Bitbucket, Stackoverflow, agile (stand ups, dojos, etc.).
The great thing was that we shared the load. We met at the Panton Arms every Friday lunch and would often work there in the afternoon. Yes, work - where ideas would flow freely. The core of hacking is not writing the code but working out what needs to be written.
We are committed to excellent software, not competitive academic impact-factor points. That meant we could do things properly. FWIW our work has gone into Cambridge Chemistry's submission for the evaluation process.
We're proud that many of our tools (OSCAR, OPSIN, ChemicalTagger, JUMBO) are robust and distributed without major maintenance need. This is unique in chemistry. As a result I catalysed a unique - zero-cash community - the Blue Obelisk (http://blueoblisk.org and Wikipedia). 20+ F/LOSS groups work in unplanned parallel ways and have created some of the best chemical software.
We are now moving into a major effort to extract all scientific facts from the current literature (contentmine.org just released). The major challenge will be lawyers. If any Hackers want to take part in knowledge liberation we'd love to hear from you.
It's really difficult for me to get certain of my co-workers to work out what needs to be written. Mostly it seems we discuss minutia and get off on tangents rather than work out the whole thing; it's difficult to get them to look at it from anything but a low level (arguments about how an API should work takes an hour). Do you have any advice on how to get people to discuss the work in a realistic, high level way?
I was prepared to be told when I was "wrong" and think about it. Gradually we built a culture where the culture - as well as the people - determined what we did and how we worked. My group reorganised how we ran weekly meetings and I followed their practice. (Of course things like lab safety and secure practice have to be taken ultra-seriously as do basic human relations - gender, race, etc.).
I am very proud of the people who went through "my" / our group. They all went into hi-tech IT - companies, scientific organisations and none into formal academia. Most are in the UK and therefore directly contributing to our wealth and my pension.
The Friday pub sessions are really valuable. Nothing as formal as an "away day". It helped that many of us played cricket (I gave up two years ago - made it to 70), and I introduced them to the Guardian crossword.
It depends very much on the goal of your group. If you have a chance to develop new ways of doing things, do so. If there is no slack in the system then the daily work is likely to turn out competent but no inspiring code.
If you can do one thing go on a Software Carpentry course (you might be able to count it as training). If not, can you run a dojo? If your organisation provides training you may be able to bring in someone (or travel) to provide the experience. fresh views help.
Ultimately you have to aim for respect, and flexibility. I don't make major mistakes or have failures - I have experiments which don't work out at the time. JUMBO has been through 6 revisions over 20 years. I'm very lucky - I have that luxury to keep going at something which isn't critical for my income. When I was earning an income through consultancy/training I had to make sure that I had some slack in which to learn.
Avoid individualism but try to give everyone space in which to make their own identifiable contribution. I would normally start projects, then suggest that group members worked =on them, and when the left, they retained the "guru-ship" of the project.
How do you manage to stay ahead of your time?
It use to be hard to do computing - you had to understand compilers and assembler and you were often on your own. Now I'd say that anyone who can do Sudoku can understand many common algorithms. Here's a simple example (https://blogs.ch.cam.ac.uk/pmr/2014/03/15/segmentation-of-im... Ramer-Douglas-Peucker segmentation of contours). I've illustrated it with kangaroos - but I think children of (I guess) six years old could easily manage it. And so could a 75-year old.
The thing that's different is the frameworks. 10 years ago you'd have to build this from the bottom up. Things like reading images (Java.IOImage is not cuddly). But now we have boofcv.org and Apache (and similar in Python).
Learn to use libraries and you can be an effective programmer. The skill is finding out what's out there. And here the social skills are important. Go to hack days - we had a wonderful NHS hack day in Cambridge. Find your makerspaces. Contact Mozilla, Wikipedia or OKFN. They'll all love to hear from you.
Do you like crosswords? You've got half the skills required for natural Language Programming already. And remember there are people to help you. I will.
And thats' a great idea - an over-70s hack day. If you are interested, tweet me @petermurrayrust Not on twitter? That's the first thing you should think about!
Thank you - and good luck.
was the NHS hack day an OPen Knowledge thing - I hear they are kicking off a NHS England wide data project?
Geeks who love the NHS
NHS Hack Days are weekend events that brings together doctors, nurses, developers, designers, and other "geeks who love the NHS" to create disruptive solutions to problems in the health space. NHS Hack Days are ongoing and enjoy the support of prominent international health care and technology leaders.
The next NHS Hack Day will be at St.George's Students' Union, 2nd Floor Hunter Wing St George's, University of London, Cranmer Terrace, Tooting SW17 0RE London on the 24th-25th of May
IIRC there is no charge but there may well be limited. You don't have to be a developer. Could be useful if you know how to find (public) NHS data.
The most depressing graph I've seen is figure 1 in Images of the Cognitive Brain Across Age and Culture. It shows how our cognitive abilities decline soon after we reach maturity. Starting in our 20s, we lose about 6 IQ points per decade; more in our 70s and 80s. That means someone in the top 1% in high school (IQ 135) would be down to average intelligence by the time they were in their 80s.
On the bright side, the decline in raw cognitive horsepower is offset by gains in knowledge. In fact, knowledge more than offsets it in most disciplines. Our peak productivity is usually in our 40's and declines much more slowly than one would expect.
Still, if you want to keep building cool stuff when you're older, it's important to prepare now. The best thing you can do is stay healthy and active. To return to the marathon analogy: A 55 year-old might not set a world record, but with the right training, nutrition, and possibly performance-enhancing drugs, they can beat >95% of people half their age.
Finally, to everyone mentioned in this thread: Well done! I hope to follow your example.
1. Time just seems to move sooo fast. When I was 6, 30 minutes seemed like forever. Now as I close in on 40, 30 minutes feels like a handful of breaths. I can easily spend 2 hours on something, feel like I made no progress because the time is short. Even into my 20s, I felt like I could crank out tons of things hour after hour. Now the work of a week feels like the work of a day.
2. I think why this happens is that I've noticed I feel like I take in more space-time at once than I used to. Hypersmall details I used to obsess over seem to blend into an entire scene. I'm gulping space-time rather than sipping it. I think it's because I have much more experience and knowledge than I used to that I just automatically filter out most things. "Bigger picture" isn't just a word to me anymore. I've largely stopped thinking in hyper-local ways and started thinking more strategically, in terms of systems rather than components and in terms of aggregate behaviors rather than individual behaviors, etc.
I have to consciously focus down my attention onto small, local concerns when it used to just happen. When thinking about business ideas, I don't think as much about smaller concerns like the technology stack or whatever, but where I can take the entire idea over the next 5-10 years. Ideas grow like trees in my mind stretching out for a decade without mush effort, but looking at an individual leaf (which used to be easy), is exhausting.
It's given me a lot more understanding of what my parents are going through as they age, things I never really understood when I was a precocious child, but now make perfect sense. I don't know what they're going through now, but now that I understand roughly the trajectory of my own mind and thinking, I can kind of see how they're arriving at where they are.
Is your perception of time because you're just so used to most things you do in your daily life that you don't notice the details, or is it some innate change in the brain as we get older?
But I like to travel overseas. I find that the stranger the environment, the more enjoyable. I think it's because the details, the things I can't readily filter out all come flooding in again.
A week in Seoul is a totally different kind of experience for me than a week in NYC. Even though they have lots of superficial similarities.
But I also notice that my brain seems to spend more time subconsciously analogizing what I'm seeing rather than learning things new from whole cloth like when I was young. It's like the filtering mechanism is working overdrive and knows it can't just toss things away (it can't make a value judgement) so its first pass is to try to find similarities so it can start to make these judgments.
"So this kind of place is like a department store, but also like a fleamarket..." my inner monologue goes.
After a few days in a new country, I'm usually just mentally exhausted and look for some familiarity, something I don't have to work for.
After a week or two, I'm usually comfortable enough in a place this feeling goes away and everything starts to look "normal" again. Meaning my filter is locally tuned and working at normal efficiency.
That is an overgeneralization that could lead to needlessly depressing conclusions. Research is pointing in directions that are much more encouraging and that vary tremendously from field to field. If you are interested in this subject, you'll definitely want to see the summary that the following link, which, among other things, says that the output of scientists appears to peak in their 40's and decline only in their 70's (assuming, I would guess, that they are choosing to continue to pursue their vocation):
To help maintain your brain power as you age, research is pointing in the direction that the best thing you can do is, perhaps counterintuitively, physical exercise:
In contrast, claims that "brain exercises" actually help are quite controversial.
Also, there's evidence that caloric reduction reduces cognitive decline:
The other one is the definition of intelligence. Take the speed component for instance. It greatly affects the IQ score, but does it equally affect our ability to come up with interesting hacks?
In other words, average IQ score does not equal individual problem solving ability.
Another good bit of evidence is the third citation: On Age and Achievement. It shows a peak in our 40's, followed by slow decline. In that paper, they find the best model of this curve uses two factors: cognitive ability and knowledge, with the former decreasing and the latter increasing. Different professions have peaks earlier or later depending on how much they favor knowledge vs. fluid intelligence.
This is exactly the sort of evidence you'd expect to see if our brains slowly degraded like the rest of our bodies. I wish it were otherwise, but wishing doesn't make it so.
How much of the average declines documented in these studies is related to cultural factors (people are allowed to stop using their brains as they get older) as opposed to individual potential?
I don't doubt for a second that certain cognitive functions degrade with age, but we don't know by how much they degrade in those who keep using their brains.
And we don't know how the things that do get better with age, like discerning patterns that only emerge after looking at a lot of instances, affect our ability to solve complex problems.
"A series of simulations show how the performance patterns observed across adulthood emerge naturally in learning models as they acquire knowledge."
You seem well acquainted with aging research so I feel it appropriate to ask, what about the role of genetics?
Other counter-examples to the general trend of 'age-related mental deterioration' include several greats in creative fields (e.g. P̶a̶b̶l̶o̶ ̶P̶i̶c̶a̶s̶s̶o̶,̶ ̶T̶.̶ ̶S̶ ̶E̶l̶i̶o̶t̶ Paul Cezanne, Robert Frost, etc.)  whose best work came later in life. All said and done, it is hard to quantify success and definitively relate quantifiable functions of the brain with 'success' and 'creativity'. An extreme example in the realm of pop-psychology is Maurice Ravel, whose most famous work 'Bolero' is thought have been the result of frontotemporal dementia. Strictly speaking, Ravel shouldn't have amounted to much after his brain started deteriorating, but the dementia directly underlies the repetitive rhythms that make 'Bolero' a creative masterpiece.
While physical exercise (and a few other mental 'exercises' such as bi-linguality) has been shown to be supremely important to stem age-related mental decay, I find your comment to be a bit too pessimistic.
This brings up an interesting question: how do statistical results relate to self-actuation and motivation? When presented with such statistics as in your comment, one can either give up on making lifestyle changes with a resignation to 'inevitable aging', or may look at the statistics as a motivating factor to remain an exception.
The authors of your reference 2 state this in the conclusions: "Importantly, these findings also suggest that neurobiological aging does not always lead to neurocognitive decline in a uniform manner, and that external experiences can modulate and perhaps alleviate some of the neural effects of aging in the brain."
 Bruce A. Weinberg & David W. Galenson, 2005.
"Creative Careers: The Life Cycles of Nobel Laureates in Economics,"
NBER Working Papers 11799, National Bureau of Economic Research, Inc. http://www.nber.org/papers/w11799.pdf?new_window=1
*Edit: I meant Paul Cezanne, Robert Frost, and Virginia Woolf.
Unless you have a magical cureall and were wondering whether to bother taking it, that's not really relevant. You're going to get sick as you get older.
I've got to say that my coding bug rate seems worse and debug time seems substantially longer and more tedious than I remember. My first coding was assembler for an IBM 7094 as a student at the University of Illinois some 50+ years ago. Been doing it ever since.
BTW, I'm looking for someone that can transfer the tech to a paid Android app. Somebody 70ish would be way cool. Kernel level audio skills a must for global filter insertion.
Listening to good jazz helps to stay in shape(there's some scientific data that proves music activates something in the brain, not sure what exactly, but it seems to work :-).
As someone noted earlier in this thread, there's nothing new in programming for the last 30-40 years. You just need to learn 100 tricks, you learn them early, and then the age makes no difference. What changes is that you don't think of career any more, and think about money much less, which makes you a very bad candidate for bullshit work. You can imagine the consequences.
He doesn't program any more, but the idea that you'd have to be 20 when you started is just plain wrong. You could've been 40.
He also used to play with meccano and legos, and I remember we built a traversing crane during a Christmas in the mid 80s (on ropes from the living room to the kitchen, a spam of some 7 meters). If you were a hacker soul before personal computing, it'd be quite easy to get into computers (and realize that it would be important).
Older people I've known continued to work with what they call "real" computers in the 80's and 90's, not PCs. Mainstream PCs didn't even have multiple processes until the 90's (386).
> Constantly seeking to produce better work, he apparently exclaimed on his deathbed, "If only Heaven will give me just another ten years... Just another five more years, then I could become a real painter."
His skillset goes from the EPROM and PLC level, through C/C++, and on to actual 20 ton open die forging. I've seen him take a break from debugging a C++ driver for a hydraulic beam loader to replace live high voltage fuses with a hot stick rather than wait for the power company. It really puts what we refer to as 'full-stack' into perspective.
I was on the Internet before the WWW.
I am 63, but immature for my age.
One guy I met was 65 and about to start up another company. He was sharp and definitely knew what he was doing.
The group I was in at Microsoft (Xbox) had David Cutler in it; I think he had just turned 70. I didn't work with him closely, but he was definitely prolific (also more than a bit controversial, politically, at MS, but he had mellowed out quite a bit when I met him).
I'm 53 and have high hopes. :-)
See "History of the book" section at the link above.
Do what you love, love what you do, throw in a generous helping of luck and you can have a stimulating, productive and enjoyable professional life well into your 70s if not later.
How does one's passion and aptitude for hacking evolve towards this part of one's life ?
If anything, I'm excited at getting older and being able to see where all this rapid evolution is taking us.
@People over 60 here: What is it like learning and keeping up with the flurry of new technologies at your age? Do you find it more difficult to grasp with age or does it get easier?
I often wonder how much of that will stay the same 30 years from now, and I hope I'll still be hacking then. My bet is that we'll still have some versions of programming languages we know today, maybe even Linux running it. But it will be much more exciting if that won't be true :)
It's harder to learn new things because you have to unlearn earlier ones. My Java started by looking like FORTRAN, my Python now looks like Java.
It's critically important to use good Open tools. Eclipse is wonderful. I could not work without JUnit and whenever I run into problems I use the discipline of using tests to define the problem. I have learnt to "love" Maven as I can't do without it. I could not live without Jenkins/Continuous Integration.
The main problem is that all these add up, both in learning, installation and support. When I "retired" my website in cambridge gradually decayed and an upgrade to the OS meant Jenkins no longer worked. It's now back (thanks, Mark Williamson) and has restored impetus in the chemistry coding.
I believe in code review and am happy for others to review mine!
Unix is going strong for 41 years, says Wikipedia:
Other than some IBM mainframe operating systems, this is probably one of the longest-lived ones still going.
I'm not yet 60 but WRT "Do you find it more difficult to grasp with age or does it get easier?" OMG you have no idea how much it gets easier. Unbelievably so. Think about it for a second, nothing's ever really inherently new on the biz side, its all a remake of something else, and most of the tech side is the same other than adding more zeros to various specs. And I figured out how it works and how to debug it and when it breaks, last time around, and nothing has really fundamentally changed this time around other than some specs that are irrelevant or simple to work with. All I need to do is pattern match it now and I'll have the answer instantly compared to people who never experienced the same thing last time around. Also its much like learning foreign languages or math, in that the more you learn, the more you learn how YOU best learn, so the easier it is to learn. Trust me, kids, learning your 6th language is unimaginably easier than learning your 3rd.
There is a lot of self selection bias. If the lifespan of a poor programmer is 3 years, not even long enough to graduate, and a tolerable programmer is 10 years, well, if you're doing this as an old guy, you might actually know one or two things about programming.
I'm not a very good carpenter, but I can wield a saw on occasion, and things have changed in carpentry, but not much. Another interesting example is cars, both driving and repair, where the frosting has changed but the cake is pretty much the same. Another similarity in both fields is there are loud subcultures taking great joy in reminiscing and refusal to learn about the new frosting and complaining about today's cake flavor, blah blah blah.
One very curious aspect of computing is I can do everything at home, very slowly, compared to what I can do at work. I don't need to wait for the boss to give me permission to play with Scala at home. Or Clojure. And I started using Scala at work because I had fun at home (other than the compile times, and getting pissed off about arbitrary size limits of case classes, and ... oh wait I keep telling myself I like Scala, every rose has its thorns I guess) Anyway my first major a long time ago was ChemEng and its hard/impossible to fool around at home with the same stuff as the lab at work, so its actually kind of unusual to be so "free" in computing, compared to other vocations. I could see life being pretty rough as a 60 year old chemist, but not so bad as a programmer.
Enabling interrupts before initializing the stack pointer does just about the same thing on a 2014 processor as on a late 70s processor, just maybe a little bit quicker. And a bazillion other bugs I've seen before.
There's a negative sense of programming as an activity, programming is the art of not creating bugs, and that certainly gets a lot easier with age. Or rephrased is the young guy hasn't made and learned from his stupid mistakes yet. I still have dumb mistakes left to make, just a lot fewer of them.
Glad to hear you're still going strong, 42 here and can't imagine stopping anytime soon ;-)
In general, I think one has to be careful about making generalizations here regarding aptitude. LedgerSMB is hard to get into because with ERP/Accounting software the domain knowledge requirements are significantly higher than the fluid intelligence requirements and domain knowledge increases as we get older. In LedgerSMB I have generally found that older programmers contribute better code than younger programmers precisely for this reason. Some of the biggest bugs we have ever had (the ones that caused us to pull 1.2.0 and 1.2.1) were caused by overlooking a critical part of domain knowledge.
So I dont think things get particularly worse. The fields of excellence may change however.
This year I'm learning Python for fun.
Never gets old :o)
Don't think "I know how to program". Even if you know the syntax and the idioms you don't know everything. Simply going through a workshop will change the way you think.
It takes about 2 months to come back from a burn out, playing high speed games can help you chill, help you step down to the speed of normal life again. But the best thing is to learn to say 'f* it', and take a few days off here and there.
Programming is like the gym for your brain, video games work in a similar way - but it's in a slightly different part (from my experience) of the brain. ie: they are related, close, but not the same - but do compliment each other if used in a balanced way.
Source: Programming for 32 years.
I will never accept the term 'hacker' - it's annoying
I was lucky enough to be taught by John. He believes he may have been one of the first people to make computer music - spending precious compute cycles at Cambridge with a speaker hooked up instead of an oscilloscope.
He's ~69, and last time we spoke a few years ago, he and some peers were still writing and selling their compiler product (http://www.codemist.co.uk/index.html), John was still active in the Csound community (C dialect for computer music), and dabbling with computer algebra.
Having known John outside of lectures (and meeting him at the age of ~58), I'd say he has a childlike fascination with the world - constant curiosity and a lot of enthusiasm. And also understanding that computer science is cyclical, that rediscovery is part of life, and he could add deep experience each time around.
I don't think that ed wiessman(edw519) is 60 yet but his advice seems like coming from someone who has been in the business of programming for centuries.
Computer science research is harder.
Math research is harder, still.
There are plenty of people well past 50
and, from their research publications, still
quite productive. For them, hacking is
Richard Wagner? Late in his life he finished
his four opera 'The Ring' and wrote 'Parsifal'.
All that work remains crown jewels of all of music
People late in life are less likely to do hacking
for a variety of reasons, but that their mental
capacity is not up to the challenge is not
among the reasons. What's so difficult about
allocate-free, if-then-else, do-while, call-return,
try-catch, etc.? Trivial.