I can relate to a lot of this. But I think in my case the motivation for reinventing the wheel also comes down to fundamentally not enjoying activities like "reading documentation" or generally "understanding what another person has done". But implementing my own library is usually fun. And I can often justify it to myself (and sometimes others) because it will then match the given use case perfectly and will be exactly as big/complex as needed, rather than being some huge highly general universal solution full of bells and whistles we won't even need. Which can be a real advantage - but it's also just one side of a trade-off, and I tend to weigh that side more highly than others, for probably rather self-serving reasons.
I once heard from a developer friend that he sometimes just reads things like the Docker documentation for fun in his spare time. It gave me great appreciation for how different people can be and how difficult it really is to overcome the typical mind fallacy... :) I never would have thought people can enjoy that. And now I'm interested in somehow finding that same enjoyment in myself, because I think it would make many things much easier if I could overcome that aversion that keeps pushing me in the direction of reinventing all the wheels.
I am extremely sympathetic to this post both because I too become uncomfortable when I don't understand the low level details of things and also because I think it has a strictly better thesis and is much better written to the post I made here. I have long hoped that I would be able to solve enough real problems that I would feel accomplished in perpetuity and then be comfortable coasting and solving fun problems from then on. I don't know if that is a realistic goal because my threshold for real seems pretty high and my brain might just not work in a way that lets me feel good about something I did a long time ago, but that is the only thing I can think of in terms of reprogramming oneself to feel god without working on real work.
There are a lot of things that are (for now) uniquely human that one could reasonably say is sort of "reinventing the wheel" but still provides the person engaging in the activity with a certain amount of justifiable satisfaction and personal development. Handwriting. Woodworking. Building Legos. Tinkering with Arduino.
A long time ago I decided that I wanted to create a PHP web framework from scratch. Plenty of web frameworks existed at the time, but, like you, I wanted to understand deeply how it all worked and came together. I didn't get very far, but I learned a lot in the process.
There are a lot of plausible versions of the future in which tactile human contributions to society have diminished greatly relative to AI and robotics. In those versions of the future, those hobbies and tendencies that would have us reinvent the wheel are more important, not less, lest we cede the path to invention altogether as a species.
I have been known to indulge in reinventing the wheel.
It's something of a capital sin, or at least heavily discouraged, in science and engineering, yet I keep falling for it. Study the classics, to be sure, derive the theorems and the results - in an educational setting. But ultimately, when you have to do work, you need to go ahead, and can't just re-thread the basics every time. Start from existing derived theorems. Read up on what knowledge is already there. Use that library. We don't need one more implementation of a linked list or even a logger, we really don't - just take what is already there and build on it.
I understand full well these principles, yet I do tend to fall back on reinventing the wheel at times. I have tried to train myself to do this as little as possible in contexts where it actually matters - at work, mainly, when money and time are on the line. On my own, I indulge in it a bit more, knowing full well this means that I'm putting time and work I could use to make something that's really useful and makes me stand out more to instead just... redo something someone else already did, but probably worse. I still can't help myself; it's fun. If the opportunity at works presents itself too - if there's a decent reason why just roll out our own version is a viable alternative and not just a completely nonsensical proposition - I am definitely partial to it.
Why is that? If I ask myself and introspect, a number of things. First, I am loathe to use things I don't understand in full. It's kind of an unavoidable curse of working in a mature field that you have to subject yourself to this - you can't spend time understanding everything other than in broad strokes, or a dozen lives wouldn't be enough. I already begrudgingly submit myself to treating hardware as little more than magic - yeah yeah I know, gates, registers, RAM, buses, I still wouldn't know how to design even a single adding circuit so it doesn't really matter, it's all just abstractions on what may as well be little gnomes doing calculations while sitting at microscopic desks. But with things where I do have a reasonable command of the techniques and principles involved, it stings more. I still don't need it, except maybe for the edge case of something going wrong and me needing to figure out what it is, but it makes my work feel more complete, if you know what I mean, if I could recreate any single element of it from scratch, even just in a basic form[1].
Second, it's low hanging fruit. Newer, unsolved problems are generally harder than older, solved ones - not in the sense that I can just look up the solution (though I can), but that generally those problems genuinely were more basic (they were encountered and solved first after all!) and also, even if I don't directly know the solution, everything else I know was probably somewhat informed by it so it's kind of already inside me somewhere, more likely than not. And getting a solution, even if it's just a game you're playing to figure out a little puzzle the world already knows an answer to, is always satisfying.
Third, sometimes I just don't like any of the existing takes on it. This applies to software especially, but there's a part of my brain that feels like it's easier to just use something I made from scratch and am intimately familiar with than to adapt to the quirks and whims of something made by someone else by reading information about the complete product. Maybe not faster, but easier and therefore more pleasant.
This comes of course with costs. I sometimes hold back from reading information beyond the basics because even as I read those I am immediately flooded with ideas and possibilities on how to develop further and those both distract me and make me reluctant to go on (lest I just find the answers already laid out for me in the most boring possible fashion). I also sometimes end up in an infinite regression when trying a project. I want to do X, which requires Y - but I'm not content just plumbing in an existing solution for Y, so I set out to make my own Y, which is at least as much effort as X would have been already. Except now Y requires Z... you get the pattern. I often end this with either only the lowest level thing done, or none at all, as my attention was now defeated by the crushing pile of work in front of it and eventually distracted by something else.
So I have of course learned to manage this flaw of mine. I've learned to keep it under control and swallow my pride to make more objective judgements whenever important work relies on it, and I think I have gotten all right at it, and sometimes I've also learned to bring this into my personal work because it still makes for more satisfying outcomes if I at least can get the thing I wanted done.
Except now something threatens to challenge this balance:
enter AI.
Since the last generation of LLMs especially (GPT 5.1 and its ilk) I've begun feeling like both research and coding abilities are really up to a level where they can get stuff done. This creates a problem for me. Because my anti-reinventing-the-wheel training says "don't spend time redoing something that you can find already done, or can be done easily by other means". And with AI that translates to, well... almost anything. It means my classic infinite regression tends to be replaced by a different infinite regression: keep asking the AI to build, or research, keep diving, and almost never reach the point of actually doing something myself. Even as I know I should and probably could just tackle a problem on my own, for its own sake, paradoxically having overcome a bit my old reinventing the wheel habit now plays against me, as I remain with the nagging feeling of "but why do this when an AI could already do it faster?" for a lot of things. Or that I should at least delegate as much as possible of what I'm doing to it, and only identify the ever-shifting target of "things only I can do" and focus on them.
So what's the point?
I'm not sure. I was mostly ranting and baring my soul out, perhaps. But the main serious take-away I can think of involves the notion of purpose in a fully automated future. It has been often said by those who are more optimist about AI that we don't really need to fear AI taking purpose away from us - just because it's not vital for us to solve a problem any more, doesn't mean we can't still do it for fun. Let AIs speed away on curing cancer or solving the global economy, things that are life or death for people; there's no particular reason why we can't sort of sandbox ourselves and still solve largely solved problems, or make art that would be just as easily churned out by a model, purely for our own enjoyment. In a sense, it's a purer experience, unburdened by expectation, pressure or need; just us and the joy of discovery.
And I don't disagree with that, because in fact that would always have been my first instinct. That's reinventing the wheel. But also, me as a person and perhaps us as a society have sort of trained that playful impulse out of ourselves to a significant degree. We have learned that it's bad and wasteful because there's stuff that needs to be done. And there is - until there isn't. And even in that most optimistic scenario, it will be no little feat to reprogram ourselves, to retrain ourselves and our social and cultural incentives away from this habit and into a state in which we can see reinventing the wheel as just a thing you do, and good for you.
Though to be fair, this doesn't apply to everything either. I've made web apps with React and I've never had a particular desire of understanding how the React loop keeping everything updated works. I feel like I have a good enough sense of how it might at a high level, and the low level just sounds likely to be boring.