WARNING: This topic delves into "programmer depression." Stay away if it's hard on you.
For the longest time, programmers have been trying to make their own jobs easier, as well as making it easier to get friends and family into coding. Those of us who code, feel that coding is easy, while those who do not, do not feel it is easy. The overall question we have to ask ourselves is, "How much does making it easy take away from what can be done, nullifying the whole point of making it easy?"
I feel every coder (that is, those who try to deepen their knowledge of their tools, as opposed to skiddies who simply try to modify work to do what they want without bothering to understand how it works) has tried to write wrappers for code they hardly understand, as well as trying to reinvent code they hardly understand. Because it is hard for us, and since we hear how hard coding is, when we finally make a breakthrough, we feel the need to share our libraries, explanations, and so forth, so that these things that were hard for us, but are now so unbearably simple, become simple for others, and they can benefit from our struggle without having to repeat it. But how much easier should we make it?
On the topic of libraries, there are so many out there, and many of these don't inherently have their purpose made without existing familiarity with said library, or, at least, the problem they are meant to help with (and, let's be honest, we coders tend to be as good at describing things to each other as we are to people who don't code). Oftentimes, documentation is so sparse, you often end up having to read the entire bit of code to see how to use it, by which time, you're probably better off having had made it yourself, then you'd've at least learned from the experience and have a larger portfolio.
On the other hand, we get tools where people, instead of making things harder, they've straight up made a GUI just to allow others to make code. While people who are new to coding (or don't code at all) are now able to make the things that you can make, you've only ended up replacing yourself. Not only do your users do what you do without learning anything, but they also tend to be more successful at it (how many people make games and products anymore with their coding knowledge, vs how many people make games and products using Unity, Gamemaker, etc?).
Having learned numerous programming languages falling into disuse, worked with assembly of various architectures which are bound to be replaced, coded countless samples of libraries now deprecated, wrote my OS kernel, coding tutorials, wrote many libraries to get code portable across multiple platforms, even almost finished writing my own assembler/compiler, realizing that everything i've coded and made is worthless to everyone other than myself, i am left with one question to ask, "Why the fuck do we continue to do this to ourselves?"