"In particular, several women in the community have made allegations of sexual misconduct, including abuse and harassment, which they describe as pervasive and condoned."
The value is in keeping the code running. Unless you are doing something very complex from scratch, you are mostly writing code for hire or for your startup. Nowadays, that code does not really take that long to develop. You will be wrapping, mixing, and orchestrating several paid, free, and OSS APIs and frameworks to work together with your solution to the problem. This will take six to eighteen months to complete. Then the value starts. That code is making you or someone else money. If you stop efficiently and correctly managing the code, someone loses money.
I’m in a similar position, and that’s the fun part, I don’t. I travel a lot, but have to bring a laptop be a few hours from internet access at most, which thankfully is almost anywhere I want to travel to. Even Everest Base Camp trek has internet.
If you need to perform one-off conversions interactively (like you'd do with Vert), I would suggest you to just print the page to PDF with any Chromium-based browser.
If you need to automate the conversion on a small scale, either Puppeteer or Playwright are excellent choices and are easy to self-host on any home server or VPS with enough resources to run a browser.
If you need to scale the automation or rely on it for business purposes, I'd suggest you to have a look at hosted services, there are plenty of them.
Shameless plug: I run https://yakpdf.com/, a hosted Puppeteer-based service. If you want to give it a spin, there’s a free plan on RapidAPI (https://rapidapi.com/yakpdf-yakpdf/api/yakpdf). It’s used in production by many and is one of the most trusted solutions on RapidAPI.
Right on point. The same principle applies when deciding whether to use a framework or not. Coders often marvel at the speed with which they can build something using a framework they don’t fully understand. However, a true programmer seeks to know and comprehend what’s happening under the hood.
I'll preface this with the fact I agree that there is a difference between using a framework and being curious enough to dig into the details I think you're veering into No True Scotsman territory here.
IMO, the vast majority of programmers wouldn't meet the definition you've put forward here. I don't know many that dig into the operating system, platform, or hardware all that much, though I work in streaming media so that might just be an industry bias.
I'm the one who feels uncomfortable when something is magical. I'm trying to dig whenever possible. I don't always have success. I know very little about Linux kernel internals, for example.
That said, it's rarely pays out. Quite the opposite: I often spending lots of time digging unnecessarily. I'm not complaining, I am who I am and I don't want to change. Digging into internals makes me happier and satisfied. And sometimes it is useful. So Linux kernel internals are on the roadmap and hopefully I'll dig into it some day.
I agree that absolute majority of people I met are not of that kind. And probably they should not. Learning business side of the software is what makes someone really useful. I hate business side, I only love computer side.
I find that my understanding of different layers is usually not needed but is rarely important toy ability to solve thorny issues or figure out ways to do things or debug issues that others are not even trying.
I'm working in areas of systems programming where such knowledge and willingness to go deeper into the stack is helpful, even if rarely so.
I can't say I understand the kernel, I only scratch the surface of most of it and only dug deeper where I really needed to and only as deep as time allowed me and the need required though.
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'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.
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.
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.
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.
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.
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.
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 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.
> 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.)
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.
No. AI learns to predict reasons, and doing so as it predicts the answer improves its accuracy at predicting the answer.
In summary, even though they are called "reasoning" models, they are still based on prediction and pattern matching, not true logical reasoning. The improvement in accuracy is likely due to better leveraging of the model's statistical knowledge, rather than any deeper understanding of the problem's logic. And the reasons you see it output have nothing to do with the actual reasons it used to determine the answer.
In fact, R1.Zero hints that, it might be even better to let the AI follow a chain of thought that doesn't actually make logical sense or is understandable, and that doing so could even further improve its ability to accurately predict solutions to code, math and logic problems.
Yes, that's what OpenAI o1 does, and DeepSeek R1. Also Google Gemini 2.0 Thinking models. It's a way to significantly improve benchmark scores, especially in math.
It's funny to watch too. I played with Gemini 2.0 on Google AI Studio and asked it to "come up with your favorite song as you take a long walk to really think this through".
The reasoning can then be shown, and it talked to itself, saying things like "since I'm an AI, I can't take walks, but with a request like this, the user seems to imply that I should choose something that's introspective and meaningful", and went on with how it picked candidates.
I just tried that prompt with gemini-2.0-flash-thinking-exp-01-21
In the reasoning process it concludes on:
From the brainstormed genres/artists, select a specific song. It's better to be concrete than vague. For this request, "Nuvole Bianche" by Ludovico Einaudi emerges as a strong candidate.
Craft the Explanation and Scenario: Now, build the response around "Nuvole Bianche."
Then in the actual answer it proposes:
"Holocene" by Bon Iver.
I work with a shorebird expert who has been tracking migrations (Latham snipe whose range extends from Russia/Northern Japan to Southern Australia).
I think an early technique of tracking their migration before gps/chip/batteries were small enough was a primitive light sensor + data logger that would log day/night hours on the bird as it flew from island to island and the light data was enough to roughly estimate lattitute (and often enough to infer a location/date.
The data looked great in this form. It wasn't hourglass but with jagged edges and shifts. You could easily see which months the bird stayed in a single place for several days etc. clever stuff.
nice. had no idea about that connnotation :) ... goes with black swan event as a saying that's ill fitting for these parts (in southern Australia all we have are black swans).
"In particular, several women in the community have made allegations of sexual misconduct, including abuse and harassment, which they describe as pervasive and condoned."
There's weird sex stuff, logically, it's a cult.
reply