Radical notion: Some people should learn to code. Some shouldn't. Not everyone should be a programmer. Some people need to program even though they are bad programmers (e.g.: a business guy stringing together off the shelf services with a little bit of glue code to make an MVP to attract an engineer cofounder.)
If you have the internal drive to be a programmer- great, be one. If the idea repulses you, then do something else.
I don't really think there is all that much peer pressure for everyone to be a programmer.
In the past, however, there was. Back In The Day, "computer literacy" meant programming because computers often came with little more than a basic interpreter out of the box. This is no longer the case.
I think all these tools that let "non-programmers" learn to code are great-- because there's a lot of "non-programmers" who could benefit from it. For instance, ops people aren't necessarily "programmers" but they can use scripts to automate tasks that would be mundane and repetitive otherwise.
If an assistant wants to learn a macro language so that they can better operate spreadsheets-- wonderful.
I worked thru one of the online programming classes with a non-programming co-founder and I think she found it pretty valuable. She's not writing code now, but her understanding of what's going on with the product is much better.
I think its silly to pretend like everyone has the same level of programming skill (which was a hard lesson for me to learn, because it always seemed so easy for me, and I figured t would be for other people.) But its also silly to poo-poo on "non-programmers" wanting to learn some programming.
These tools are great. And this drama seems, well, also silly.
I'm a programmer. I would think any article saying "Everyone should learn marketing!" is silly, but I'd also think that "nobody should learn marketing except marketers" is also silly. I spend a lot of time thinking about marketing and learning everything I can-- because its something we need.
I think we should incorporate programming into mathematic classes starting with the earliest grade possible.
The way people are taught mathematics is mostly useless. It's a bunch of equation and calculation that people are doing by hand. Nobody is trying to identify problems, break them down, make hypothesis, and so on. With programming, we could take the usefulness of mathematics to a whole new level by breaking the bottleneck of calculation.
In the end, we may be able to produce even more mathematicians, engineers, and scientists at an earlier age, because they learn the skillset needed to be in those profession.
The way people are taught mathematics is mostly useless. It's a bunch of equation and calculation that people are doing by hand. Nobody is trying to identify problems, break them down, make hypothesis, and so on.
I recall some episodes of five minutes wasted by research mathematicians because they were unable to quickly multiply some 2x2 matrices in their heads.
Being able to perform the low-level skills like arithmetic very rapidly in your head helps tremendously when it comes to narrowing down hypotheses. You can often reject a hypothesis quickly if you are fast enough at doing some computations in your head.
So yes, more teaching of how to identify problems and break them down is a good idea. But you also need to be rock-solid in those elementary but fundamental skills, and you don't get there without a lot of practice.
I don't think that it should necessarily be the case. Part of the reason why mathematics & sciences are taught by hand is to demonstrate the process and confront the complexity at hand. "Nobody is trying to identify problems, break them down, make hypothesis, and so on." This is not necessarily true. Sure, after you are first shown the problem you then trudge through multiple calculations and variations of the problem, but the purpose of this isn't to grind it out and memorize it, but to reinforce the process and underlying parts to solving the problem.
There's kind of a reason why at some point we teach certain elements of programming by hand too.
Maybe I'm reducing your question but I think it's important to note the intrinsic value of teaching by hand vs. always incorporating automation by programming.
Part of the reason why mathematics & sciences are taught by hand is to demonstrate the process and confront the complexity at hand.
So what? Programmers deal with lot of complexity all the time.
This is not necessarily true. Sure, after you are first shown the problem you then trudge through multiple calculations and variations of the problem, but the purpose of this isn't to grind it out and memorize it, but to reinforce the process and underlying parts to solving the problem.
All you have to do is recognize the problem and apply the calculation to derive an answer. The calculation will also be particularly tedious. Does that sounds like "reinforcing the process" to you? It's all busywork that can be done by machines.
There's kind of a reason why at some point we teach certain elements of programming by hand too.
I was never taught that way, or rather, I taught myself. I learn a few basic concepts and apply it to projects. I also learn how to use tools like debuggers that help make me figure out things a lot easier.
Maybe I'm reducing your question but I think it's important to note the intrinsic value of teaching by hand vs. always incorporating automation by programming.
There's a big difference between teaching some mathematical concept by hand and forcing students to calculate by hand everytime they confront a problem. They should be able to program a solution to the problem and then move on to the next problem.
Important point here: You are not representative. If you are on Hacker News, you have probably been called brilliant at least once. You are almost certainly, given that you don't seem to be a non technical co-founder in a startup, in the top 5% of the population for mathematical/logical(not necessarily arithmetic) abilities. Just because you find the calculations tedious does not mean that most people don't benefit from them. From what I recall, most people forget a concept that they are exposed to once and only once.
Important point here: You are not representative. If you are on Hacker News, you have probably been called brilliant at least once. You are almost certainly, given that you don't seem to be a non technical co-founder in a startup, in the top 5% of the population for mathematical/logical(not necessarily arithmetic) abilities.
That's because I learn to program. If people learn to program, they'll be more "mathematical/logical" too. I am "brilliant" through hard work and curiosity, not because I have high IQ.
Just because you find the calculations tedious does not mean that most people don't benefit from them.
I meant we humans suck at calculation. We are not like computers that can follow steps perfectly. Even when we know the steps, we often get the answer wrong due to our mistakes in following the steps.
From what I recall, most people forget a concept that they are exposed to once and only once.
What make you think it doesn't apply to me or to the rest of people on hacker news?
I dont think you can change the notion of programming enough to make people who dont like the idea of programming like it. Programming is giving instructions to a machine in a language you can both understand which just seems scary more than anything else to some people. Sure you can make it simpler or cleaner, reduce the steps to get started but in essence your interacting with the computer in a way to goes far beyond normal user interaction and some people are not confortable enough with this to even get started let alone "change the world".
If you have the internal drive to be a programmer- great, be one. If the idea repulses you, then do something else.
I don't really think there is all that much peer pressure for everyone to be a programmer.
In the past, however, there was. Back In The Day, "computer literacy" meant programming because computers often came with little more than a basic interpreter out of the box. This is no longer the case.
I think all these tools that let "non-programmers" learn to code are great-- because there's a lot of "non-programmers" who could benefit from it. For instance, ops people aren't necessarily "programmers" but they can use scripts to automate tasks that would be mundane and repetitive otherwise.
If an assistant wants to learn a macro language so that they can better operate spreadsheets-- wonderful.
I worked thru one of the online programming classes with a non-programming co-founder and I think she found it pretty valuable. She's not writing code now, but her understanding of what's going on with the product is much better.
I think its silly to pretend like everyone has the same level of programming skill (which was a hard lesson for me to learn, because it always seemed so easy for me, and I figured t would be for other people.) But its also silly to poo-poo on "non-programmers" wanting to learn some programming.
These tools are great. And this drama seems, well, also silly.
I'm a programmer. I would think any article saying "Everyone should learn marketing!" is silly, but I'd also think that "nobody should learn marketing except marketers" is also silly. I spend a lot of time thinking about marketing and learning everything I can-- because its something we need.