Skip to content

Comment on Ask HN: Is “learn to code” now “learn to drive a big rig”?

Comments

Are these two points basically true?

As time goes on, businesses are continuing to rely on more software, not less software.
AI tools are very fascinating, but are nowhere near ready to replace most programmers for most tasks.

If those points are true enough, developers as a group aren't going away, though some individuals might choose a different path.

I know its not equivalent, but a really simple human can learn to drive and self driving cars haven't mastered that. I don't think its the case that a really simple human can learn to code. since that is harder than self driving, and ML still cant self drive, I am not worried yet.

I don't think its the case that a really simple human can learn to code.

People always think this about their own trade. But let me assure you that I am dumb as shit and a pretty decent programmer as well. I've taught programming to beginner adults, who were coming out of prison or the military, and out of hundreds I ran across maybe a handful that truly truly were not ever going to be able to learn it to competence.

The main skill at play from my experience is comfort with the state of not having a clue, and tolerance for frustration. That's an uncomfortable emotional zone for work; people will frequently abandon the pursuit. But that doesn't mean they can't learn it.

It's like playing a violin or something: you could, anyone could if they put the hundreds of hours in. Who does put those hours in may be a self-selecting group, but it doesn't mean there's anything inherent in the skill itself that limits who can learn it.

Didn't you answer yourself? Having a high tolerance for frustration.

That's surprisingly rare from my personal experience.

Also, I don't tolerate frustration on a personal level as much as I would like but I'm really good at tolerating computers. Weird.

Yup. This.

Programming is not special knowledge or technique wise. It’s having a super high tolerance to frustration and somewhat lesser to being comfortable not knowing a solution.

You're right that having the capacity to program isn't about having special knowledge, but it's not about tolerance to frustration. It's about the ability to think in abstract terms and being able to mentally process an abstract mental model consistently.

Even a person with far below average intelligence can do many things in physical space with enough training. They can be shown how to set a table for a fancy banquet, can physically understand what a knife/fork/spoon/plate/napkin/cup are, their relationship in physical space, and eventually learn to set a table as instructed with enough training and practice.

But there's no amount of training that works to help a dumb person understand abstract problems in programming. Things like understanding a variable represents something, you have many variables to keep track of that all represent different things, and working through the logic of even a simple function in a program that changes those variables are beyond dumb people. I wish this wasn't the case, but it's reality.

giraffe_lady is being too humble if she's a decent coder and genuinely thinks she's dumb. There is no such thing as a dumb coder: it's a complete contradiction. In reality, I'd bet that almost everybody on HN who seriously uses this site to discuss ideas is at least in the top 15% of IQ for their population group.

The frustration part is about how different (than a person) computers make you think and how unforgiving computers are to even the smallest errors.

More and more software does not necessarily require more and more developers to write it.

More and more software does not necessarily require more and more developers to write it.

It has so far. We might have expected the massive gains in developer productivity over the last 70 years to have resulted in the demand for new developers slowing down at some point, but it hasn't. In a very typical way, more supply just gets eaten up by more demand - if at any point we can afford to have fewer developers, we'll just end up writing even more software with the excess capacity.

It's hard to imagine a point of diminishing returns on software, since it's so useful in basically every walk of life.

It has so far. We might have expected the massive gains in developer productivity over the last 70 years to have resulted in the demand for new developers slowing down at some point, but it hasn't.

Recently there has been an explosive transformation from software as a user and productivity focused industry into an adtech one, which has increased demand temporarily.

In a very typical way, more supply just gets eaten up by more demand

Sure, but increasing supply also means decreasing price by that same model. Decreasing price means less money for developers, meaning less people are incentivized to become developers, leading to equilibrium. Of course, that's a very simplistic model.

There's plenty of low code / no code solutions right now and somehow programmers are still trucking along (pun intended).

Not to mention someone has to code the no code tool, alongside all the plugins, scripts and glue code that at some point will be required.

No code is just "code with a fancy UI, a less powerful language and no or bad integration with common tooling".

It doesn't replace programming, it _is_ programming. It's useful because it makes programming more accessible and in some cases the visual representation has benefits over text.

I see more and more professional fields and application interfaces adopting things like SQL, Python, Notebooks (Jupyter etc.), JavaScript etc. Excel is obviously huge. A ton of technicians that work with physical stuff are also writing code in embedded interfaces or on large screens even. Programming is not a thing only software developers do.

Software developers are often more like solutions specialists who's tool is software, you would need the same skillsets to solve business problems with lowcode, but code is at this point still the tool of choice for those teams of solutions specialists.

Think of it this way, even if it were possible to run an enterprise through lowcode tools, an enterprise would still hire an agency or consulting firm to build it, and so the decision of what tools to use still goes to the specialists.

Even with low code tools the percentage of people who will develop the tool will be low compared to the number of users.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.