Hacker News new | past | comments | ask | show | jobs | submit login

With 25 years of experience in software development, I’ve noticed that long coding sessions leave me feeling more fatigued than they used to. However, I’ve also become significantly more productive, as I spend far less time grappling with problems I’ve already solved. I’ve only just begun to explore AI-assisted coding, so that isn’t what’s driving my efficiency. Is it reasonable to assume that the natural decline in cognitive performance over time is offset by the gains in experience and expertise?





> Is it reasonable to assume that the natural decline in cognitive performance over time is offset by the gains in experience and expertise?

It depends on the task, but overall, for the work I do as a software developer, yes.

I would say I have less energy, but I need less energy, and I produce better results in the end. I'm better at anticipating where a line of work will go, and I'm quicker and better at adjusting course. There are a lot of multi-hour and multi-day mistakes that I made ten and twenty years ago that I don't make now.

The raw mental energy I had when I was younger allowed me to write things I couldn't write now, but everything I write now is something that other people can read and maintain, unlike twenty years ago. It's very rare that writing a large, clever, intricate mass of code is the right answer to anything. That used to frustrate me, because I was good at it. I used to fantasize about situations where other people would notice and appreciate my ability to do it. Now I'm glad it's not important, because my ability to do it has noticeably declined. In the rare cases where it's needed, there are always people around who can do it.

Another thing that is probably not normal, but not rare either, is that the energy I had when I was young supercharged my anxiety and caused me to avoid a lot of things that would have led to better outcomes, like talking to other people. I'm still not great (as in, not even average for an average human, maybe average for a software developer) but I'm a lot better than I used to be.


What I find most draining is the non-coding work I now do for work. I love the org I work for and it's really fulfilling but I do a lot of senior stuff now and I feel like the years slip away without always getting to build and invent as much stuff as I'd like to. There's so much to do and learn, it's amazing, we live in this difficult world but with amazing opportunities, and I wish I had an extra 12 hours a day (of energy) just to learn and build.

I was young once, 25 years ago I started programming, and I feel as though I have at least another 25 in me, if not more.


I find that I have "less horsepower, but smarter gears", so it kind of evens out.

I'm less likely to code until midnight, but more likely to have the problem solved before clocking out at 6pm ;)


>>I’ve noticed that long coding sessions leave me feeling more fatigued than they used to.

As we age, learning vs getting-paid graph first flattens, then either grows very slowly or not at all.

Im guessing that is where the fatigue part comes. You are not exactly growing too much after working hard after a while.

In fact reducing hours worked might correlate with happiness more as you can allocate free time to other rewarding tasks.


I've been coding for over 40 years at this point. I'm definitely a better programmer than I was - not necessarily faster at pumping out lines of code, but I get the right approach first time more often than I used to. Whole classes of bugs are just easy when you've seen them before, but I'm also better at avoiding them in the first place because I know my weaknesses and where to spend time thinking more carefully.

At the same time, I can't context-switch like I used to. Once I get into the zone, no problem, but interruptions affect me much more than when I was 20 (or even 40). I can almost feel the tape changer in the back of my head switching tapes and slowly streaming the new context into RAM (likely because all the staging disks have been full for years).

As for long coding sessions - I relish them when I get the chance, which isn't as often as I'd like. Once the tapes have finished loading and I'm in the zone, I can stay there half the night. So that hasn't changed with age.


It could be something similar that we see happening in seasoned weightlifters/bodybuilders:

As your absolute strength gets stronger, the same exercises and workouts get proportionally more fatiguing.

5 sets of a bench press at an 80% of max load, taken within a rep or two of failure, done by a first-year lifter, is incredibly different from that same scheme being done by somebody who's lifted for 10 years. So more advanced lifters tend to do things like lighten the load and use variations of lifts that have more favorable stimulus-to-fatigue ratios.

Anyways, I thought maybe as an advanced programmer, something here could be analogous. You've already done all the coding and thinking to figure out easier and lower-level problems. So what you're left with are the more cognitively challenging parts of coding, which should be more mentally exhausting per unit time. Whatever is '80% difficulty' for you is probably way more advanced than what you were looking at 10 or 20 years ago.


That is the conventional wisdom: decreasing stamina/energy is compensated by having more experience/expertise.

Magnus Carlsen (the multiple times chess world champion) talked about this in his recent Joe Rogan podcast. He said he passed his chess peak already now at 34. He now knows more, but when he was younger he could win via brute mental power.

> Is it reasonable to assume that the natural decline in cognitive performance over time is offset by the gains in experience and expertise?

So according to Carlsen, for chess the answer is no.

I personally also suspect the answer for programming is the same. Most, if not all, of the hotshot programmers we know became famous in their early 20s. Torvalds started writing Linux at 21. Carmack was 22 when Doom was released. Many of the most famous AI researchers were in their early 20s when doing the most groundbreaking work. Einstein's miracle year by the way was also when he was 26.


> He said he passed his chess peak already now at 34. He now knows more, but when he was younger he could win via brute mental power.

The famous anti-case for this is J.R.R Tolkien started writing Lord of the Rings when he was about 45.

Writing is not programming but they are not that dissimilar. Especially in this context.

What I've learned over the years is life is actually not fair and everyone is different. You can be razer sharp and reasonably healthy at 83 or be in great shape and die of a brain aneurism at 12 with no warning.

Basically don't let studies or other people's results persuade you into not starting or giving up.


Creative writing is tremendously different from coding, imo.

> Creative writing is tremendously different from coding, imo.

I've had a different experience.

IMO there's a huge overlap in skills when writing, coding, making videos and playing guitar.

They all boil down to the idea of getting something out of your head and then refining it until you know when to stop refining based on whatever criteria you're optimizing for at the time.

This is based on writing over a million words and making hundreds of videos over 10 years on my blog and programming for ~20 years while casually playing the guitar for about as long.

What aspects make them feel different for you?


People in their early 20s are also much less likely to have other responsibilities "intruding" into their headspace. It's a lot easier to be monomaniacal when you don't (for example) have kids yet.

I know. That's the common argument, but I don't think that's it. See the argument I made in the previous comment. As I wrote in that comment, Magnus thinks his brain was better when he was younger. It probably doesn't help to have responsibilities like children, but I don't think that explain everything. There are also many people without children for example. And if you don't have children then studying full time should take as much if not more time than a simple job.

Also, Hans Albert Einstein was born during Einstein's miracle year.


> Also, Hans Albert Einstein was born during Einstein's miracle year.

This was in an era when fathers had little to do with childcare. I don’t know about Einstein’s specific situation, but even 40 years ago almost half of fathers had never changed a diaper.


I listened to Magnus and I took that quite differently.

I took that he said that others have caught up and he is just not motivated to do the type of studying to improve even further at this point.

There is a process we don't really have a name for that was best summed up by the boxer Marvin Hagler:

“It's tough to get out of bed to do roadwork at 5am when you've been sleeping in silk pajamas”

The demotivation of success. Of course, that is also going to correlate with age and be very hard to disentangle. At the same time testosterone levels will be past peak, adding another variable in the mix. Plus actual mental acuity past peak.

In other words, as someone pushing 50. Getting old kind of sucks systemically.


Very little of my work needs breakthroughs or inventions. Nothing new under the sun, as the Romans said. So, this mental peak is less important than being focused and efficient for me.

i have 10++ years more, but i don't notice such.. fatigue. 2..5+ hours.. no problems (even with fingers-typing-wrong-keys/order-much-more-often). What i do notice though, and not only in coding, is.. kind-of creeping-boredom. Growing tired of certain things going the way they go, too quickly. You know, the deja-vu feeling when you see something developing certain way, and seeing it go exactly there. Thousand times..

But i haven't stopped learning things, apart of the software-making-related, 2 years ago went into e-foiling, and some half-related more-technical adventures. So maybe that is keeping the dementia at bay..


> Is it reasonable to assume that the natural decline in cognitive performance over time is offset by the gains in experience and expertise?

Maybe up to a point. Most of the tools and languages I use daily are fairly recent, or at least new to me. I don't have much of an advantage, if any, compared to my younger colleagues.

There are certainly things I do better now than 10 years ago but I think I'm slowly declining though. Fortunately, there's more than one way to be productive professionally so I hope I can keep up for a few more year.


State of the art tools and technologies today are implementing the features of cutting edge languages and technologies from decades ago.

There are very few capabilities in mainstream languages today, if any, that weren’t available in Common Lisp back in the 1980s or 90s.


I noticed that I can still do long sessions if I have to crack open a problem ( I started coding around 35 and now I'm 40+), but the burnout may prevent me from coding for a few days.

I do think it has more to do with daily chores (work, family) than my age. I noticed that, despite being easier to get frustrated nowadays (because I get exposed to more sources of frustration) than I was in my 30s, I'm actually more perseverant than myself 10 years ago. I managed to be very close to wrap up a side project, the first time in my coding life. Of course the scope is smaller than my previous projects but I'm surprised that I didn't back down easily, considering how many times I banged my head during the first few weeks.

I guess being exposed to more frustrations does improve ones resistance to it. To be precise, I get agitated easily, but that agitation doesn't seem to burn me out in the middle term -- while in my 30s I didn't get agitated very often but every time it burns me down to the point I left my side projects.


This is something that can be gamed out mathematically, for example time to goal minus time to refactor.

As someone who has been writing software and/or managing operations for 20 years here is what I have noticed:

* The more experienced people get the more cognizant they become of fatigue in that they know when to take a step back.

* The more experienced people get the faster they get in that they know how to approach repeated problems.

* People do not necessarily get better with experience. Some developers never fully embrace automation, especially if they are reliant on certain tools versus original solution discovery.

Based on that it’s natural that some older developers tend to decline with age while others continue to grow in capability and endurance. The challenge is to identify for that versus those who mask it.


Software developer of more than 20 years.

I wouldn't say, "decline," to be charitable. I tend to lean more on mathematics and writing. That often makes up for the lack of stamina.

When I look back on code I wrote 15, 20 years or more ago... it's fine but it lacks the sophistication I have now. I didn't know what I didn't know back then and had to learn. I can see in my code where I encountered a problem and instead of solving it I added more code until it, "worked."

I wasn't university educated so that's explains a bit of it. I didn't start picking up pure functional programming and formal methods until my mid thirties (gosh, has it been a decade already?). I worked through Harvard's Abstract Algebra at 38. I'm leaning more about writing proofs and proof engineering in my spare time while continuing to stream work in Haskell on various libraries and projects. And I'm in my 40s -- I'm doing more programming and mathematics now than ever.

I'm also playing in a band, practice calisthenics and skateboarding, and have been improving my illustration skills with ink.

It seems like the discovery of the article is that if you don't use your skills they start to decline as early as your late 20s. All it takes is practice to maintain and improve them!

I might get a little tired every now and then and can't keep every library I've used in my head all at once. But I tend to rely more on mathematics and specifications and writing. I write less code now. I remove code. And I keep programs and systems fast and correct.

Nothing declining here!


I suspect you are better at architecture now than you were 15-20 years ago, such that you don’t have to struggle over how to solve many complex problems. The solutions and their planning are likely fluid now and quickly envisioned. That is something to comes from years of practice problem solving.

Not everyone has that though, even among people who claim to be well experienced. If those among us are aging and never fully developed the skills to save on manual effort they will likely appear as if in decline. Others that continue to find news ways to deliver higher quality at ever decreasing costs will continue to demonstrate superior value.

> All it takes is practice to maintain and improve them!

That is largely true for anything in that maintenance costs less than recovery and maintenance costs more than original solution delivery for someone well practiced at delivering original solutions. Not everyone invests in the practice to do this though.


> . Some developers never fully embrace automation, especially if they are reliant on certain tools versus original solution discovery.

can you expand on that for clarity ?


Some developers never really learn to actually program. This is largely due to chasing fashions. In the past this has been around things like Java Spring or JavaScript React. Instead of learning to write original software they get really good at using a tool. Now the new fashion is expecting AI to do it for them. When people build their careers around this it’s all they can do and never dig deeper. This works well for seeking employment, but doesn’t allow for practical skills growth.

They don't embrace AI is how I read that.

> Is it reasonable to assume that the natural decline in cognitive performance over time is offset by the gains in experience and expertise?

It depends on what you're doing.

The stronger cognitive strength needed, the less it can be replaced with experience.

Some chess grandmasters are teenagers. Maybe maths intensive ML research could be a bit comparable. But that's... Maths. Or distributed software algorithm optimizations?

In the vast majority of software work (as in > 99% ?), experience is more important, though, if you're bright enough when young. Or so I think

(But when closer to 80 or 90 or 100 years, that's different of course.)


That's pretty much current state of knowledge.

Terms you want to check for more detailed info are 'liquid intelligence' and 'crystalized intelligence', but you basically nailed it.


I've seen 'fluid' as well as 'liquid' intelligence, but these are the terms the scientific community seems to use.

If your time is spent in higher productivity work, wouldn't that - irrespective of age - leave you feeling more exhausted?

I am old and I can easily code / design all day. 10-16 hours if it’s something I am in to. It’s dealing with people / social issues that exhaust me.

Likewise. I can easily work for 10 or 12 hours. It's fitting in things like friends and family, according to their schedules, that makes it difficult. I don't mean to say this in a resentful way at all; it's definitely a me problem, not them.

Productivity doesn't correlate super closely with fatigue in my experience. The worse sessions are when I'm banging my head against something and getting nowhere. When I'm flowing, I can go for hours.

I’m not sure it makes sense to differentiate between energy spend while being “productive”, and energy spent whole trouble shooting and problem solving.

After all, trouble shooting can be viewed as a productive thing.

Interesting idea though.


Someone who is more efficient expends less energy to accomplish the same thing relative to someone who is less efficient.

A lot of it depends on how good your tools are.



Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: