Every engineer who has been at this a while has an old Stack Overflow profile sitting somewhere. A reputation number. A wall of badges. A column of answers written for a framework version nobody targets anymore.
Mine has 288 answers on it. 12,228 reputation. 99 of them were accepted.
I went looking for the date of the last one recently. I was not being sentimental about it. I wanted the number for something else and assumed it would take ten seconds.
It did. July 4, 2024. What took longer was working out why I could not remember stopping.
A senior told me to go answer questions
That is the whole origin. Early in my career, someone above me suggested I start answering on Stack Overflow. I made the account on August 24, 2018 and posted my first answer the same day.
I was not thinking about reputation. I was thinking about the small, specific hit of a stranger coming back to say the fix worked. Somebody I would never meet, who owed me nothing, confirming the thing I wrote was correct.
To get that, you have to read stack traces. Hundreds of them. Somebody pastes forty lines of Android crash log with no context and no explanation, and you have to find the one line that matters and reason backward from it to a cause you cannot see.
Most of what I read never became an answer. You open the question, work through the trace, find that somebody solved it better two years earlier, and close the tab. The 288 are what was left over.
I got good at that. Not through a course. Through volume.
I did not know that was the point.
Then I got put on a real product, and the habit came with me. Read the trace, find the cause, do not stop at the symptom. A module, then a team, then the title.
Every step up was built on the same layer. I built that layer answering questions for free on a website.
The two curves do not line up
The Stack Exchange API will tell you how many answers I posted each year. It will also tell you how many questions the whole site took.
| Year | My answers | Stack Overflow questions |
|---|---|---|
| 2018 | 150 | 1,875,950 |
| 2019 | 92 | 1,755,795 |
| 2020 | 30 | 1,855,150 |
| 2021 | 11 | 1,534,387 |
| 2022 | 3 | 1,335,968 |
| 2023 | 1 | 787,986 |
| 2024 | 1 | 398,519 |
| 2025 | 0 | 110,477 |
| 2026 (through July) | 0 | 18,306 |
The two columns fall at different times. In 2021 the platform was still taking a million and a half questions. I was down to eleven answers.
I had assumed my story was the same as everyone else's. It is not. My collapse finished before the platform's began.
ChatGPT launched in November 2022. By then I was posting three answers a year, down from a hundred and fifty. Nothing was taken from me. I got busy with work that mattered more, the reps stopped, and I never noticed it happening.
Stack Overflow was made automatable long before it was automated
The obvious paragraph writes itself. AI arrived, developers stopped asking, the site died.
The data does not support that cleanly, and I would rather get this right than get it punchy.
The bend starts earlier. The Pragmatic Engineer traced the turning point to 2014, the year the site got serious about closing questions faster. Duplicates, guideline violations, anything judged low quality. The stated goal was protecting signal-to-noise. A 2022 study of new-user posts found that in a sample of 968, roughly half hit at least one of closure, no answer at all, or a downvote with no explanation attached.
So for eight years, the platform systematically removed everything that was not the answer itself. No conversation. No fumbling toward the question. No relationship with the person asking, and no cost to the person answering.
That is a machine's job description.
Then a machine turned up that could do it instantly and would never close your question as a duplicate. By December 2025 the site was taking under four thousand questions a month, against a peak of more than two hundred thousand.
I do not think AI killed Stack Overflow. I think Stack Overflow spent those years turning itself into the exact shape of a thing that could be automated, and then it was.
The archive still pays
My most-read answer is about wiring view models to RecyclerView items. April 2020. Just under forty thousand views.
Nobody writes Android that way now.
That answer, and 287 others, are still sitting there being read. The reputation is still on the profile. It still reads well on a resume. It still gets counted as evidence of something.
The whole profile earned ten points in the last twelve months.
One upvote. That is what the credential produced in a year.
The archive is fine. What stopped is the contribution, and the two are easy to confuse when the number on the profile only ever goes up.
I had been reading that number as proof I know how engineers get built.
I am the senior now
I am the one who is supposed to point somebody at the thing that will make them. That is what happened to me. A senior said go answer questions, and the questions built the layer everything else sits on.
I do not have that to hand anybody. And here is the worse version: I would probably not hand it over even if I did.
A while back I had a piece of work that was close to the ideal growth ticket. Notification logic scattered across call sites in a mobile app, no scheduler, no ordering, conditions stacked on conditions until they started colliding. Bounded. Gnarly enough to teach something real. Contained enough to be safe.
Two years ago I would have given it to somebody at year two.
I gave it to an agent and wrote nine articles about the workflow instead.
The agent does not make the mistakes that made me.
That is not a complaint, and it is not a claim that the agent is careful. It makes plenty of mistakes. I spent nine articles on the fact that it drifts, forgets, and needs a chain of checks around it before anything it produces can be trusted.
But they are not the same mistakes. It does not misread a trace because it has never read one badly enough to learn. It does not need three rounds of review to understand why the ordering matters. It arrives already past the part that taught me.
On any single ticket, routing it that way is the correct call, and it is correct every time.
I went back to find the moment I decided this. There is not one.
A ladder does not get pulled up. It stops getting built, one correct decision at a time.
I do not have the replacement
This is the part where I am supposed to have advice. I do not.
Here is what I am sure of. Volume built the thing I run on. Hundreds of traces, low stakes, strangers correcting me in public who owed me nothing and were not being kind about it. That is gone, and I watched my own part of it end in 2021 without noticing.
Here is what I am not sure of. Whether that layer was ever necessary, or whether I am attached to it because it happens to be mine.
Probably some of both.
Maybe the ones coming up are building the same thing somewhere I am not looking. Maybe reading a stack trace stops mattering, the way memorising API signatures stopped mattering.
What I do know is that I am not going to route that ticket to a junior next quarter to prove a point. That would be theatre, and it would be bad for the ticket.
So I am left with a question, and I would like a real answer from anybody further along than me. If the reps that made you are gone, and every individual decision to skip them is correct, what are you supposed to do about it.
The profile is here. Every number in the table came from the public API. Check my work.
Top comments (0)