There’s no way in hell everyone can learn how to code. Even if most people had the intellectual capability to code (which they don’t), most don’t have the patience and persistence required to follow through to the end.
There’s no way in hell everyone can learn how to code. Even if most people had the intellectual capability to code (which they don’t), most don’t have the patience and persistence required to follow through to the end.
For many years I told tried coding and told myself that I couldn't do it when it got to hard. But the honest answer is that I simply didn't want to put in the work.
Later in life that changed, and I started seriously working at learning to code around age 35 because I was having fun. I decided to go for it professionally at age 38, and got my first coding gig at age 40.
My mother, at her peak, would have never learned how to code even if you held a gun to her head.
There’s lots of things in life I don’t care to learn, but it doesn’t mean I couldn’t. To be perfectly frank, programming is one of the easier things in life I’ve learned, and it’s usually only difficult for the wrong reasons like poor documentation, bugs in other people’s code, people, etc.
What changes once babies grow into toddlers is that they develop the capacity to learn new behaviours, not just through the trial and error of stimulus/response, but through instructions given by language. That's where mothers and fathers excel. The quality of their instructions can be measured by the agility and resilience of the behaviour these instructions impart.
Done well, parenting is not just coding - it's software engineering.
Guess they were wrong when they said people from dying industries should learn some programming: we were coders all along!
It's true, the vast majority of people will never code a "production application".
BUT, many folks code everyday in the form of excel macros, R, Mathematica, Matlab or Julia notebooks. Many people create programs and scripts in all kinds of tools to get stuff done. IT'S ALL STILL PROGRAMMING, it's just not what folks here would consider a traditional "production application". The people who do this are domain practitioners who use computing to do things, but don't have a need to spend a million dollars to hire a team of "real programmers" and their entourage of PMP's, sales, support, and customer success agents to do it for them.
As far as folks "not being able to code" that's all a matter of inclination and background. There's nothing special about software development. Lot's of people can do successfully at various levels. Some are more DIY than others, but I think you would be surprised at what some people's grandma's can do with the right motivation and background.
There's also "nothing special" about writing. Somehow, though, we don't see millions of Hemingways pop up each year.
Writing code is a form of art. There is a science behind it, but the same is true for many other art forms. It's true that everybody can be an artist. Not everybody can be a good artist, though. It's equally true for writers, painters, and coders.
The parent comment was suggesting that very few people can code-- and by "code" they meant "production applications".
I am trying to say that lot's of people can code, well enough to solve their domain problems, well enough to put food on their tables, well enough to not need "real programmers" in increasing numbers of scenarios. Just because they're not doing internet scale application development or cutting edge mission critical projects doesn't mean they "can't code".
There's a long and continuous spectrum between Hemingway-like programmers to bored-out-of-their-skulls enterprise developers to lunch-time dilettantes who are running a far more of their business than they should on brittle excel pivot tables and VBA macros.
I can learn to surf without being a professional surfer. So why can't I learn to code without wanting to make a career out of it?
PS I am the original blog author
Take VBA + Excel, for example. I've seen many non-programmers (by education or trade) pick it up to solve real problems within their offices. It's certainly not my tool of choice, but the level they pick it up to is basically the arithmetic/low-algebra level. They aren't making software for a living, but they are making software to support their living (that is, they're engineers or accountants or administrators who make something that solves a problem, but not software engineers/programmers in general). Their understanding is at the arithmetic/low-algebra level in that they can do it, but don't necessarily understand (fully) what they're doing (they know what variables are, and use them correctly, but maybe don't understand or even know about scoping rules).
The next level involves actually learning scoping rules and how to apply them. How to create new classes/modules and not just by rote imitation. How to "factor" your program into collections of procedures on data structures. This is the algebra level, this is the point where people can start actually becoming professional programmers (more reliably, you can become a professional at the previous level but you'll be constrained in what you can make by what you can understand).
Well, money will make people interested, for better or for worse (for worse, I think).
Persistence in the face of frustrations along with an actual enjoyment of creating things with code is what got me through.
Programming seems like it would be a dreadful job for someone who didn't get some satisfaction out of typing code and then watching as your code does stuff. Definitely not for everyone.
In my case, I didn't start out wanting to learn programming. I wanted to create a web site for a business idea I had. To do that, I started learning javascript and python. Pretty soon I realized that I was much more interested in learning more about programming and web development than I was about my business idea and that I'd rather get paid by someone else with a business idea to write some code.
I want to say that this is essentially what "the knack" is for a lot of engineering/programming types. It's the willingness to beat your head against a wall dealing with something unfamiliar until it works and you understand it a little more. Some people can't stand it - for others the dopamine hit of finally figuring it out makes all the frustration worthwhile.
I think you meant 'endorphins'...
Great that you're getting that positive feeling but many people just don't. Just like with the infamous 'runner's high', which I never get. I feel shitty before, during and after running and exercise.
Also, congrats on your journey and sticking with it :)
I have to really disagree with this statement. I agree that not everyone can write the next Google search engine, or even the next personal website. But you don't have to do to learn how to code.
My coding skills are pretty crappy after stepping away from it some years back, but I would still consider myself to be able to code something up. Even a small VBA script to help with Excel automation should be considered coding.
Few people will dedicate themselves to this discomfort on a daily basis.
Writing code makes the brain hurt. It's perpetually frustrating. We're in a bubble here, but outside of this bubble, people generally do everything they can to avoid mental effort.