Coding Is Over
Lauren Mendoza
2.2K20

I think you’re vastly overestimating the number of solved problems there are in programming, and underestimating the scope of work and the depth of the field. It looks like you’ve been doing this less than a year so that’s totally normal (nothing to be ashamed of — everybody goes through this phase).

By way of analogy, physical engineers are still inventing new types of fasteners. We’ve had screws and bolts for around 2,500 years, and nails for far longer than that, but there still isn’t a one-size-fits-all solution to holding two things together using another thing. Nor have all the range of possible requirements for fasteners, and all the environments in which they operate, been enumerated. So humans can’t even nail down screws, pun intended, one of the simplest and most common components of any engineering project, over the course of hundreds of generations. We’ve been programming for roughly 3.

In programming we have a similar problem. Yes, we’ve reinvented the authentication wheel thousands of times, along with every other conceivable part of a software system (sorting algorithms! we’re still making sorting algorithms!). The thing is that a screw is not a screw is not a screw. Requirements change, languages change, environments change, standards improve, and every time things change we have to write new code. Every piece of software is fit to a specific purpose. We don’t reinvent frivolously (at least, not all the time — there is such a thing as “not invented here” syndrome).

Good programmers undertake to solve a problem that seems to have already been solved because, when you get down to the specifics, the problem is subtly different from the problem solved by every other bit of code that superficially does the same thing.

On the topic of drag-and-drop programming, there’s a reason that’s not popular. There are at least a small number of programming systems that do this already, and you’re free to try to make a better one (go ahead, re-solve a problem!). The thing is when it comes down to it they’re clumsy and limited compared to written code. That might change someday, and you might be the one to do it, but it’ll either take some really amazing artificial intelligence or an incredibly complex and robust set of graphical tools for it to be useful as a general purpose programming environment. In the latter case, that’ll mean it’s just as complicated as what we’ve already got.